matrix-org / matrix-appservice-irc

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

Cannot bridge Matrix to IRC when initially attempted with insufficient permissions (RVL_USER_CONFLICT) #945

Open jwflory opened 4 years ago

jwflory commented 4 years ago

Summary

The Riot.im interface gives a RVL_USER_CONFLICT error when trying to integrate an IRC channel to a Matrix room, but it was attempted previously by a user with insufficient permission/power level

Details

I added a Freenode IRC integration to a Matrix room. At first, my power level was set to 99. I tried setting up the integration but got this error:

Failed to make link: You don't have permission to post that to the room. user_level(99) < send_level(100)

After this, @appservice-irc:matrix.org appeared as an invited user but did not join the room. Later I was promoted to user_level(100). I reattempted adding the integration with my new permissions, but every time I attempt to add the integration, I get this error now:

Bridge returned HTTP 500 Internal Server Error: Room failed validation. You may be attempting to "double bridge" this room. Error: RVL_USER_CONFLICT

I see that @appservice-irc:matrix.org did actually join the room, which I assume is why this error is being thrown. I suspect that removing the appservice user might fix this, but I'm unable to remove the user because the appservice user has Admin permissions.

Desired outcome

I can set up a Freenode IRC integration in a Matrix room that was attempted previously by a user with insufficient power/permissions

Half-Shot commented 4 years ago

Interesting. appservice-irc shouldn't conflict. It seems likely you have other bridged users in that room. Any ideas?

jwflory commented 4 years ago

@Half-Shot There is a Slack integration, but no other bridged users are in the room. There's only a handful of people in the channel. This is what I see when I look at the integration manager:

Screenshot of integration manager of problem room