matrix-org / matrix-appservice-irc

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

Nick changes on IRC are not recognized #1776

Open mcnesium opened 10 months ago

mcnesium commented 10 months ago

Doing /nick mynewnickname on IRC does not do anything to a bridged Matrix room, until mynewnickname says something. This then makes mynewnickname (IRC) join the Matrix room. It does not remove myoldnickname from the matrix room though. This is especially remarkable with IRC nickchanges after network failures.

When the IRC client disconnects for a short time and then reconnects, the original nickname is blocked for a while, so the client then connects using e.g. nickname_. To get the old nickname back, there is e.g. keepnick.py to hold on until the "nickstealer" left the network and then automatically renames us back to nickname.

So while @irc_nickname:server.tld is back on track, the intermediate user named @irc_nickname_:server.tld stays in the Matrix room.

This has been the case with quits/parts as well until recently. But for a couple of weeks now, quits/parts are correctly recognized, and the corresponding Matrix user is removed from the room. Will this work with nickchanges as well?

I am seeing this using BridgeVersion: 1.0.1 bridging Synapse 1.91.0 with Quakenet.