nostr-protocol / nips

Nostr Implementation Possibilities
2.41k stars 586 forks source link

NIP-39: clarify that i tag should be in tags #1364

Closed syusui-s closed 4 months ago

syusui-s commented 4 months ago

Why

The text in addition to the name, about, and picture fields confuses implementers about where the i tag should be placed. This can be interpreted as a "tags" field should be in a JSON in "content" of kind:0.

A new optional `i` tag is introduced for `kind 0` metadata event contents in addition to name, about, picture fields as included in [NIP-01](https://github.com/nostr-protocol/nips/blob/master/01.md):

However, i tag should be in tags directly under the root of event actually.

This PR clarify that i tags should be in "tags" field directly under the root.

Background

I checked the background of this NIP, I found that i tag should be in "tags" directly under the root.

In the very initial version of this NIP, identities was in "content" JSON.

https://github.com/pseudozach/nips/blob/6fdda92a6644eae9545dc50629dd92b9990bb94d/39.md

fiatjaf review this and said,

I've said this on Telegram, but let me say again that I think these fit better in tags. https://github.com/nostr-protocol/nips/pull/201#issuecomment-1407261890

And then, the change was made:

https://github.com/nostr-protocol/nips/pull/201/commits/24d6233f2c346fde00eef65fa8ef1708b5209bea#diff-5368758730d828a473eee52f7dac1b50f72a3c2f5f5d7aa64a28767a489b9d18R15

However, the text in addition to name, about, picture fields was left and is still there today.

Implementation status

Using i tag in tags directly under the root:

Apps which doesn't support NIP-39: Iris, Snort, Damus, Nostrudel, Coracle, Primal, gossip

vitorpamplona commented 4 months ago

Good catch, we have always put it in the tags.