Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gitter feature parity overview issue #26

Open
44 of 48 tasks
MadLittleMods opened this issue Nov 10, 2020 · 64 comments
Open
44 of 48 tasks

Gitter feature parity overview issue #26

MadLittleMods opened this issue Nov 10, 2020 · 64 comments
Labels

Comments

@MadLittleMods
Copy link

MadLittleMods commented Nov 10, 2020

In the long-run we want Element to take-over for Gitter because we don't want to support both platforms. In order to have Element be a suitable successor, we want to make sure all of the feature functionality people are used to on Gitter is available in Element. If you want to read more context behind this, the Matrix blog post has great detail. All of the Gitter content will be available on the gitter.im Matrix homeserver to live on.

Feel free to edit this list with more features, details, and links(MSC's, etc) as you think of them. We can split this out individual issues once this list has a few more iterations.

Gitter features needed in Element

Extras

Sunset

After Gitter shuts down, we want the experience of accessing your same Gitter content on Matrix just as seamless.

Previous after Gitter sunset idea: push people to their own homeserver
  • Sign in with GitLab, GitHub, Twitter -> automatically bootstrap their matrix.org account and be signed in
    • This way, we don’t have to pay for beefing up the gitter.im homeserver with people trying to join big rooms
    • We want the experience to be easy for user with no knowledge of Matrix. They should just need to sign in with GitLab/GitHub like they did with Gitter and we will handle the Matrix user creation and plop them in. This will also add admin permissions for people in the rooms they were admins in.
    • People may sign in and get the automatic Matrix.org account created but want to access their rooms from another Matrix account. We should also have a migration utility to be able /migrate_room_membership_to @xxx and have it invite their other user to the same rooms.
    • Instead of pushing everyone to matrix.org, maybe suggest EMS for your own homeserver or maybe P2P if that's mature in time. The one problem with this flow is it would probably be super cumbersome and clumsy for someone not familiar with Matrix, e.g. "Why do I have to create a server if I just want to sign into Gitter?"

Master migration rollout plan

  1. Import all messages from Gitter -> Matrix, https://gitlab.com/gitterHQ/webapp/-/issues/2609
  2. Sync membership in all live Matrix rooms, https://gitlab.com/gitterHQ/webapp/-/issues/2857
  3. Sync membership in all historical Matrix rooms, https://gitlab.com/gitterHQ/webapp/-/issues/2857
  4. Sync admin permissions to all live and historical Matrix rooms
  5. Pre-announcement cutover blog post, https://docs.google.com/document/d/1WNuQ3s8dNn7uxdkG515Hnl07RhnCrXC7jmUP1r6czJA/edit#
    -> https://blog.gitter.im/2023/01/16/gitter-is-going-fully-native-matrix-in-feb-2023/
  6. Link pre-announcement from announcement section of the left-menu
  7. Ensure live room points back to historical room via MSC3946,
  8. Inject social provider information into Synapse, https://github.com/vector-im/sre-internal/issues/1754
  9. Setup app.gitter.im with the Gitter branded Element instance, https://github.com/matrix-org/matrix-hosted/issues/6824
  10. Setup /.well-known/matrix/client so people can enter gitter.im on the Element sign-in page
  11. Update Matrix appservice registration to not have exclusive control over the users (make sure updated on EMS), https://github.com/matrix-org/matrix-hosted/issues/6979
  12. Remove custom Synapse patches used to optimize during the import process, https://github.com/matrix-org/matrix-hosted/issues/7144
  13. Deploy latest Element which includes some updates for Gitter, https://github.com/matrix-org/matrix-hosted/issues/7148
  14. Allow anonymous preview of rooms on app.gitter.im, https://github.com/matrix-org/matrix-hosted/issues/7150
  15. Enable social login on app.gitter.im
  16. Blog post explaining the Gitter -> Element/Matrix transition, https://docs.google.com/document/d/1s05BHAz-EFKktfBZ3BD2j5ojR2xIwDR13t_6XiNdI_M/edit#
    1. FAQ document we can link wherever
    2. -> https://blog.gitter.im/2023/02/13/gitter-has-fully-migrated-to-matrix/

--- Cutover on 2023-02-13 ---

  1. Update Gitter homepage to direct people to app.gitter.im so all new people go in via Matrix
  2. Disallow sign-in to Gitter itself. Update sign-in page to point to app.gitter.im to better direct Gitter desktop users to the right place
  3. Also need to stop people generating tokens from their already created OAuth apps. Probably cut-off token exchange endpoint.
  4. Disallow sign-in on https://developer.gitter.im/ to stop people from generating new tokens
  5. Again -> Inject social provider information into Synapse, https://github.com/vector-im/sre-internal/issues/1754
    • Resume dump from gitterUserId=63bc7a736da0373984af769a (small amount of overlap from our last dump)
    • Resume dump from gitterUserId=63e9a3486da0373984be49f7
  6. Invalidate all Gitter access tokens so people get a 401 and are redirected back to the home page. People will then stumble back in via app.gitter.im
    • This will result in a confusing hard cut-off for the Gitter iOS and Android apps which have been deprecated since 2020-11-20
    • When we invalidate all tokens, this will also break people's scripts/bots. Might just have to rip off the band-aid on this one.
  7. Setup redirects from old Gitter URL scheme to Element/Matrix location, https://github.com/vector-im/sre-internal/issues/1755, https://gitlab.com/gitterHQ/gitter.im/-/issues/9
  8. Stop Gitter unread emails from going out, https://gitlab.com/gitterHQ/gitter-infrastructure/-/issues/261
  9. Shutdown the IRC bridge, https://gitlab.com/gitterHQ/gitter-infrastructure/-/issues/262
  10. Remove Android and iOS apps from the app stores, https://github.com/vector-im/sre-internal/issues/1854
  11. Stop all public traffic to AWS Gitter infra
    • Be mindful that people still need to access the Gitter homepage in case we're still serving that from the Gitter infra

--- Cleanup ---

  1. Archive Gitter Mongo data, https://github.com/vector-im/sre-internal/issues/1929
  2. Shutdown AWS Gitter infra
  3. Cancel and stop paying for associated services, https://github.com/vector-im/sre-internal/issues/1927
  4. Archive projects, https://gitlab.com/gitterHQ
@MadLittleMods MadLittleMods changed the title Gitter feature parity overview issue WIP: Gitter feature parity overview issue Nov 10, 2020
@MadLittleMods MadLittleMods changed the title WIP: Gitter feature parity overview issue Gitter feature parity overview issue Nov 16, 2020
@NickHu
Copy link

NickHu commented Sep 9, 2021

I think it's a bit misleading to mark the Maths feature as done. For web it works, but I need help finishing element-hq/element-android#2133, and as far as I'm aware nobody has started implementing it on iOS. My PR has stalled for over a year now, and I'm quite sure that it doesn't need much developer time to merge.

@marclaporte
Copy link

It's happening!

"So, after over 2 years, we’re pressing the button at last: we’re migrating all the existing content in the original centralised Gitter platform over into Gitter’s Matrix server, and we’re planning to replace the old Gitter app with a Gitter-customised version of Element during the week of Feb. 6th 2023."

https://blog.gitter.im/2023/01/16/gitter-is-going-fully-native-matrix-in-feb-2023/

@csarven
Copy link

csarven commented Jan 19, 2023

Setup redirects to rewrite the old Gitter URL to Matrix room alias, https://github.com/vector-im/sre-internal/issues/1755

That URL is 404 for the public or at least I'm not authorized to read. Can the comment be updated to refer to the issue/PR addressing redirect or some information about its status?

@MadLittleMods
Copy link
Author

@csarven The links are up-to-date but those are internal repositories that you won't have access to.

@melvincarvalho
Copy link

The sunset period is FAR too short. Please consider extending it.

@timbl
Copy link

timbl commented Feb 5, 2023

So now I have the Element app on Mac, ... I see one room is in bridged from Gitter, but I don't see any other Gitter rooms. How to I open an arbitrary Gitter room in Element? How from Element can I see what Gitter rooms exist?

@timbl
Copy link

timbl commented Feb 5, 2023

Any recommendations for (command line) matrix api help?

@leonardehrenfried
Copy link

leonardehrenfried commented Feb 5, 2023

@timbl You need to search the public room directory and select gitter.im as the target for the search.

Screenshot 2023-02-05 at 19 43 30

@leonardehrenfried
Copy link

BTW, all public rooms are bridged.

@timbl
Copy link

timbl commented Feb 5, 2023

image

Searching Public Rooms for 'gitter' does not seem to give me gitter rooms .. and searching for "solidos" doesn't give me our solidos room

@timbl
Copy link

timbl commented Feb 5, 2023

sorry that was 'gitter' not 'gitter.im'

@leonardehrenfried
Copy link

You need to select "gitter.im" from the drop-down below the search box. In your screenshot it says "Matrix rooms (matrix.org)" in mine the drop down is opened.

@melvincarvalho
Copy link

@leonardehrenfried thanks for the info. Trying this. It just says "joining". Is it too early?

image

@leonardehrenfried
Copy link

Don't really know. I was able to join the room with my matrix user successful. Maybe retry?

@melvincarvalho
Copy link

Retrying worked, thank you!

@timbl
Copy link

timbl commented Feb 5, 2023

@leonardehrenfried It looks as though the gitter rooms like solid/solidos may all have been bridged to things like https://matrix.to/#/#solid_solidos:gitter.im -- is that right?

@leonardehrenfried
Copy link

Yes that's to be expected. Seems that room addresses can't contain slashes.

@leonardehrenfried
Copy link

The room address is #solid_solidos:gitter.im.

Are you aware that starting tomorrow the gitter backend will be converted to use the matrix protocol only?

@MadLittleMods
Copy link
Author

Are you aware that starting tomorrow the gitter backend will be converted to use the matrix protocol only?

The migration date has moved to 2023-02-13 (next Monday). On this day, you will get access to sign-in to the gitter.im homeserver and will have access to the public and private rooms that you were previously using on Gitter directly (membership and admin permissions).

Public rooms are already available to join if that's all you need (this has been a thing for a couple years now)

@MadLittleMods
Copy link
Author

@brianjmurrell While I agree that the Gitter IRC bridge was great and convenient, it's not core to Gitter (it's core to you). Bridging and interacting from IRC is still possible but you will have to take up the mantle.

@almereyda
Copy link

I see that

  • GitLab/GitHub based permissions for a room

is striked out. I'm seeing runtime issues from the migration, where the account is unable to create or join certain rooms, which belong to GitHub organisations from it. Is there a feedback issue, some Gitter community (Discourse) or a personal channel where this could be discussed?

@melvincarvalho
Copy link

There are a lot of project histories stored in via bookmarked messages with the ?at query string.

Could they somehow be stored on gitter so that in future they can be easily spidered, and reused by automated agents? This has allowed things to get spidered, searchable, bookmarkable. Right now they seem broken links.

It important because for many projects this can act as a knowledge base, act as an automated FAQ, record contributes etc.

Perhaps gitter could make the history as it was before, but read only. With new messages going to matrix?

@MadLittleMods
Copy link
Author

I'm seeing runtime issues from the migration, where the account is unable to create or join certain rooms, which belong to GitHub organisations from it. Is there a feedback issue, some Gitter community (Discourse) or a personal channel where this could be discussed?

@almereyda See the "What's changing?" section of the blog post. Best to discuss in https://matrix.to/#/#gitter_gitter:gitter.im

@MadLittleMods
Copy link
Author

Could they somehow be stored on gitter so that in future they can be easily spidered, and reused by automated agents? This has allowed things to get spidered, searchable, bookmarkable. Right now they seem broken links.

@melvincarvalho There won't be redirects from the old Gitter chat message ID to the new Matrix event ID. But you can have the same setup as before by linking to a specific message (Share -> Copy the matrix.to link). This experience will also be better when the Matrix Public Archive comes to fruition:

[...] “Public static archive (indexed by search engines)” solution. We’re addressing this with the Matrix Public Archive but it isn’t quite ready yet to have a canonical instance for everyone to use yet. This piece will be an eager follow-up to today’s migration though.

-- https://blog.gitter.im/2023/02/13/gitter-has-fully-migrated-to-matrix/

@GalaxySnail
Copy link

There won't be redirects from the old Gitter chat message ID to the new Matrix event ID.

If I understand correctly, does it means that all old Gitter message links such as https://gitter.im/$namespace/$room?at=$message_id are now dead links and inaccessible forever?

@MadLittleMods
Copy link
Author

MadLittleMods commented Mar 13, 2023

If I understand correctly, does it means that all old Gitter message links such as https://gitter.im/$namespace/$room?at=$message_id are now dead links and inaccessible forever?

Initially while responding, I thought this was the case since doing it strictly would require a database and lookup service available forever which isn't ideal. But thinking more what's possible, I think we could extract the timestamp from the Gitter message ID and use jump to date in Element to get you to the right place.

This is now tracked by https://gitlab.com/gitterHQ/gitter.im/-/issues/9

@waldyrious
Copy link

That's great to hear :) and perhaps veering a bit off topic, the fact that this is now possible sounds like a great point in favor of transparent identifiers (for rooms, people, etc.) rather than —or in addition to— hash-like IDs.

@calculuschild
Copy link

calculuschild commented Mar 14, 2023

GitLab/GitHub activity as a first-class citizen in a room’s side-panel

Any update on this? That should be the absolute top priority feature to restore, since it was the main distinguishing reason to use Gitter in the first place. I'm surprised there seems to be no motion at all there.

@marclaporte
Copy link

@calculuschild The quantity of work for such a migration is huge. What we need are more contributors. Can you help?

@hiiamboris
Copy link

all old Gitter message links such as https://gitter.im/$namespace/$room?at=$message_id are now dead links and inaccessible forever?

ability to embed illustrations into text via ![alt-text](image-url) markdown code - not supported in any matrix client

These two are closely related as well. People have collections of chat bookmarks, which are now all dead (temporarily). But once they start working, people will find out that all embedded illustrations are invisible now (since none of the clients shows them) making a lot of bookmarks useless. Gitter simply mirrored all images to its own server to avoid revealing IPs, so each message has both original and gitter-based link. But as far as I can tell during all the years of Matrix development no one even designed how this feature will work in it. And apparently your management saw it as a bright idea to shut down working infrastructure first and then spend a few more years to figure out how to put kludges into Matrix to make it work again. My applause.

@leonardehrenfried
Copy link

I think you're overestimating the number of managers that work at Matrix.

Have you considered that what is a very important feature to you might not quite be quite so important for others?

Gitter have prioritised moving over to Matrix over porting every feature that it once had. I personally feel that that was the right way forward considering the (presumably) limited resources.

@marclaporte
Copy link

@hiiamboris The quantity of work for such a migration is huge. What we need are more contributors. Can you help?

@hiiamboris
Copy link

@marclaporte Sorry :) I'm not a web dev, and I consider the whole web stack a stroke of madness.

