Matrix-appservice-irc: Avoid kicking idle Matrix users in Matrix-first (plumbed) rooms

Created on 16 Mar 2021  路  8Comments  路  Source: matrix-org/matrix-appservice-irc

Currently, Matrix users who don't actively participate in a chat by sending a
message for a set amount of time are kicked from both the Matrix and the IRC
sides of a bridged room.

This does make sense for automatically-portalled IRC rooms, which should
definitely adhere to the IRC conventions.

This however causes the undesirable side effect of capping a persistent presence
in Matrix rooms that happen to be bridged to IRC through explicit plumbing as
well.

_In my case, the rooms I manage primarily reside on the Matrix side and the
bridge is merely offered for convenience for a few users who prefer to use IRC.
Matrix users who joined the room to subscribe to announcements are quite
displeased to be periodically kicked out by the bridge bot.
There is no invisible lurker issue in that case, so the kicks are unjustified._

A sane compromise could be to limit the current behaviour only to portalled
rooms, while avoiding kicking Matrix users from manually plumbed rooms (while
still disconnecting the corresponding IRC puppet not to hold on resources,
falling back to lurker mode in this case).

Ideally, room owners who are responsible for setting up the plumbed bridging
should later be able to configure this behaviour for each room.

All 8 comments

As moderator of #organice:matrix.org, I would also very much appreciate this behavior.

organice:matrix.org is an Matrix room that is also accessible on IRC. It's a place to discuss the FLOSS project organice which has a couple dozen contributors and quite a few more users. Most users who join the channel will be kicked after 30 days, because they haven't said something in a while. For me, that is totally ok. It's a community channel and not everyone has to speak up every month. So, I re-invite them. But even if I re-invite them, they might not get the notification for this. I know this, because it even happens to maintainers who regularly work on organice, but don't regularly open a Matrix client. Due to that, we're losing over 50% of all people who have ever joined.

It would be great to have an option for the Matrix users to stay in the Matrix channel.

Having said so, thank you for your great work on this bridge :pray: We do have users from IRC who are very happy that they can participate in the discussion without having to sign up to Matrix!

I can vouch from #whisperfish:rubdos.be too, which is plumbed via Matrix.org to #whisperfish on Freenode. We have 75% Matrix and 25% IRC users, but now and then something like this happens:

image

It's not only against Matrix conventions (kick means "I don't like you", not "you're a lurker feel free to come back"), but it's also not correct: I only recently started using the Matrix.org bridge again (self-hosted before), and many of the people in this list actually spoke in the room a few days before I bridged it.

This was one of the reasons that I started self hosting the bridge half a years ago, disabling the kicks (and only joining the idlers when the actually spoke).

The biggest issue I'm having with this is that I can't even find any evidence I was ever part of a room after I got kicked. At the very least I would appreciate a notification from @appservice-irc:matrix.org when I get kicked from a channel, so I don't have to work my mind trying to remember which channels I was part of.

It kind of feels like appservice-irc is gaslighting me, which is unpleasant to say the least :/ Although I do suspect this behavior/bug (where at some point, rooms you left will just be gone completely together with their logs) is not specific to appservice-irc, it does rear its head in a very bad way together with this issue.

@fridtjof I think this is not an appservice issue, but one of the Element clients. Chats simply disappearing looks more like a client issue than a bridge issue. (Tell me if I'm wrong.)

image

Still happening on Libera.Chat too, I hoped it would've been solved in transit. I manually re-invited all 19 idlers.

As per https://github.com/matrix-org/matrix-appservice-irc/issues/1194#issuecomment-882499277, we're hoping the situation will get better.

27 days later, and there was a kicking round again. Way fever people now, so I think #1194 made this a lot better.

image

I have a suggestion to make this more bearable though: maybe after kicking for inactivity, it would be nice to send the kicked person a DM with their kick reason (stating that, if they join and read, they won't get kicked), and potentially send them a reinvite automatically?

Either way, #1194 already made this way less painful, good job!

@rubdos I used to send re-invites to the kicked users. Unfortunately, they rarely came back. The reason seems to be that neither the kick nor the re-invite does not trigger a notification so that users who are not already looking at a Matrix client will not see it. I鈥檝e talked to quite a few users off-channel who were surprised that they were not in the Matrix room anymore.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Platypuschan picture Platypuschan  路  4Comments

vivia picture vivia  路  3Comments

jkhsjdhjs picture jkhsjdhjs  路  6Comments

Mikaela picture Mikaela  路  5Comments

colemickens picture colemickens  路  4Comments