matrix-org / matrix-appservice-irc

Node.js IRC bridge for Matrix
Apache License 2.0
460 stars 149 forks source link

Reset #debian and run script to check join_rules for all channels to revert !join invite bug #187

Open ara4n opened 7 years ago

kegsay commented 7 years ago

What does "can't join" mean? Can't join:

Around this time the bridge basically became crippled due to an extremely large netsplit (which the bridge in general is badly affected by due to having so many connections to Freenode). I don't see anything in the logs to suggest that dppc[m] tried to join #debian on 2016-09-24.

kegsay commented 7 years ago

Potentially #189 dupe

kegsay commented 7 years ago

So "join" in this case means #freenode_#debian:matrix.org, which maps to !ZZCkJvNHGxupJCrFxG:matrix.org which is curiously an invite-only room. The bridge creates all the rooms/mappings and it never sets them to be invite-only... so someone else must have power in that room. curl is useless because it looks as if the bot isn't in the room(?!).

After investigation, it turns out that the bot is supposed to be joined but for whatever reason Synapse does not think so (even though it's database says it is, thanks @erikjohnston for the help debugging). No idea about the discrepancy there. That still doesn't help identify why the room is invite-only though. It was set invite-only on Mon 2016-09-05 15:49:20 UTC (3 weeks ago) by the bot itself. @ara4n - any idea if you manually grabbed the AS token to set the room to invite only? If so, that would explain this issue.

ara4n commented 7 years ago

I am 99.6% sure I did not randomly puppet the bot for that room. Check the LB or syn logs?

kegsay commented 7 years ago

I can't recover this room. Synapse seems to have corrupted the state of the room. I cannot alter join_rules:

{
    "errcode": "M_UNKNOWN",
    "error": "Could not find event $1473378534137999pBWCO:matrix.org"
}

The bot doesn't appear to be in the room even though it is. So.. I guess I'll have to nuke this and start again.

kegsay commented 7 years ago

So I've worked out why it was invite: because the room was initially joined via !join rather than an alias. See https://github.com/matrix-org/matrix-appservice-irc/issues/224

Keeping this open because I still need to nuke the room due to Synapse corrupting it completely.

sim6 commented 6 years ago

Is there a way to claim a sync of #freenode_#tryton:matrix.org room?

ara4n commented 6 years ago

Had a related problem with #_oftc_kernelnewbies:matrix.org which has ended up with two rooms: one which is broken and had the alias (!AmjiSoCBNcmbFfwBGW:matrix.org) and another which works but has no alias and is only joinable via !join or a manual join to a room ID (!EjflazjHvPiKOzlwdM:matrix.org). I've deleted the alias of the broken one. The other on at least isn't invite only...