View Issue Details

IDProjectCategoryView StatusLast Update
0006396unrealircdpublic2025-11-20 11:47
ReporterAmiga600 Assigned Tosyzop  
PrioritynoneSeverityfeatureReproducibilityN/A
Status closedResolutionno change required 
Summary0006396: Alter the Auto Join option to add a delay feature
DescriptionCurrently the auto-join feature has no delay, so instantly joins users into channels
I propose adding a configurable delay to this feature, and a small check to see if the user has joined any channels before it executes (ie. if they have not joined a channel, autojoin will join them, if they have joined a channel, autojoin is cancelled)

At the moment we have
set { auto-join "#channel"; }
which instantly joins the user before anything has chance to set, such as custom vhosts from NickServ for example

I would like to see it modified to something like this
set { auto-join { channel "#channel"; delay "1m"; ifnotinchan "true/false"; }

This would then delay it by 1m(inute) which is usually long enough for initial commands to execute
(The "if not in chan" would cancel off autojoin for that user if they have joined a channel)

So for example if not in chan = true - and user has not joined a channel within the delay (1m) setting, the user would be joined into stated channel - if not in chan = false then user would not be auto joined if they are already in a channel
3rd party modules

Activities

syzop

2025-11-20 11:47

administrator   ~0023572

This is a recurring request. The reason i reject it every time is:
1) The time would be relatively arbitrary, when is the user done authenticating and doing their stuff, well 1 minute is sufficient for sure.. that is right :D
2) Auto-joins are quite annoying, especially if they are delayed. On various clients (like mIRC) it changes the active window, that is annoying while typing
3) For authentication and setting vhost stuff there are better ways

So the solution is usually to use SASL. Then you get authenticated in the handshake and the vhosts are also applied before you are online. So any channels (auto-)joined are all with the vhost.

In my opinion we should steer users towards that, than some half-ass and annoying solution like delayed auto-join. That's also why I don't want to offer it in core unrealircd. I'm afraid server owners will take that path instead of telling their users to do things properly. When users use SASL, there are several other benefits as well, such as ConnThrottle bypass in case of attacks, and because the (auto-)join always happens as registered users they also bypass stuff like +R and bans on unknown-users that +f sets.

If it is still something you want (or maybe the only-if-not-in-channel case), then it could be done in a third party module.

Issue History

Date Modified Username Field Change
2024-03-25 15:20 Amiga600 New Issue
2025-11-20 11:47 syzop Assigned To => syzop
2025-11-20 11:47 syzop Status new => closed
2025-11-20 11:47 syzop Resolution open => no change required
2025-11-20 11:47 syzop Note Added: 0023572