Skip to content

Commit 92b2a27

Browse files
progvaljwheare
andauthored
Remove draft/metadata-notify-2 (#559)
Co-authored-by: James Wheare <james@wheare.org>
1 parent 3775504 commit 92b2a27

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

extensions/metadata.md

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,8 @@ copyrights:
3636
This is a work-in-progress specification.
3737

3838
Software implementing this work-in-progress specification MUST NOT use the
39-
unprefixed `metadata-2` or `metadata-notify-2` capability names.
40-
Instead, implementations SHOULD use the `draft/metadata-2` and
41-
`draft/metadata-notify-2` capability name to be interoperable with other
39+
unprefixed `metadata-2` capability name.
40+
Instead, implementations SHOULD use the `draft/metadata-2` capability name to be interoperable with other
4241
software implementing a compatible work-in-progress version.
4342

4443
The final version of the specification will use an unprefixed capability name.
@@ -60,7 +59,9 @@ Server administrators can setup lists of allowed or blocked keys, and may also r
6059

6160
On joining a server, clients have to configure their 'metadata key [subscriptions](#metadata-sub)'. This is a list of which keys the client understands and wants to get updates about (for example, they may subscribe to a `status` key if they support user-set statuses). By default, this subscription list is empty.
6261

63-
When a channel's metadata is updated, all users in that channel who are subscribed to the changed key will receive a [`METADATA` message](#metadata-server-message) notifying them of the change. When a user's metadata is updated, all users sharing a channel with that user (and all users who have [`draft/metadata-notify-2` requested](#notifications) and are [Monitoring](https://ircv3.net/specs/extensions/monitor.html#monitor-command) that user) will receive a `METADATA` message notifying them of the change.
62+
When metadata is updated, users who have subscribed to the changed key will receive a [`METADATA` message](#metadata-server-message) notifying them of the change.
63+
64+
For channel metadata, this applies only to subscribers who are members of the updated channel. For user metadata, this applies only to subscribers who either share a channel with the updated user or are [monitoring](https://ircv3.net/specs/extensions/monitor.html#monitor-command) them.
6465

6566
On joining a channel, users will get the channel's current metadata sent to them with `METADATA` messages, and get the same information for all users who are in the channel. Specifically, they get that information for the keys they are subscribed to. The server may also tell them to request that information [at a later time](#metadata-sync).
6667

@@ -70,7 +71,7 @@ This specification depends on the [`batch`](../extensions/batch.html) capability
7071

7172
This specification also uses the [standard replies](../extensions/standard-replies.html) framework.
7273

73-
Clients MUST NOT request both (`metadata` or `metadata-notify`) and (`draft/metadata-2` or `draft/metadata-notify-2`). Servers MUST NOT accept these requests either.
74+
Clients MUST NOT request both `metadata-notify` and `draft/metadata-2`. Servers MUST NOT accept these requests either.
7475

7576
## `draft/metadata-2` Capability
7677

@@ -119,7 +120,12 @@ Clients can either be subscribed to a key, or not subscribed to it. By default,
119120

120121
The client will receive [`METADATA` messages](#metadata-server-message) about the keys they are subscribed to. They can also use the [`GET`](#metadata-get) and [`LIST`](#metadata-list) subcommands to receive information about keys they are not subscribed to.
121122

122-
Clients automatically receive metadata updates for themselves (excluding changes they make themselves), channels they are joined to, and other clients in the channels they are joined to. If the `draft/metadata-notify-2` capability is requested, clients also receive metadata updates for the users they are currently monitoring.
123+
Clients automatically receive metadata updates for:
124+
125+
* themselves (excluding changes they make themselves)
126+
* channels they are joined to,
127+
* other clients in the channels they are joined to, and
128+
* users they are currently monitoring.
123129

124130
Servers MUST reply to erroneous requests using [Standard Replies](https://ircv3.net/specs/extensions/standard-replies)
125131

@@ -131,7 +137,7 @@ Here are additional cases where clients will receive `METADATA` messages:
131137

132138
- Upon requesting the `metadata` capability, clients receive their non-transient metadata (for example, metadata stored by the server or by services) in a `metadata` batch with their own nick as target. If none exists, the server MUST send an empty batch instead.
133139
- When subscribing to a key, clients SHOULD receive the current value of that key for channels/users they are receiving updates for.
134-
- If `draft/metadata-notify-2` is negotiated, clients SHOULD receive the current values of keys they are subscribed to when they [`MONITOR`](https://ircv3.net/specs/extensions/monitor.html#monitor-command) a user, or when one of their monitored users comes online.
140+
- Clients SHOULD receive the current values of keys they are subscribed to when they [`MONITOR`](https://ircv3.net/specs/extensions/monitor.html#monitor-command) a user, or when one of their monitored users comes online.
135141

136142
## Postponed synchronization
137143

@@ -722,9 +728,9 @@ As servers may rewrite values set by clients with `METADATA SET`, clients should
722728

723729
*This section is not normative*
724730

725-
This specification replaces the first `metadata` specification, by adding the following incompatible changes:
731+
This specification replaces an earlier deprecated `metadata-notify` specification, by adding the following incompatible changes:
726732

727-
* The `metadata-notify` key subscribed you to all keys. Since we have now added the [`SUB`](#metadata-sub) and [`UNSUB`](#metadata-unsub) subcommands, `metadata-notify-2` does not act in this way.
733+
* The `metadata-notify` cap subscribed you to all keys. With the addition of explicit [`SUB`](#metadata-sub) and [`UNSUB`](#metadata-unsub) subcommands, this is no longer the case.
728734
* Rate limiting protocol mechanics.
729735
* Support for delayed synchronization and `METADATA SYNC`.
730736
* Moved `ERR_*` replies to Standard Replies format

0 commit comments

Comments
 (0)