matrix-org / matrix-appservice-irc

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

Wait some time before joining a user if they haven't set a profile. #1064

Open Half-Shot opened 4 years ago

Half-Shot commented 4 years ago

Sometimes matrix-appservice-slack and other bridges make asynchronous requests to set profiles while joining the room, causing them to join first, and set the profile sometime later. This causes the IRC bridge to set their nickname to their userId, rather than their displayname, causing uglyness.

While we need to fix this on matrix-appservice-slack and friends, it would be a good first step to wait a bit before connecting a user.

myii commented 4 years ago

This issue appears to result in a bug where messages aren't getting through to from Slack => Matrix => IRC. Specifically when a new user joins the bridged channel in Slack; their messages reach Matrix but not IRC. Doesn't happen for all new users, though. First discussed in the Slack Bridging room here:

https://riot.im/develop/#/room/#matrix_appservice_slack:cadair.com/$ZIXq45wz4dOrva-dsXiCselaLNCtXVhH1kyqc8dgCcg

I set up another Slack integration yesterday, also using the integrations to IRC and Gitter from the central Matrix room. Yesterday's messages passing through fine to all ends. Had a new user join in the Slack channel and while their messages are getting through to Matrix, they're not being passed on to either IRC or Gitter. Any ideas on how to resolve this? Or should I ask this elsewhere?