-
Notifications
You must be signed in to change notification settings - Fork 79
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 metadata-2 spec #501
Add metadata-2 spec #501
Conversation
Like every other spec
|
Their first argument is the requesting client (like any numeric), followed by the target (their first own argument)
for consistency with other specs
…iple params It simplifies parsing, as it's tokenized by the main parser this way.
When I'm joining a new channel (or receiving a join from a bouncer), I might want to wait until I've gathered all the information about a channel before displaying it. Right now I wait until RPL_ENDOFNAMES before considering the join complete and showing it. The current spec gives 2 examples:
Is it guaranteed that I will receive either a metadata batch or an RPL_METADATASYNCLATER on join? In which case, can I wait on either of those before considering the entire join complete? Maybe that should be made clearer in the spec? (If it's a RPL_METADATASYNCLATER I'll probably give up waiting and show the channel immediately, then sync the contents later.) |
First, this implements support for the metadata-2 specification, work-in-progress by progval on ircv3-specifications [1]. The METADATA implementation is bouncer-only (namely, it does not interact with any upstream METADATA). The implementation is specific in that there are only 2 supported keys: "pinned" and "muted". The user cannot set any other keys. Those keys can only be "0" or "1", representing a boolean. This enables downstreams to get/set two flags on each "message target" (which can be either users or channels): pinned and muted. - "pinned" is "1" when the channel should be pinned in the client, e.g. shown at the top of the channel list - "muted" is "1" when the channel should be muted, e.g. have its notifications on non-highlights hidden The actual specific client behavior for "pinned" and "muted" is not defined here. This just enabels clients to get/set the flags. [1]: ircv3/ircv3-specifications#501
Is this good to be merged as draft so we can encourage more implementation, and remove the confusing "deprecated" status metadata has on the website? |
I think so, and it will make it easier to iterate with new PRs. |
As far as I am aware, it addresses all known issues with the current deprecated metadata spec (listed in #339).
It is based on @DanielOaks' latest version, which is itself based on #339. Notable changes since dan's version are:
metadata-2
, since it is a breaking change compared to the deprecated specrendered