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

Support NIP-10 for client interoperability (thread rendering) (50,000 sats) #528

Closed
Tracked by #2228
ok300 opened this issue Feb 5, 2023 · 3 comments · Fixed by #2190
Closed
Tracked by #2228

Support NIP-10 for client interoperability (thread rendering) (50,000 sats) #528

ok300 opened this issue Feb 5, 2023 · 3 comments · Fixed by #2190
Assignees
Labels

Comments

@ok300
Copy link

ok300 commented Feb 5, 2023

Damus currently uses positional "e" tags to mark the root and the parent in threads.

Other clients like Gossip already support NIP-101, which deprecates positional "e" tags in favor of marked tags.

This leads to different rendering across clients for threads or standalone notes referencing another note.


Here is an example.

The note JSON is

{
  "id": "994a81e7d5137c6fb2e663c91d9436aa32c247f1ae5105c34de924b76cdf51f2",
  "pubkey": "00000000827ffaa94bfea288c3dfce4422c794fbb96625b6b31e9049f729d700",
  "created_at": 1675572483,
  "kind": 1,
  "tags": [
    [ "p", "d5bd2aedd006cf7eda5f39a84c0c1bb98e5f9ac97094631b0ef533d67a0d3896" ],
    [ "e", "ec37c20a54921f48586b4314ea324d499c61649d923615f679684f721c4438c7" ]
  ],
  "content": "Follow #[0] if you haven’t yet and stay tuned to all things Nostr Land!\n\n#[1]",
  "sig": "ce5b4c1dbc844b8e7da96f5061be174ea0f46227a5550574cde2bc4f1380f1ba56fa2fb5ce189ecc2a186fd76deffe0483612a72c6f6dbdbdd12a078901eab7b"
}

In Damus, Cameri's comment appears as standalone note referencing another note:

damus-reply

In Gossip, it appears as a reply in a thread:

Screenshot from 2023-02-05 09-19-10

In iris.to it also appears as a reply in a thread:

iris-reply

Footnotes

  1. https://github.com/nostr-protocol/nips/blob/master/10.md

@alltheseas
Copy link
Collaborator

@tyiu advised

https://github.com/nostr-protocol/nips/blob/master/10.md

The issue is that Damus supports only the old deprecated way of positional event tags, which is that the last tagged event tag is the event that is being replied to. Amethyst supports the new way, which is that each event tag explicitly defines what kind of marker (reply, root, or mention) without needing to rely on event tag ordering. Damus just needs to be fixed to support the new way.

@alltheseas alltheseas added the bounty Sats label Jan 18, 2024
@alltheseas alltheseas changed the title Support NIP-10 for client interoperability (thread rendering) Support NIP-10 for client interoperability (thread rendering) (50,000 sats) Jan 18, 2024
@alltheseas
Copy link
Collaborator

@jb55
Copy link
Collaborator

jb55 commented May 6, 2024

PR open:

Just need a few more tests before we merge

@jb55 jb55 linked a pull request May 6, 2024 that will close this issue
3 tasks
@jb55 jb55 moved this to In Progress in Damus Roadmap 🛣️ May 6, 2024
@jb55 jb55 self-assigned this May 6, 2024
@alltheseas alltheseas mentioned this issue May 7, 2024
15 tasks
@jb55 jb55 closed this as completed in #2190 May 7, 2024
@alltheseas alltheseas moved this from In Progress to Done in Damus Roadmap 🛣️ May 13, 2024
@jb55 jb55 moved this from Done to Live in Damus Roadmap 🛣️ May 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants