CommunityData:IRC to Matrix migration

From CommunityData
Revision as of 16:28, 11 September 2024 by DionnaTaylor (talk | contribs) (typo clean up)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In the past, we used IRC. Over time, most CDSC people started connecting to these channels via a bridge from a separate chat system called Matrix that was accessed through software called Element.

Although they are connected, Matrix (and it's client Element) and IRC are actually separate systems and the connection was far from perfect.

In fact, channels were "portalled" so Matrix users would join a room like #_oftc_#communitydata:matrix.org which was actually a sort of virtual connection into the IRC room. This led to many, many problems (most of which were only visible to the IRC users) including dropped messages, users were not not visible, and worse.

We are going to switch to Matrix because it is a more modern system and has many features we like. However... We have still have external community members who use IRC and who want to stay connected to them. That said, the portalled rooms aren't working and we want a better Matrix experience for folks within the group.

So here's the plan: In the past, we used IRC rooms were connected into Matrix ("portalled") into Matrix. Now, Matrix rooms will be connected into IRC ("plumbed"). We're going to switch from "IRC first" to "Matrix first". This will have lots of benefits and be a much better user experience but it will require that (a) all CDSC core people switch to Element, and (b) existing Element users do a bit of a dance.

Matrix Users Migration Steps[edit]

The following people are MANAGERS and you will need to pick one to handle your migration: Mako, Kaylea, Jeremy.
These people are VERIFIERS and are connected to both IRC and Matrix, and they can verify that people have migrated.
  1. As part of your migration, you're going to lose history/backscroll in the channel. I want to save things, you can with the Element chat export feature. Also, Mako and others have old channel logs they are willing to share if you need things in the future.
  1. Choose one MANAGER and one VERIFIER from the lists above to work with to handle the migration.
  2. Check the list of channels in the #List of channels below. Please your let your MANAGER know if there are any CDSC channels missing from the list that BOTH (a) you are currently in and (b) that you want to migrate. They can help you create those new channels and either plumb them to IRC or can work with a VERIFIER to do that.
  3. Quit all of the IRC channels you are on by clicking the three dots next to the channel name (listed on the left side of your screen, under 'Home' or 'All rooms') and choosing 'Leave' (in red).
    1. Alternative: If the only IRC channels you are on are CDSC channels, you can just click on the admin bot account (its name is @oftc-irc:matrix.org -- click the list of names of people in the channel at the top right, then click the bot, then click 'Send Message', then send a message to user '@oftc-irc:matrix.org' that says "!quit".
  4. Check with a VERIFIER to make sure that your bridged accounts are gone from all the channels.
  5. Once you get the OK, tell your MANAGER and ask to be invited to the CDSC Matrix Space.
  6. The CDSC Matrix Space has a list of all the current channels -- join the ones you want to be part of.
  7. All done. Say something like "I'm back!" in the main communitydata channel.

IRC Users Migration Steps[edit]

  1. Choose one MANAGER from the list in the section above this one to work with to handle the migration.
  2. Check the list of channels in the #List of channels below. Please your let your MANAGER know if there are any CDSC channels missing from the list that BOTH (a) you are currently and (b) that you want to migrate.
  3. Visit the Element website to get setup. You'll need to create an account. Set it up with an icon, name, and all that sort of stuff.
  4. It's probably also a good idea to install the Element App on your phone and maybe get setup with a Desktop application to.
  5. Once you're done, ask your MANAGER to be invited to the CDSC space.
  6. Join the channels you want to be in.
  7. Quick your IRC client or leave the channels that way.

P.S. If you are a Weechat (not a typo) user, there is a pretty great Matrix plugin/mode so that you can continue using it directly from your old IRC client. Ask Mako for details. He's been using it and likes it quite a lot.

List of channels[edit]

Channels we have already migrated:

  • #communitydata
  • #communitydata-casual
  • #communitydata-ecology
  • #communitydata-covid19
  • #communitydata-it
  • #communitydata-faculty (ONLY on matrix and invite only)
  • #communitydata-staff (ONLY on matrix and invite only)
  • #communitydata-misalignment
  • #communitydata-fossy
  • #communitydata-governedunderprod

Channels we will migrate but that are pending action from OFTC IRC admins:

  • None right now

Channels we have decided to not migrate (i.e., we will be shutting these down, although we are welcome to recreate them later):

  1. communitydata-cisil
  2. communitydata-womennb

Creating New Channels[edit]

The process moving forward is going to be to:

  1. Create a Matrix channel within the "CDSC Space" (NOTE: be sure to make it NOT end-to-end encrypted)
  2. Create an IRC channel, make sure you have (registered the channel with chanserv) and have ops (i.e., the operator bit) on the IRC channel.
  3. Find an administrator on the CDSC Matrix space; they will manually plumb/integrate/connect the matrix channel into the IRC channel by following the instructions here: https://matrix.org/blog/2023/07/make-sure-libera-bridge-keeps-working/ (the link is now under extensions)

This is what I have been doing manually for every channel you see here in the space.

If you want help with this, contact one of the VERIFIERS on the list above.

If we don't want a channel to be visible to people on IRC, we don't have to plumb (i.e., connect) it. It will just exist entirely within Element/Matrix. We should only do this for truly private channels.

If you have channels created entirely within the Element UI and that are not bridged to IRC (i.e., channels to which no IRC people are or can connect), no action is needed for migration, but you should follow the above process if you want IRC users to be able to join.

Instructions for VERIFIERS[edit]

Basically, all you need to is make sure that the person with the Matrix account is fully disconnected from the rooms. Make sure that on both the IRC side and the Matrix side that there is no user like mako[m] in the room. If there is (as is often the case), you just need to kick them. Try kicking from the Matrix side first by using the "Remove from room" feature. If that doesn't work, use the /kick command on the IRC side (although you will need the "ops" permission to do this.