Open slingamn opened 3 years ago
mm, it's worth looking into prior art on this. if the user can only message specific channels, it may be worth joining them to that channel / those channels when the sandbox is applied to 'em?
It could be done that way.. currently the bot does the soft ban which kbans from all channels but in the reason or via dm i need to write to them that they may appeal in #appeals for example. I'd rather they get SAJOIN
ed to the appeals channel
yeah, especially since the 'sandbox' stage is basically one stage before banning them from the network altogether.
This can be a switch in the config: autojoin: #appeals
The primary use case involves preemptively applying this to users via the UBAN system. This might be an additional "soft UBAN" type, analogous to require-sasl
? (In this case, there is an additional question about extending require-sasl
and this new UBAN type to include NUH bans, which I'm tentatively -1 on.)
UBAN sandbox
etc?? idk
I was thinking this should probably be a (non-user-modifiable) user mode.
Koragg mentions the original RFC2812 +r
"restricted" mode as a possibility for this, which is rather appealing.
We could also use +S
(for "sandboxed").
I wouldn't mind +S
. +r
always trips me up with 'registered' so I'd rather not use that if possible.
Notes:
+r
as a usermode for registered nicks; this is not documented correctly+S
is also conflicted with Unreal (they use it for services)I don't mind whichever one we go with, but the +r - registered
association has and will always exist for me, hard habit to break but that's prolly just me. If we're calling the feature 'sandboxing' it also makes a bit more sense to use +S
than +r
in my mind. wrt conflicting, almost every umode char conflicts unfortunately, I took a look through ircdefs and didn't find any other existing chars we could reuse.
grumble grumble named modes grumble
+x
and +X
have a nice ring to them in this context. +X
is apparently unused; I think +x
would be fine too though (Unreal uses it for toggling a cloak?)
I've been struggling with how this should interact with the account system. Here's what I'm thinking:
I think this project may be cancelled. The original deployment that asked for it is no longer interested in switching. For everyone else, it's probably better addressed with existing tools: making +R
a default channel and user mode, and then setting an #appeals
channel -R
.
This is coming from #1583. Here's the idea: you should be able to designate some users as "sandboxed". A sandboxed user can only join a whitelisted set of channels (e.g., "#help", "#appeals"). They cannot send DMs. Some configurations may want to preemptively sandbox all non-SASL'ed users.
Unclear at this point: how should sandboxed status be set and unset on connected users? Could it be a special umode like
+Z
, that the user can't set and unset (but which operators can set and unset withSAMODE
?)