Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kick matrix users in bridged rooms if they cannot join the mapped channel for any reason #448

Open
kegsay opened this issue Jun 2, 2017 · 6 comments
Labels
T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems.

Comments

@kegsay
Copy link
Member

kegsay commented Jun 2, 2017

We currently already do this based on a list of IRC error codes like err_needreggednick. This can miss certain error codes and notably misses connection issues like reaching i:line limits.

It will be better to make the code failsafe (err on the side of kicking) than failunsafe. This can probably be implemented using a timer along with checking for a join response of some kind. If the timer expires, we give up trying to join and kick the user. This means we will now err on the side of kicking erroneously (due to say join throttling or transient network problems) which will make the UX matrix side slightly worse.

This has been formally requested by Freenode and not negotiable.

@kegsay
Copy link
Member Author

kegsay commented Jun 26, 2017

Notably this is going to affect channels which have flood protection enabled as bouncing the bridge will trigger it. Given this issue is highly coupled to Freenode, it looks like ircd-seven has a unique numeric for this which isn't documented on https://www.alien.net.au/irc/irc2numerics.html :

 /* 480 ERR_THROTTLE */ ":%s 480 %s %s :Cannot join channel (+j) - throttle exceeded, try again later"

For cases like this, we should actually try again later rather than giving up.

@kegsay
Copy link
Member Author

kegsay commented Jul 21, 2017

Forking off that issue as it really needs to be addressed first.

@ssbarnea
Copy link

ssbarnea commented Nov 4, 2019

Does this means the the matrix bridge with freenode is mostly useless if you need to use channels that require registration? ... like openstack or ansible ones?

@gerroon
Copy link

gerroon commented Mar 28, 2020

So far it has been useless most of the time for me. I am kicked out with this error constantly.

@Half-Shot
Copy link
Contributor

Apparently we didn't kick some users when they got a err_notonchannel, which should have happened.

@wildwestrom
Copy link

Just wanna mention, this error (err_needreggednick) still happens with certain libera.chat channels.

@justinbot justinbot added T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems. and removed bug labels May 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-Defect Bugs, crashes, hangs, vulnerabilities, or other reported problems.
Projects
None yet
Development

No branches or pull requests

7 participants