add muted words, blocked relays, search relays, chat groups, emoji list and emoji sets. update set metadata tags.

following @vitorpamplona, @frnandu, @snowcait, @hzrd149
closes https://github.com/nostr-protocol/nips/pull/559
closes https://github.com/nostr-protocol/nips/pull/673
This commit is contained in:
fiatjaf 2023-11-15 20:52:10 -03:00
parent 6c3eebf510
commit 31382e57a1
No known key found for this signature in database
GPG Key ID: BAD43C4BE5C1A3A1
2 changed files with 23 additions and 28 deletions

42
51.md
View File

@ -16,9 +16,6 @@ stored in the `.content`.
## Types of lists ## Types of lists
### Generic lists
## Standard lists ## Standard lists
Standard lists use non-parameterized replaceable events, meaning users may only have a single list Standard lists use non-parameterized replaceable events, meaning users may only have a single list
@ -30,10 +27,14 @@ their feeds or receive annoying notifications from.
| name | kind | description | expected tag items | | name | kind | description | expected tag items |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| Mute list | 10000 | things the user doesn't want to see in their feeds | `"p"` (pubkeys), `"t"` (hashtags) | | Mute list | 10000 | things the user doesn't want to see in their feeds | `"p"` (pubkeys), `"t"` (hashtags), `"word"` (lowercase string), `"e"` (threads) |
| Pin list | 10001 | events the user intends to showcase in their profile page | `"e"` (kind:1 notes) | | Pinned notes | 10001 | events the user intends to showcase in their profile page | `"e"` (kind:1 notes) |
| Bookmarks list | 10003 | things the user intends to save for the future | `"e"` (kind:1 notes), `"a"` (kind:30023 articles) | | Bookmarks | 10003 | things the user intends to save for the future | `"e"` (kind:1 notes), `"a"` (kind:30023 articles) |
| Communities list | 10004 | [NIP-72](72.md) communities the user belongs to | `"a"` (kind:34550 community definitions) | | Communities | 10004 | [NIP-72](72.md) communities the user belongs to | `"a"` (kind:34550 community definitions) |
| Public chats | 10005 | [NIP-28](28.md) chat channels the user is in | `"e"` (kind:40 community definitions) |
| Blocked relays | 10006 | relays clients should never connect to | `"relay"` (relay URLs) |
| Search relays | 10007 | relays clients should use when performing search queries | `"relay"` (relay URLs) |
| Emojis | 10030 | user preferred emojis and pointers to emoji sets | `"emoji"` (see [NIP-30](30.md)) and `"a"` (kind:30030 emoji set) |
## Sets ## Sets
@ -45,18 +46,19 @@ For example, _relay sets_ can be displayed in a dropdown UI to give users the op
relays they will publish an event or from which relays they will read the replies to an event; _curation sets_ relays they will publish an event or from which relays they will read the replies to an event; _curation sets_
can be used by apps to showcase curations made by others tagged to different topics. can be used by apps to showcase curations made by others tagged to different topics.
Aside from their main identifier, the `"d"` tag, sets can optionally have a `"title"`, an `"image"` and a Aside from their main identifier, the `"d"` tag, sets can optionally have a `"name"`, a `"picture"` and an
`"description"` tag that can be used to enhance their UI. `"about"` tag that can be used to enhance their UI.
| name | kind | description | expected tag items | | name | kind | description | expected tag items |
| --- | --- | --- | --- | | --- | --- | --- | --- |
| Follow sets | 30000 | categorized groups of users a client may choose to check out in different circumstances | `"p"` (pubkeys) | | Follow sets | 30000 | categorized groups of users a client may choose to check out in different circumstances | `"p"` (pubkeys) |
| Relay sets | 30002 | user-defined relay groups the user can easily pick and choose from during variadic operations | `"relay"` (relay URLs) | | Relay sets | 30002 | user-defined relay groups the user can easily pick and choose from during variadic operations | `"relay"` (relay URLs) |
| Curation sets | 30004 | groups of articles picked by users as interesting and/or belonging to the same category | `"a"` (kind:30023 articles), `"e"` (kind:1 notes) | | Curation sets | 30004 | groups of articles picked by users as interesting and/or belonging to the same category | `"a"` (kind:30023 articles), `"e"` (kind:1 notes) |
| Emoji sets | 30030 | categorized emoji groups | `"emoji"` (see [NIP-30](30.md)) |
## Deprecated standard lists ## Deprecated standard lists
Some clients have used these lists in the past, but they should work on transitioning to the [standard formats](#standard-lists) above: Some clients have used these lists in the past, but they should work on transitioning to the [standard formats](#standard-lists) above.
| kind | "d" tag | use instead | | kind | "d" tag | use instead |
| --- | --- | --- | | --- | --- | --- |
@ -93,22 +95,10 @@ Some clients have used these lists in the past, but they should work on transiti
"created_at": 1695327657, "created_at": 1695327657,
"kind": 30004, "kind": 30004,
"tags": [ "tags": [
[ ["d", "jvdy9i4"],
"d", ["name", "Yaks"],
"jvdy9i4" ["picture", "https://cdn.britannica.com/40/188540-050-9AC748DE/Yak-Himalayas-Nepal.jpg"],
], ["about", "The domestic yak, also known as the Tartary ox, grunting ox, or hairy cattle, is a species of long-haired domesticated cattle found throughout the Himalayan region of the Indian subcontinent, the Tibetan Plateau, Gilgit-Baltistan, Tajikistan and as far north as Mongolia and Siberia."],
[
"title",
"Yaks"
],
[
"summary",
"The domestic yak, also known as the Tartary ox, grunting ox, or hairy cattle, is a species of long-haired domesticated cattle found throughout the Himalayan region of the Indian subcontinent, the Tibetan Plateau, Gilgit-Baltistan, Tajikistan and as far north as Mongolia and Siberia."
],
[
"image",
"https://cdn.britannica.com/40/188540-050-9AC748DE/Yak-Himalayas-Nepal.jpg"
],
["a", "30023:26dc95542e18b8b7aec2f14610f55c335abebec76f3db9e58c254661d0593a0c:95ODQzw3ajNoZ8SyMDOzQ"], ["a", "30023:26dc95542e18b8b7aec2f14610f55c335abebec76f3db9e58c254661d0593a0c:95ODQzw3ajNoZ8SyMDOzQ"],
["a", "30023:54af95542e18b8b7aec2f14610f55c335abebec76f3db9e58c254661d0593a0c:1-MYP8dAhramH9J5gJWKx"], ["a", "30023:54af95542e18b8b7aec2f14610f55c335abebec76f3db9e58c254661d0593a0c:1-MYP8dAhramH9J5gJWKx"],
["a", "30023:f8fe95542e18b8b7aec2f14610f55c335abebec76f3db9e58c254661d0593a0c:D2Tbd38bGrFvU0bIbvSMt"], ["a", "30023:f8fe95542e18b8b7aec2f14610f55c335abebec76f3db9e58c254661d0593a0c:D2Tbd38bGrFvU0bIbvSMt"],

View File

@ -110,6 +110,10 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
| `10002` | Relay List Metadata | [65](65.md) | | `10002` | Relay List Metadata | [65](65.md) |
| `10003` | Bookmark list | [51](51.md) | | `10003` | Bookmark list | [51](51.md) |
| `10004` | Communities list | [51](51.md) | | `10004` | Communities list | [51](51.md) |
| `10005` | Public chats list | [51](51.md) |
| `10006` | Blocked relays list | [51](51.md) |
| `10007` | Search relays list | [51](51.md) |
| `10030` | User emoji list | [51](51.md) |
| `13194` | Wallet Info | [47](47.md) | | `13194` | Wallet Info | [47](47.md) |
| `22242` | Client Authentication | [42](42.md) | | `22242` | Client Authentication | [42](42.md) |
| `23194` | Wallet Request | [47](47.md) | | `23194` | Wallet Request | [47](47.md) |
@ -122,6 +126,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
| `30004` | Curation sets | [51](51.md) | | `30004` | Curation sets | [51](51.md) |
| `30008` | Profile Badges | [58](58.md) | | `30008` | Profile Badges | [58](58.md) |
| `30009` | Badge Definition | [58](58.md) | | `30009` | Badge Definition | [58](58.md) |
| `30030` | Emoji sets | [51](51.md) |
| `30017` | Create or update a stall | [15](15.md) | | `30017` | Create or update a stall | [15](15.md) |
| `30018` | Create or update a product | [15](15.md) | | `30018` | Create or update a product | [15](15.md) |
| `30023` | Long-form Content | [23](23.md) | | `30023` | Long-form Content | [23](23.md) |