-
Notifications
You must be signed in to change notification settings - Fork 80
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
Add draft/oper-tag
spec
#494
base: master
Are you sure you want to change the base?
Conversation
It would be nice to elaborate on the use-case of this spec. What is the value-add of this spec? |
@emersion It's a blessing as a bot author. Instead of maintaining WHO state, and sending one-off WHO requests, we can check for this tag synchronously when processing commands. |
|
||
This is a work-in-progress specification. | ||
|
||
Software implementing this work-in-progress specification MUST NOT use the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the simplicity of this tag, ircv3/ircv3-ideas#78, and the time spent already in production as solanum.chat/oper, I propose we save everyone time and just call this the oper
tag.
It can still be refined in future with CAP or tag values.
Okay, so ease-of-use is the main motivation for this, just like |
One value-add from this spec is when a client needs to figure out on JOIN whether a user is an operator or not. Right now the only way is to WHO all users who JOIN, which doesn't work in practice because of rate limits. If an oper tag is attached to JOIN messages clients would be able to properly keep their state up-to-date on JOIN. |
I really liked the sound of this so I PR'd a sort-of implementation to UnrealIRCd (unrealircd/unrealircd#226), I hope this gets more reach. |
FWIW: I think this could include some additional oper information, like a potential operclass.
or something similar. I'm not entirely sure how global operclasses are in the IRC world, but it's probably common enough to include catering for it 😃 |
Is there any more interest in this? I'd like to add support for this to InspIRCd.
I support this but I'd like to bikeshed |
I've implemented this with the addition of my oper-role proposal: inspircd/inspircd@master...SadieCat:inspircd:master+ircv3-oper-tag |
Are we still keen to standardise this? Looks like decent amount of support from server devs. Sensible solutions to any open bikesheds welcome. |
how often are oper "classes" used in IRC servers? if it's a majority, I'd like to see an oper-class tag too |
i think the concept of "oper classes" is so implementation-specific that it shouldn't be part of a protocol-wide standard |
(i understand why it would be helpful, by the way, and maybe having another spec for it would make me feel better) |
The only thing I don't like is the use of 'oper' as a capability name - it's too vague and doesn't describe what's actually being enabled by it. |
would you be fine with |
Yes, that's what I'd call it. |
@examknow are you still around enough to make changes to this PR? if not i can take it on |
I would like to see the |
could we do it on another spec, so that implementing this spec doesn't require implementing |
|
What upside is there to have a standard tag with implementation-defined contents? What would clients do with this information? |
It doesn't have to have a fixed meaning across ircds to be useful - a bot framework might offer it as a variable that can be matched against when defining custom access controls, for example. |
This is based on the solanum implementation. The solanum spec can be found here.