upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2024-08-15 16:34:52 -0500
committerGitHub <noreply@github.com>2024-08-15 16:34:52 -0500
commit2c7e2af15fbdf09bec5c673a56010797f02f206f (patch)
treebc8b1b5ae667d3d38f3c042b1979a4f0a432c434
parent645a562a8b870a41fd953a422e171b33f74aef07 (diff)
parent0ee877275a339d7a29915ddb6a4b37feb714c61d (diff)
Merge pull request #1425 from tyiu/rename-delete-to-retract
Update NIP-09 to rename to deletion request
-rw-r--r--09.md24
-rw-r--r--32.md2
-rw-r--r--34.md2
-rw-r--r--71.md2
-rw-r--r--72.md2
-rw-r--r--README.md4
6 files changed, 19 insertions, 17 deletions
diff --git a/09.md b/09.md
index b6aa72c..e1be542 100644
--- a/09.md
+++ b/09.md
@@ -1,14 +1,14 @@
1NIP-09 1NIP-09
2====== 2======
3 3
4Event Deletion 4Event Deletion Request
5-------------- 5--------------
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9A special event with kind `5`, meaning "deletion" is defined as having a list of one or more `e` or `a` tags, each referencing an event the author is requesting to be deleted. Deletion requests SHOULD include a `k` tag for the kind of each event being deleted. 9A special event with kind `5`, meaning "deletion request" is defined as having a list of one or more `e` or `a` tags, each referencing an event the author is requesting to be deleted. Deletion requests SHOULD include a `k` tag for the kind of each event being requested for deletion.
10 10
11The event's `content` field MAY contain a text note describing the reason for the deletion. 11The event's `content` field MAY contain a text note describing the reason for the deletion request.
12 12
13For example: 13For example:
14 14
@@ -28,24 +28,26 @@ For example:
28} 28}
29``` 29```
30 30
31Relays SHOULD delete or stop publishing any referenced events that have an identical `pubkey` as the deletion request. Clients SHOULD hide or otherwise indicate a deletion status for referenced events. 31Relays SHOULD delete or stop publishing any referenced events that have an identical `pubkey` as the deletion request. Clients SHOULD hide or otherwise indicate a deletion request status for referenced events.
32 32
33Relays SHOULD continue to publish/share the deletion events indefinitely, as clients may already have the event that's intended to be deleted. Additionally, clients SHOULD broadcast deletion events to other relays which don't have it. 33Relays SHOULD continue to publish/share the deletion request events indefinitely, as clients may already have the event that's intended to be deleted. Additionally, clients SHOULD broadcast deletion request events to other relays which don't have it.
34 34
35When an `a` tag is used, relays SHOULD delete all versions of the replaceable event up to the `created_at` timestamp of the deletion event. 35When an `a` tag is used, relays SHOULD delete all versions of the replaceable event up to the `created_at` timestamp of the deletion request event.
36 36
37## Client Usage 37## Client Usage
38 38
39Clients MAY choose to fully hide any events that are referenced by valid deletion events. This includes text notes, direct messages, or other yet-to-be defined event kinds. Alternatively, they MAY show the event along with an icon or other indication that the author has "disowned" the event. The `content` field MAY also be used to replace the deleted events' own content, although a user interface should clearly indicate that this is a deletion reason, not the original content. 39Clients MAY choose to fully hide any events that are referenced by valid deletion request events. This includes text notes, direct messages, or other yet-to-be defined event kinds. Alternatively, they MAY show the event along with an icon or other indication that the author has "disowned" the event. The `content` field MAY also be used to replace the deleted events' own content, although a user interface should clearly indicate that this is a deletion request reason, not the original content.
40 40
41A client MUST validate that each event `pubkey` referenced in the `e` tag of the deletion request is identical to the deletion request `pubkey`, before hiding or deleting any event. Relays can not, in general, perform this validation and should not be treated as authoritative. 41A client MUST validate that each event `pubkey` referenced in the `e` tag of the deletion request is identical to the deletion request `pubkey`, before hiding or deleting any event. Relays can not, in general, perform this validation and should not be treated as authoritative.
42 42
43Clients display the deletion event itself in any way they choose, e.g., not at all, or with a prominent notice. 43Clients display the deletion request event itself in any way they choose, e.g., not at all, or with a prominent notice.
44
45Clients MAY choose to inform the user that their request for deletion does not guarantee deletion because it is impossible to delete events from all relays and clients.
44 46
45## Relay Usage 47## Relay Usage
46 48
47Relays MAY validate that a deletion event only references events that have the same `pubkey` as the deletion itself, however this is not required since relays may not have knowledge of all referenced events. 49Relays MAY validate that a deletion request event only references events that have the same `pubkey` as the deletion request itself, however this is not required since relays may not have knowledge of all referenced events.
48 50
49## Deleting a Deletion 51## Deletion Request of a Deletion Request
50 52
51Publishing a deletion event against a deletion has no effect. Clients and relays are not obliged to support "undelete" functionality. 53Publishing a deletion request event against a deletion request has no effect. Clients and relays are not obliged to support "unrequest deletion" functionality.
diff --git a/32.md b/32.md
index 0fb765a..92d18eb 100644
--- a/32.md
+++ b/32.md
@@ -145,7 +145,7 @@ Author is labeling their note language as English using ISO-639-1.
145Other Notes 145Other Notes
146----------- 146-----------
147 147
148When using this NIP to bulk-label many targets at once, events may be deleted and a replacement 148When using this NIP to bulk-label many targets at once, events may be requested for deletion using [NIP-09](09.md) and a replacement
149may be published. We have opted not to use parameterizable/replaceable events for this due to the 149may be published. We have opted not to use parameterizable/replaceable events for this due to the
150complexity in coming up with a standard `d` tag. In order to avoid ambiguity when querying, 150complexity in coming up with a standard `d` tag. In order to avoid ambiguity when querying,
151publishers SHOULD limit labeling events to a single namespace. 151publishers SHOULD limit labeling events to a single namespace.
diff --git a/34.md b/34.md
index 4989803..69f460b 100644
--- a/34.md
+++ b/34.md
@@ -53,7 +53,7 @@ An optional source of truth for the state of branches and tags in a repository.
53 53
54The `refs` tag may appear multiple times, or none. 54The `refs` tag may appear multiple times, or none.
55 55
56If no `refs` tags are present, the author is no longer tracking repository state using this event. This approach enables the author to restart tracking state at a later time unlike [NIP-09](09.md) deletion. 56If no `refs` tags are present, the author is no longer tracking repository state using this event. This approach enables the author to restart tracking state at a later time unlike [NIP-09](09.md) deletion requests.
57 57
58The `refs` tag can be optionally extended to enable clients to identify how many commits ahead a ref is: 58The `refs` tag can be optionally extended to enable clients to identify how many commits ahead a ref is:
59 59
diff --git a/71.md b/71.md
index a811434..2743b2b 100644
--- a/71.md
+++ b/71.md
@@ -6,7 +6,7 @@ Video Events
6 6
7`draft` `optional` 7`draft` `optional`
8 8
9This specification defines video events representing a dedicated post of externally hosted content. These video events are _parameterized replaceable_ and deletable per [NIP-09](09.md). 9This specification defines video events representing a dedicated post of externally hosted content. These video events are _parameterized replaceable_ and delete requestable per [NIP-09](09.md).
10 10
11Unlike a `kind 1` event with a video attached, Video Events are meant to contain all additional metadata concerning the subject media and to be surfaced in video-specific clients rather than general micro-blogging clients. The thought is for events of this kind to be referenced in a Netflix, YouTube, or TikTok like nostr client where the video itself is at the center of the experience. 11Unlike a `kind 1` event with a video attached, Video Events are meant to contain all additional metadata concerning the subject media and to be surfaced in video-specific clients rather than general micro-blogging clients. The thought is for events of this kind to be referenced in a Netflix, YouTube, or TikTok like nostr client where the video itself is at the center of the experience.
12 12
diff --git a/72.md b/72.md
index d19b80b..b2f523b 100644
--- a/72.md
+++ b/72.md
@@ -62,7 +62,7 @@ An approval event MUST include one or more community `a` tags, an `e` or `a` tag
62 62
63The event SHOULD also include the JSON-stringified `post request` event inside the `.content`, and a `k` tag with the original post's event kind to allow filtering of approved posts by kind. 63The event SHOULD also include the JSON-stringified `post request` event inside the `.content`, and a `k` tag with the original post's event kind to allow filtering of approved posts by kind.
64 64
65Moderators MAY delete their approval of a post at any time using NIP 09 event deletions. 65Moderators MAY request deletion of their approval of a post at any time using [NIP-09 event deletion requests](09.md).
66 66
67```jsonc 67```jsonc
68{ 68{
diff --git a/README.md b/README.md
index e9a10a4..8bf036b 100644
--- a/README.md
+++ b/README.md
@@ -30,7 +30,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
30- [NIP-06: Basic key derivation from mnemonic seed phrase](06.md) 30- [NIP-06: Basic key derivation from mnemonic seed phrase](06.md)
31- [NIP-07: `window.nostr` capability for web browsers](07.md) 31- [NIP-07: `window.nostr` capability for web browsers](07.md)
32- [NIP-08: Handling Mentions](08.md) --- **unrecommended**: deprecated in favor of [NIP-27](27.md) 32- [NIP-08: Handling Mentions](08.md) --- **unrecommended**: deprecated in favor of [NIP-27](27.md)
33- [NIP-09: Event Deletion](09.md) 33- [NIP-09: Event Deletion Request](09.md)
34- [NIP-10: Conventions for clients' use of `e` and `p` tags in text events](10.md) 34- [NIP-10: Conventions for clients' use of `e` and `p` tags in text events](10.md)
35- [NIP-11: Relay Information Document](11.md) 35- [NIP-11: Relay Information Document](11.md)
36- [NIP-13: Proof of Work](13.md) 36- [NIP-13: Proof of Work](13.md)
@@ -99,7 +99,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
99| `2` | Recommend Relay | 01 (deprecated) | 99| `2` | Recommend Relay | 01 (deprecated) |
100| `3` | Follows | [02](02.md) | 100| `3` | Follows | [02](02.md) |
101| `4` | Encrypted Direct Messages | [04](04.md) | 101| `4` | Encrypted Direct Messages | [04](04.md) |
102| `5` | Event Deletion | [09](09.md) | 102| `5` | Event Deletion Request | [09](09.md) |
103| `6` | Repost | [18](18.md) | 103| `6` | Repost | [18](18.md) |
104| `7` | Reaction | [25](25.md) | 104| `7` | Reaction | [25](25.md) |
105| `8` | Badge Award | [58](58.md) | 105| `8` | Badge Award | [58](58.md) |