matrix-org / matrix-appservice-irc

Node.js IRC bridge for Matrix
Apache License 2.0
465 stars 150 forks source link

Propagate matrix display name changes to IRC (and vice versa) #48

Open kegsay opened 8 years ago

kegsay commented 8 years ago

https://matrix.org/jira/browse/BOTS-52

Matrix to irc propagation is hard because the two protocols scope names differently. Matrix allows per room display names but irc is per connection (global). We could manage this by just applying the most recent name change, but we need to accept mismatches are unavoidable. Irc to matrix propagation is possible, though fiddly to implement (since the nick change necessitates a new user id, invites to all of the rooms the user was previously in, etc).

After thinking about this more, I wonder whether it would be more accurate to map Matrix user IDs to IRC user@host instead - in which case nick changes are just display name changes. Other points still hold though.

jansol commented 8 years ago

This seems to summarize #72 and #71 .

Mikaela commented 7 years ago

Is this issue about syncing display name between Matrix and IRC?

How does that work if the registered nickname at IRC is different from the Matrix one or registered/used by someone else? What if the nickname can be used at Matrix and Mozilla, but is registered to someone else at freenode or OFTC?

Does this try to deprecate !nick?

jansol commented 7 years ago

IIRC this predates the persistently saved !nick.

This also gets more complicated if/when per-room display names are introduced. For now, how about making !nick accept a template like in the config file? Or even just "$DISPLAYNAME".

Mikaela commented 6 years ago

I think https://github.com/matrix-org/matrix-appservice-irc/pull/486 was supposed to close this.