damus-io / damus

iOS nostr client
GNU General Public License v3.0
1.99k stars 288 forks source link

Request Delete notes (deletion request) NIP-09 #14

Open jb55 opened 2 years ago

jb55 commented 2 years ago

You should be able to delete your likes, boosts, DMs and posts

verityj commented 1 year ago

There should be a Delete button, for sure! Following NIP-09. For example, iris.to has it: https://docs.iris.to/features/content#undo-and-delete and like it says "It’s up to relays and other clients to respect the delete request. Consider the delete on Nostr more as a wish than anything else." and that's perfectly fine. But Damus is completely missing this.

jb55 commented 1 year ago

I have nothing against a "Request Delete" button. It should be clear it's not the same as "Delete".

On Fri, Jun 09, 2023 at 07:24:02AM -0700, Verity wrote:

There should be a Delete button, for sure! Following NIP-09. For example, iris.to has it: https://docs.iris.to/features/content#undo-and-delete and like it says "It’s up to relays and other clients to respect the delete request. Consider the delete on Nostr more as a wish than anything else." and that's perfectly fine. But Damus is completely missing this.

alltheseas commented 1 year ago

I'd label 'request to delete' low priority relative to most things devs could work on, and do not recommend to work on this at this point in time

jb55 commented 11 months ago

On Sat, Sep 30, 2023 at 01:28:29PM -0700, alltheseas wrote:

Closed #14 as not planned.

eh I still would like this. I think it might even be required in the EU.

alltheseas commented 7 months ago

Request to Delete:

-can be added in ellipsis menu -there should be a confirmation

Long form and regular note on deletion by Rabble and team:

Https://damus.io/note1hldm4z430w76dn2ywzwjnafytnvyt7gsg6nhk3l8a3x8utzl88asl06u8m

Https://damus.io/note178tfxt6r98e4huv5d8vv7u8x0nkhclt0whcep3z8xutu9uuj4yuqf7syk6

Tldr: -delete is request to delete -more akin to a retraction -a subset of users wont join nostr if there is no delete functionality

alltheseas commented 7 months ago

On further exploration, if we assume that the local Damus database is not permanent, the request to delete will be a relay decision.

However, if Damus has a long-term local database, then the question becomes: if a user retracts/requests to delete a note, should the user who is storing the note locally have the option to honor, or not honor this request?

In other words, when the question of user choice is asked, should we consider the preference of each user in this interaction? Would the "storing" user have a strong preference, or just the "retract" user?

jb55 commented 7 months ago

On Thu, Feb 08, 2024 at 08:48:25AM -0800, alltheseas wrote:

On further exploration, if we assume that the local Damus database is not permanent, the request to delete will be a relay decision.

not sure what "the request to delete will be a relay decision" means>

However, if Damus has a long-term local database, then the question becomes: if a user retracts/requests to delete a note, should the user who is storing the note locally have the option to honor, or not honor this request?

We should honor it obviously, what we show in the UI is just a design decision. People will likely try to reply to the deleted event, what do we do then? Maybe we should just mark the note as deleted in the UI instead of removing it entirely.

rabble commented 7 months ago

I think it’s better to just remove the content from the local store but you do have to be aware it might break things that reference that deleted event. So perhaps overwriting the content of the event is better.

jb55 commented 7 months ago

yeah we can just replace it with a stub/tombstone

alltheseas commented 7 months ago

not sure what "the request to delete will be a relay decision" means>

My best understanding is some relays will not be listening for, or honoring delete requests per NIP-09, unless there is absolute consensus on this by all relay operators running software that honors such requests. I have not verified either way.

yeah we can just replace it with a stub/tombstone

how might this design look like @robagreda 👀

alltheseas commented 6 months ago

tangential: https://github.com/damus-io/damus/issues/51 delete entire DM conversation

alltheseas commented 5 months ago

NostrSDK supports event deletion NIP-09 https://github.com/nostr-sdk/nostr-sdk-ios?tab=readme-ov-file

alltheseas commented 5 months ago

cc @tyiu @bryanmontz @joelklabo

jb55 commented 5 months ago

On Tue, Apr 16, 2024 at 08:45:40AM GMT, alltheseas wrote:

NostrSDK supports event deletion NIP-09 https://github.com/nostr-sdk/nostr-sdk-ios?tab=readme-ov-file

we should really add this, need to add support in nostrdb as well

alltheseas commented 5 months ago

On Tue, Apr 16, 2024 at 08:45:40AM GMT, alltheseas wrote: NostrSDK supports event deletion NIP-09 https://github.com/nostr-sdk/nostr-sdk-ios?tab=readme-ov-file we should really add this, need to add support in nostrdb as well

Does this mean we need a separate corresponding nostrdb technical ticket?

Are you the only able to make the NIP-09 delete request update @jb55 ?

alltheseas commented 4 months ago

if a user wants to delete their "account", should all their notes be mass request deleted as well?

alltheseas commented 4 months ago

if a user wants to delete their "account", should all their notes be mass request deleted as well?

See related https://github.com/damus-io/damus/issues/2259

alltheseas commented 4 weeks ago

NIP dev consensus is established that "delete" terminology shall be replaced by "deletion request" as not to mislead the end user

https://github.com/nostr-protocol/nips/pull/1425