Skip to content

Matrix room member lists increasingly diverge from IRC #1838

@f0x52

Description

@f0x52

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions