Comments (7)
Interpretation response
Consensus has been established that a STATUSMSG capability which behaves as above is acceptable, except with the following modification:
At paragraph 6, sentence 1, the wording will be changed to:
If a client which performs capability negotiation explicitly negates the STATUSMSG capability, then the server SHALL NOT send any channel name prefixed with any STATUSMSG characters.
Rationale
It is desirable for the IRCv3 STATUSMSG capability to behave in a way that allows graceful compatibility with clients not yet compatible with version 3.2 of the specification. Specification versions 3.0 and 3.1 do not define the STATUSMSG capability, thusly, the change would subtly break compatibility with those clients. Additionally, it would make implementation of the IRCv2 compatibility requirement mentioned in paragraph 8, sentence 1:
For clients that do not negotiate capabilities, IRCv2 fallback basically has us treating the client as if it had sent the token.
Interpretation of other concerns
Paragraph 5, sentence 1:
A server MUST NOT support a character as both a STATUSMSG prefix and as a CHANTYPE.
This interpretation is upheld as valid.
STATUSMSG may only:
- Contain characters that are valid prefixes as documented by the RPL_ISUPPORT PREFIX token, and;
- Contain characters that are NOT channel-type prefixes.
Suggested action
Write a formal specification for STATUSMSG and add it to the extension registry as statusmsg-3.2
.
from ircv3-specifications.
It looks like this will break STATUSMSG if an existing client that already supports STATUSMSG is upgraded with CAP support. I don't like that.
from ircv3-specifications.
@jillest STATUSMSG is so little used I don't think that's much of a concern. Clients will have to be fixed at the same time, I guess.
from ircv3-specifications.
I don't like breaking compatibility anyway. Channels that use STATUSMSG often use it quite a bit.
from ircv3-specifications.
This is really quite a mess. Here are my ideas:
- disabling STATUSMSG by default without CAP. This disables statusmsg for clients, even if it already works with it (I personally am more for this solution because it's a non-standard extension, little-used except for some nichés, and a lot of clients are already broken due to being unaware of its existence since it's non-standard). The workaround is if the client doesn't have tge CAP, just send it as a normal PRIVMSG.
1a) Potentially use a message tag to mark STATUSMSG messages.
- Making it part of the standard, always unconditionally enabled. I don't know if I like this (I don't use it, I don't know anyone who does).
Unless anyone has a better idea...
from ircv3-specifications.
We could just leave it alone, which was my proposal. As in, the only option if you didn't want to sanely implement STATUSMSG, but implement other parts of IRCv3 would be explicit optout, i.e. CAP REQ ~statusmsg
.
from ircv3-specifications.
Sure, but it still needs to be documented and standardised then. I'm for opting-out as sort of an anti-CAP.
from ircv3-specifications.
Related Issues (20)
- userip-tag and userhost-tag HOT 21
- Edit Readme
- figure out a license HOT 10
- ratify CHATHISTORY HOT 44
- CHATHISTORY: consider adding a target to retrieve highlights HOT 8
- CHATHISTORY: consider an API to discover DM correspondents HOT 8
- A capability for enabling receiving arbitrary standard replies HOT 3
- ISUPPORT UTF8ONLY is not backwards-compatible. HOT 10
- BOT flag lacks notification of change HOT 5
- sasl spec should clarify that AUTHENTICATE is a normal IRC message HOT 2
- CAP DEL undefined behavior
- oper tag HOT 1
- Unclear how servers should send cap updates HOT 2
- Standardize pre-welcome FAIL ACCOUNT_REQUIRED HOT 3
- Client-tag for specifying in which shared channel a private NOTICE should be displayed HOT 5
- CVE-2022-2663 defence-in-depth: Specify CTCP PING character limits HOT 4
- CHATHISTORY: Clarify a limit of 0 in messages HOT 7
- Multiline messages: Clarify what counts towards max-bytes and what doesn't
- sasl-3.1: Mention size limit of incoming SASL authentication messages HOT 1
- Chat history + Channel rename HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ircv3-specifications.