-
Notifications
You must be signed in to change notification settings - Fork 156
Description
This has been an issue for a while now, where the Matrix side of portal rooms has many usernames that joined the IRC channel somewhere in the past, but left a long time ago.
I think this is partly fixed with matrix-org/node-irc#118, as that fixes a bug where the NAMES response on re-used clients would always be a superset of the previous listing, so never leaving old users unless the PART/QUIT was directly received.
The NAMES response is properly received at bridge startup at least, but that causes it to queue a gigantic amount of leave items in the MemberListSyncer, which don't retry, and which time-out after the default of 30 minutes.
In the case of my Libera bridge, around 120 thousand, which it's only able to clear a fraction of them the 30 minutes TTL.
Is there a reason to queue these with a TTL at all?
Also, I think it would be an improvement if matrix-appservice-bridge's membership queue would be smarter at cancelling out leave/join's for the same user, if there's already an entry in the queue for them, but maybe that's better directed at that repo instead.
EDIT: bridge is globally configured to do member list updates both ways, initial and incremental both true