Skip to content
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

Clarify quote reposts #1525

Merged

Conversation

staab
Copy link
Member

@staab staab commented Oct 2, 2024

This change is fairly opinionated in terms of dictating best practices. I'm also not sure if address support is desired/implemented anywhere, so I'm happy to take that out if appropriate.

The diff is kind of hard to read because I moved the quote reposts section to the bottom of the NIP for better readability.

@mikedilger
Copy link
Contributor

I agree that the q needs to be explained.

Allowing an address on the same tag is a bit risky (we didn't do that with 'e' we created 'a' instead).

I sure wish references just worked simply and worked everywhere (e.g. instead of the id being a hash it was a construction that could be replaced, and the hash was just a hash). But that is a pipedream, don't get distracted by my musing.

@mikedilger
Copy link
Contributor

Also, I'm not sure why we have quote reposts at all. I have no idea when my user intends to send a kind-6 repost or a kind-1 quote repost or a kind-1 mention. So gossip only generates kind-6 reposts and kind-1 mentions.

Copy link
Member

@pablof7z pablof7z left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. I think we should make it explicit to say that a quote should also have the k tag in addition to the q tag.

@staab
Copy link
Member Author

staab commented Oct 2, 2024

Also, I'm not sure why we have quote reposts at all. I have no idea when my user intends to send a kind-6 repost or a kind-1 quote repost or a kind-1 mention. So gossip only generates kind-6 reposts and kind-1 mentions.

IMO kind 1 quote reposts are the same as kind 1 mentions semantically. e tags with a mention mark are evil when they're not in the reply tree.

@1l0
Copy link

1l0 commented Oct 3, 2024

I think the "Quote repost" is unnecessary. Only the quotes should be there. Also NIP-10 should be deprecated.

recommend k tag for quotes

If you have multiple q tags (though I'm not sure if this is allowed), how do you handle the k tag?

@dluvian
Copy link
Contributor

dluvian commented Oct 3, 2024

I think the definition of q is misplaced under this nip, but I also don't know where else to put it. Maybe nip24. Here's the comment I made regarding this issue:

I like the q tag. I forgot that it exists. Going over the main README, I find nothing that describes quotes/references. It's kind of hidden under the Reposts nip. (#1233 (comment))

@dluvian
Copy link
Contributor

dluvian commented Oct 3, 2024

If you have multiple q tags (though I'm not sure if this is allowed), how do you handle the k tag?

Get rid of the k tag. Is there any case you want to query the kind of a referenced event?
It should be a requirement to encode the kind number in the nevent. note is assumed to be kind 1 and naddr always has a kind.

@1l0
Copy link

1l0 commented Oct 3, 2024

I think the definition of q is misplaced under this nip, but I also don't know where else to put it.

I suggest merging into NIP-27.

18.md Outdated Show resolved Hide resolved
@AsaiToshiya
Copy link
Collaborator

I'm also not sure if address support is desired/implemented anywhere

For this reason, I feel there is no need to support the addressable for now.

@staab
Copy link
Member Author

staab commented Oct 3, 2024

Ok, I've dropped the stuff about k and address . This is now a pretty trivial change. I do think that based on the comments, quote reposts should be moved out of this NIP, and NIPs 10, 24, and 27 should be combined and heavily edited for clarity.

18.md Outdated

`["q", <event-id>, <relay-url>, <pubkey>]`

Quote reposts MUST include the [NIP-19](19.md) `nevent`, `note`, or `naddr` of the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NIP-21, in fact

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I know😅

@vitorpamplona
Copy link
Collaborator

How are we thinking about solving the address issue? I am one that needs to quote the address, not just the event id.

It's weird to write a nostr:naddr in the .content and then force it to a given version in the q tag. If the user wanted to quote a given replaceable version he/she would write a nostr:nevent but that's not what's happening.

@mikedilger
Copy link
Contributor

Also, I'm not sure why we have quote reposts at all. I have no idea when my user intends to send a kind-6 repost or a kind-1 quote repost or a kind-1 mention. So gossip only generates kind-6 reposts and kind-1 mentions.

I was wrong. Gossip is using q tags, not e tags with mention markers.

Also, +1 on this PR as it currently is.

@alexgleason alexgleason merged commit 38af1ef into nostr-protocol:master Oct 7, 2024
@staab
Copy link
Member Author

staab commented Oct 7, 2024

It's weird to write a nostr:naddr in the .content and then force it to a given version in the q tag.

I agree. My vote would be to have a different version of the q tag for addresses (since they don't need the pubkey hint). This may break some clients, but it's really just due to forward incompatibility.

@staab staab deleted the clarify-quote-reposts branch October 16, 2024 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants