matrix-org / matrix-appservice-irc

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

Special characters in display (or user?) name cause strange behaviour #744

Open turt2live opened 5 years ago

turt2live commented 5 years ago

image

Edit: user is /dev/saces (@/dev/saces:redacted.org)

Half-Shot commented 5 years ago

I have a theory that we are generating a nick based upon this persons name, but the nick is not being used as a key so you end up with:

ghost commented 5 years ago

i'm ./:matrix.org and this is happen to me as well. I first tried register with freenode through riot.im appservice-irc:matrix.org and nickserv following this guide: https://github.com/matrix-org/matrix-appservice-irc/wiki/Guide:-How-to-use-Matrix-to-participate-in-IRC-rooms back on the 10th, then everything went down the 11th so I went to freenode and register nick there. Since irc bridge has come back up I get 50/50 able to join and no matter what I tell appservice-irc !nick is, it comes back with "Nick changed from 'M2f[m]16' to 'M2f[m18'." incrementing similarly (+2) from there. In appservice-irc chat room I see "err_needreggednick" aligned to times fail to join happened.

Anything else useful I could do to help resolve this please say so and I'll attempt and reply back results, here or in matrix room(s) pointed to.

ara4n commented 5 years ago

Something very similar to this badness also happens if the mxid has a port appended to it. @alice:foo.com:8449 or something will cause every new message from alice to try to spawn a new client...

Half-Shot commented 5 years ago

It doesn't help that when trying to reproduce this, Synapse stops me from using disallowed characters in mxids :|

Half-Shot commented 5 years ago

Currently this behavior is patched out on all current matrix.org bridges, which are running develop. I would like to return to this to escape nicknames so they are compliant with the Matrix Spec, but this issue is sufficiently more complicated than previously thought.