RIOT IRC and even more Freenode turmoil

I’ve initiated steps to unlink the Matrix room from Freenode.

Main reason is that Freenode just switched to a new IRC server implementation and in the process nuked the user and channel registrations. This means that we’re powerless in the #riot-os room on the new network and that any user can impersonate a mod just by quickly registering the nickname. As our Matrix room is a so-called portal room, permissions on Matrix are dictated by the IRC room and synced unidirectional to the Matrix room. This means that if we lose powers on IRC because of this switch, we risk losing powers on Matrix.

So to prevent us from being hit with the fallout from this I’m:

  • disconnecting the Freenode side from the Matrix room (ticket submitted with Matrix support)
  • After which we will create a new RIOT room on Matrix and tombstone the old Matrix room.

The tombstone on the current Matrix room will redirect users in the current room to the new one with a “This discussion continued here, press here to join”. An action requiring only a single click from the user and as seamless as possible. The new room can then be plumbed (yes, different from portalled) to the new IRC network. This has the advantage that the permissions on IRC are dictated by Matrix.

Matrix support replied yesterday evening. They’ve disabled the bridge, disconnecting the Matrix room from old Freenode. The Appservice-irc management bot got demoted and removed and they granted me admin powers in the old room.

As for any remaining leftover IRC state, it unfortunately took me three tombstone events to get fully rid of the bridge. This means participating users have to follow my chain of three tombstones before they enter the current room. This is only three clicks, but it is a bit unfortunate.

The first two tombstones were done via the automated /upgraderoom matrix command. This copied over the full room settings to a new room. For some reason (suspecting the room v1 state resolution bug) the Appservice-irc account joined again with admin powers. The other issue remainin is that the new room also forced on flair for (non-existent) freenode IRC puppet accounts.

This morning I manually tombstoned the room to a manually created, fresh room. The Appservice-irc bot followed, but without admin powers, so I could kick it. The flair for IRC users is not applied anymore.

Next step is to wait for the [poll] to close and plumb the room to a different IRC network. In the mean time Matrix users can already use the new room to discuss RIOT things.

Hindsight 20/20: Should have changed the old rooms topics before tombstoning them.

The new room is published in the matrix.org room directory. For those confused or unable to follow my trail of tombstone events, it is possible to just leave the old room and join the new room by searching for “riot-os” in the “explore rooms” overview.

For future reference

These are unique ID’s and can’t be changed. It should be possible to join one of the two using /join !roomid:matrix.org from your client. The old one is probably cleaned up at some point by an automated process.

Might it be useful if a bot was placed in the old room that will automatically notify people who join that they’re in the wrong place and that everyone has moved? Along with a link to the new one of course.

Isn’t that what the tombstone is doing (with some indirections due to the technical difficulties)?

The old Matrix room has a fat “This room is no longer active” in the message entry field (at least on Element):

image

I think that should make it obvious enough that the room moved.

It is unfortunately, and by design, not possible to submit new events to a room with a tombstone (as far as I know). The #riot-os:matrix.org address is already moved to the new room, so new users using that address to join should end up in the new room.

I added links to the room IDs, so people could join / read up on old content if they want to. :slight_smile:

The Matrix room has. But what if people connect through the regular old IRC? Admittedly, it’s been a while since I’ve been on the channel myself, but if I wanted to pop in and say hi again one day (and assuming I wouldn’t have seen this forum post), I would simply join freenode.org#rios-os. Which will be empty by then.

Yeah, but since in old freenode all accounts are deleted (see @bergzand’s original post) we do not have any way to e.g. change the title of the old channel (since this also means we do not have OP rights there anymore). The #riot-os channel in the new freenode will just be a blank slate.

I don’t think that instigating a bot at the old freenode or creating a channel in the new freenode is worth the hassle: When people see the empty channel, they might already wonder what is going on and hopefully try to contact us elsewhere.

I don’t think that instigating a bot at the old freenode or creating a channel in the new freenode is worth the hassle: When people see the empty channel, they might already wonder what is going on and hopefully try to contact us elsewhere.

Those who use IRC regularly know the state of freenode anyway and know to look … elsewhere when confronted with an empty room.

Those who don’t won’t just-like-that try joining #riot-os on the largest^W what used to be the largest network, so as long as we don’t leave any broken links around to freenode’s #riot-os, I think just leaving it as empty as freenode made it is fine.

See also https://github.com/RIOT-OS/RIOT/pull/16571 :wink: