-
Notifications
You must be signed in to change notification settings - Fork 577
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
Add annotations #1091
base: master
Are you sure you want to change the base?
Add annotations #1091
Conversation
I like it. This also fixes broken URLs and all sorts of things? |
Could clients reliably implement this by just visually appending the content of annotations to the bottom of the original post? |
Maybe rename it to "Additions", then? |
That's how I would do it, maybe after a rule EDIT: like this |
Of the last 5 PRs, I like this one the best. |
So, I was testing this out and I realized that if people start using the The edit notation only works for folks coming back to something they have already read. That's what @staab mentioned. However, because of the nature of kind1s, most posts will be new ones. And if it is a new post, you don't want to read the post and read 2-3 edits. You will be like: "Just fix the main post. Delete it and write it again. Whatever. But don't pollute my feed" |
If you are evaluating this using as data source the current Amethyst edit function, it could be a false positive, related to the fact the users are induced to use the edit, even several times, because it seems transparent to the original notes. So they probably put less attention when they compose the original notes. Il like this annotation proposal, it requires more awareness in content creation. {
"kind": 1,
"pubkey": "<pubkey>",
"tags": [
["e", "<event_id>", "<relay_hint>", "annotation"]
],
"content": "EDIT: I forgot to say...",
// ...other fields
} You could also use a new tag to report the annotation, if you do not want to extend the basic |
I think I agree with @dtonon. Normally a new feature should not break existing clients, and we ensure that by using something distinct that existing clients won't recognize. But an annotation would be even more broken if it wasn't shown at all by old clients. They need to work in existing clients that don't support annotations by being (in that case) a reply. So using an "annotation" marker makes the most sense to me at this point. The clients supporting annotations can check if the pubkeys match and render these special replies inside the original note, and those that don't will show them as replies so the content is not lost. EDIT: Actually they probably have to be marked "reply" to work in old clients... and then have some additional signalling mechanism indicating that they are an annotation style reply. |
Agreed, just updated the NIP text. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved
Implemented in gossip on a private branch, will move through unstable to master once the impl is cleaned up. |
I've discovered a kink. What if someone replies to the annotation event? I guess I can show it as a reply to the main event. |
This is probably ok. If annotations aren't supported, it'll work as usual, if they are, then clients should have a strategy for handling this. I'll add it to the NIP. |
Annotations are preferable to edits, because they leave the original content of a note unchanged. This reduces the amount of possible confusion when comments don't match the version of the note that is fetched. You can see a revealed preference for this behavior on github issues and stack overflow posts; it is far preferable when editing comments to add a new line beginning with EDIT or UPDATE than to transparently update the main body of content.