Anyway I in general appreciate the work you're doing, truly, but I also find the whole Gitter migration a ridiculous mess, and I haven't seen a single Gitter user who didn't curse it. It's easy to talk about "quantity of work for such a migration", but how many people were using Gitter? Hundreds of thousands? Can you possibly imagine the total amount of work disruption this migration has caused to them? It's a few orders of magnitude more than it would require to avoid it. And what about social aspect of it? Do you want Matrix to be universally seen as the ultimate evil where nothing ever works? Because that's how all the pissed off people are now seeing it.

@marclaporte
Copy link

@hiiamboris

It's easy to talk about "quantity of work...

It's also easy to complain.

I'm not a web dev

There are many ways to help, even without coding. You just need to decide to be part of the solution and act.

I am not a Gitter dev. I am not affiliated with Matrix. I just use Gitter for some communities and the transition went very well:

I have lots of experience in this field. I have been managing Open Source projets for over 2 decades, and I am the founder of https://wikisuite.org/

I have experience in system migrations, and I know how tricky these can be. It is my professional opinion that the migration was very well handled all things considered. It would have been a waste of ressources to continue to maintain two systems. At a certain point, you need to make the move.

Now, to you and the others that have concerns: I urge you to transform that energy into positive action to make things better.

@hiiamboris
Copy link

There are many ways to help, even without coding. You just need to decide to be part of the solution and act.

How do you envision this @marclaporte ?

@marclaporte
Copy link

@hiiamboris
Copy link

@marclaporte Well, in that wider sense I'm contributing right now by trying to bring developers attention to the critical problems. Because if problems are not even noticed, they have no chance of being solved, and worse yet, they are going to be repeated. And look how that went? It's not even on the roadmap, and the only active person is not affiliated with Matrix and just tries to tell me that what most people consider "unacceptable" is in his professional opinion called "well handled" :)

@Half-Shot
Copy link
Member

GitLab/GitHub activity as a first-class citizen in a room’s side-panel

Any update on this? That should be the absolute top priority feature to restore, since it was the main distinguishing reason to use Gitter in the first place. I'm surprised there seems to be no motion at all there.

Hey there, there is motion on this front. We're thinking about how best to integrate with Hookshot, our GitHub/GitLab (and others) integration. matrix-org/matrix-hookshot#631 I'll try to give a status update on this in the coming weeks, but we have given this some thought.

windward-hive pushed a commit to windward-hive/gitter that referenced this issue Apr 12, 2023
…ilure

This way people get some context for why they got kicked out during the Gitter migration,
see element-hq/roadmap#26
windward-hive pushed a commit to windward-hive/gitter that referenced this issue Apr 12, 2023
…ces in a self-service world

As part of the [sunset plan for Gitter]
(element-hq/roadmap#26), we need to make the
appservice not be exclusive over the namespaces defined in the appservice
registration file so people don't run into errors when they self-service and try to create things.

Part of element-hq/matrix-hosted#6979
@loziniak
Copy link

Hi! I very much miss a link to GitHub in each user's profile. It was great for discovering great projects/repos from room co-members, and some background on everyone. A nice collaboration feature if you ask me :-)

@MadLittleMods
Copy link
Author

@loziniak You would probably be interested in tracking MSC1769: Extensible profiles as rooms

@falsifian
Copy link

If you want your Gitter room bridged to IRC, then there is a IRC bridge integration built-in but that has to be setup per-room by the room admins.

@MadLittleMods Thanks for the information. I can't find the IRC bridge integration, though. I just created a test room through the app.gitter.im web UI, and I seem to have the "Admin" role, but I can't find anything about setting up an IRC bridge in the room options. Is it documented somewhere?

@MadLittleMods
Copy link
Author

@falsifian If you're using app.gitter.im (or any other Element Web/Desktop instance) and want to try the built-in integration, open the Room info panel by clicking the ℹ️ icon in the top-right of the chat header -> Add widgets, bridges & bots -> IRC Bridge (your favorite IRC network) -> Add -> then run through the process to Link a new channel

If you're looking to setup your own bridge, best to look and ask in the specific IRC bridge channels:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests