#116 All CentOS IRC channels need to be bridged with Matrix before July 25
Opened 9 months ago by ngompa. Modified 8 months ago

The Libera Chat IRC network admins have requested EMS to disable all the portal rooms (every Matrix room that is on :libera.chat domain) by the end of the month.

This is a problem because a large number of the community interacts with CentOS real-time chatrooms via Matrix. In order to resolve this, we need to have all #centos- rooms formally bridged to real Matrix rooms by July 25.

As Fedora has a server for "official rooms" (which of note, both CentOS Hyperscale and OKD WG Matrix rooms are hosted on), we should engage with the Fedora Matrix server administrators to mass create Matrix rooms and bridge our IRC channels to them. They can also configure the rooms to be friendly to Matrix and IRC users like the Fedora rooms have.

Additionally, we should ask them to check with EMS if it's possible to add centosproject.org as a domain on that server so that CentOS rooms can have their primary address use :centosproject.org (such as #hyperscale:centosproject.org instead of #centos-hyperscale:fedoraproject.org).

This needs to be done ASAP due to the timeline for Matrix access bankruptcy, but this also means we need to sort out ownership and ops for #centos- namespace on libera.chat so that the bridges can be created properly.


Metadata Update from @spotz:
- Issue assigned to shaunm

9 months ago

Shaun assigning to you as the official contact for the project so you can reach out to the Libera chat folks and get yourself or a few people chatops on the channels. We'll then need to reach out to Matthew to see who to work with on the Fedora side.

As the GC for the CentOS namespace on Libera Chat, I'm more than happy to work with you guys on what you need.

IRT pluming matrix, there are issues with the matrix bridge that have caused problems in the past and continue to plague Libera Chat now, it's why we've resisted joining with matrix in the past and why I'm reluctant to do so now. Also note that completely disallowing the bridge is still an option that is on the table for Libera Chat so the future of the bridge itself is in doubt. For more information see https://libera.chat/news/matrix-irc-bridge-updates and for details of the various issues with the bridge you can follow the matrix bridge issue tracker at https://libera.chat/news/matrix-irc-bridge-updates.

All that said, I do understand that this is quite probably a need that you have to facilitate CentOS workflow and I have no intention of attempting to take that away, do note, however, that channels have to be plumed on a per-channel basis, so if you can give me a list of channels that need to be plumbed (and perhaps another list of those that you would like to be plumbed but aren't a necessity) then I can look into it.

Peter

One additional note. It has come to my attention that the matrix bridge block will only be affecting @matrix.org accounts, so it shouldn't affect users of the fedora bridge.

Just realized that one of my links above is incorrect, here's the correct one:
https://github.com/matrix-org/libera-chat/issues

Ideally, as part of this bridging, we can also make it less painful for Matrix users by setting all the IRC channels up the same way that Fedora IRC channels are.

Ideally, as part of this bridging, we can also make it less painful for Matrix users by setting all the IRC channels up the same way that Fedora IRC channels are.

Can you elaborate on how it's set up and what issues that solves for the Fedora users?

Matrix users are auto-voiced and voiced users are allowed to speak, which allows them to avoid having to deal with NickServ. Matrix account registration is considered equivalent and sufficient.

For example, the Fedora KDE IRC channel has the following flags:

[05:14] <-> ChanServ> flags #fedora-kde
[05:14] [Notice] -ChanServ- Entry    Nickname/Host          Flags
[05:14] [Notice] -ChanServ- ----------------------------------------------------------------
[05:14] [Notice] -ChanServ- 1        nb                     +AFRefiorstv         (FOUNDER) [modified 2y 8w 3d ago, on May 19 15:23:12 2021 +0000, by nb]
[05:14] [Notice] -ChanServ- 2        spot                   +AFRefiorstv         (FOUNDER) [modified 2y 8w 3d ago, on May 19 17:49:31 2021 +0000, by nb]
[05:14] [Notice] -ChanServ- 3        nirik                  +AFRefiorstv         (FOUNDER) [modified 2y 8w 3d ago, on May 19 17:49:36 2021 +0000, by nb]
[05:14] [Notice] -ChanServ- 4        Conan_Kudo             +AORVefiorstv        [modified 2y 7w 1d ago, on May 28 23:13:59 2021 +0000, by Conan_Kudo]
[05:14] [Notice] -ChanServ- 5        rdieter                +AORVefiorstv        [modified 2y 7w 1d ago, on May 28 23:14:08 2021 +0000, by Conan_Kudo]
[05:14] [Notice] -ChanServ- 6        *!*@gateway/shell/matrix.org/* +V                   [modified 2y 7w 1d ago, on May 28 23:35:31 2021 +0000, by Conan_Kudo]
[05:14] [Notice] -ChanServ- 7        *!*@2001:470:69fc:105::* +V                   [modified 2y 7w 1d ago, on May 29 03:54:36 2021 +0000, by nb]
[05:14] [Notice] -ChanServ- ----------------------------------------------------------------
[05:14] [Notice] -ChanServ- End of #fedora-kde FLAGS listing.
[05:20] <-> ChanServ> info #fedora-kde
[05:20] [Notice] -ChanServ- Information on #fedora-kde:
[05:20] [Notice] -ChanServ- Founder    : nb, spot, nirik
[05:20] [Notice] -ChanServ- Successor  : libera-placeholder-account
[05:20] [Notice] -ChanServ- Registered : May 19 15:23:12 2021 +0000 (2y 8w 3d ago)
[05:20] [Notice] -ChanServ- Mode lock  : +nt-lk
[05:20] [Notice] -ChanServ- Flags      : GUARD PUBACL
[05:20] [Notice] -ChanServ- The #fedora namespace is registered to the fedora project
[05:20] [Notice] -ChanServ- Public contacts: spot, nb, nirik
[05:20] [Notice] -ChanServ- *** End of Info ***
[05:20] *** Channel modes: no colors allowed, no messages from outside, topic protection
[05:20] *** This channel was created on 5/19/21 11:20 AM.

More info about guidance around Matrix<->IRC bridging is also available from the appservice docs: https://matrix-org.github.io/matrix-appservice-irc/latest/irc_modes.html

You can get further details about this from Kevin Fenzi (nirk) or Nick Bebout (nb).

We did try that with the #centos namespace at one point. There was a lot of spam coming from matrix.org users as a result so we stopped doing that.

The other issue is that it allows non-registered users to join the channels on Libera Chat, although this is less of an issue because they would not be voiced and could not, as a result, speak in the channel.

If we don't plumb the room then fedora bridge users should still be able to connect but not matrix.org users, in that case I would be more open to changing back to that model.

...another option could be to only voice the exact IP for the fedora bridge instead of the entire matrix bridge IP range.

EDIT: Looking into this a bit more it doesn't seem to be very feasible, the fedora.im bridge seems to connect from a number of different random IP addresses in the matrix IPv6 range. Unless you can supply a list of the ones specifically for the fedora bridge this idea won't work.

The Fedora channels have been this way for two years, and we've gotten more spam attacks from the IRC side than we have the Matrix side. Indeed, on Fedora KDE, I've seen only one or two Matrix spam messages in the past year, while seeing five spam attacks from IRC.

In most bridged Fedora Matrix rooms, the experience is similar.

I do not believe we should make the life of Matrix users harder to interface with the CentOS community, even those on matrix.org.

The Fedora channels have been this way for two years, and we've gotten more spam attacks from the IRC side than we have the Matrix side. Indeed, on Fedora KDE, I've seen only one or two Matrix spam messages in the past year, while seeing five spam attacks from IRC.

In most bridged Fedora Matrix rooms, the experience is similar.

Taking a quick look at #fedora it doesn't appear to have mode +R (or equivalent, or I'm missing something). I think the reason your experience in that namespace is different is because we don't allow non-registered users to chat in the #centos namespace which takes care of the vast majority of potential spam from the IRC side.

Anyways, I'm willing to do it on a trial basis, we can see how it works out this time around.

After discussing this with @spotz, here's the list of channels:

  • centos
  • centos-devel
  • centos-stream
  • centos-social
  • centos-meeting
  • centos-meeting2
  • centos-unregistered - not sure there's a practical reason for this one to be bridged
  • centos-alt-images
  • centos-hyperscale - already bridged to #centos-hyperscale:fedoraproject.org
  • centos-qa
  • centos-mirror
  • centos-ci
  • centos-virt
  • centos-kmods
  • centos-arm
  • centos-ops
  • centos-automotive - kinda dead, #centos-automotive-sig:fedoraproject.org is matrix only
  • centos-buildsys
  • centoshelp
  • centos-opstools
  • centos-bottest
  • centos-board
  • centos-cloud
  • rhel

Is centos-isa not impacted by this, or was it just missed?

Might have been created after we made the original list? I had cut and pasted a list from doing a channel list in Libera

I didn't know it existed. I'll add it to the list.

After discussing this with @spotz, here's the list of channels:

  • centos-unregistered - not sure there's a practical reason for this one to be bridged

This channel is not appropriate to bridge to Matrix, it's for telling IRC users who are not registered that they need to register with nickserv (on IRC).

  • centos-ops

Operations channel for the IRC side, not appropriate for bridging.

  • centos-buildsys

This is just a status channel for builders. It's okay to bridge this one but it's not for chat.

  • centoshelp

This channel is not in the #centos namespace and is not under our control.

  • centos-bottest

For testing of IRC bots. Not appropriate for bridging.

  • centos-cloud

This channel is closed and forwards to #centos-virt

  • rhel

Not in the #centos namespace.

So that leaves:

centos
centos-devel
centos-stream
centos-social
centos-meeting
centos-meeting2
centos-alt-images
centos-hyperscale - already bridged to #centos-hyperscale:fedoraproject.org
centos-qa
centos-mirror
centos-ci
centos-virt
centos-kmods
centos-arm
centos-automotive - kinda dead, #centos-automotive-sig:fedoraproject.org is matrix only
centos-buildsys
centos-opstools
centos-board

I'll op up in the rest of these and approve the bridging request when it comes through. I'll also fix the channel flags so that matrix users get voice as discussed above.

The above mentioned channels have been prepped for Matrix. Please note the following:

The non-appropriate channels I mentioned above have not been altered.

#centos-hyperscale and #centos-automotive did require changing some flags, even though as mentioned they already appear to be bridged (although I have not verified if either of them are actually plumbed or if they're just portalled).

#centos-buildsys is a read-only channel, therefore no entry has been added to voice Matrix users.

#centos-board is an invite-only channel, so it is not necessary to explicitly voice Matrix users, nor is it necessary to quiet unregistered users in that channel. Do note that Matrix users will be best served to have nickserv accounts for this channel's invite list although they can be added via their Matrix accountname if wanted.

The rooms just have to be created and bridged from the fedora.im side now. nb has said he'll do that tomorrow.

The Matrix bridge will be going down entirely until further notice at of 1400UTC:

https://matrix.org/blog/2023/08/libera-bridge-disabled/

Options are:

Just use an IRC client in the meantime, this should (hopefully) be temporary and there are several excellent IRC clients to choose from.

Set up an alternative bridge, two options are matterbridge and heisenbridge. I have more experience with matterbridge, but heisenbridge has a better feature set, it supports puppeting which is really almost essential for proper user management and moderation from the IRC side. Perhaps see if Fedora might possibly be interested in setting this up and we could share the bridge with Fedora.

Has it been considered to move to Matrix infrastructure completely, without IRC bridging?

It's been discussed, but there are some prerequisites to work through before going down that road. I don't think we have a Board ticket for it yet, though.

Login to comment on this ticket.

Metadata