delete every version of a calendar event, not just one
Deleting a calendar event (kind 31923) only sent an e tag, which deletes just the one version being viewed. The a tag, which deletes all versions of the event, was only added for stories.
Some relays keep older versions. relay.ditto.pub, for example, holds all 4 versions of "Be the Change Dag". A deleted event can then reappear in an older form.
Both deleteEvent and deleteEventWithAck in nostr-create.js now use one helper, deletionTags(). It adds the a tag for every addressable kind (30000–39999): stories, story drafts and calendar events. Reactions (7) and comments (1111) keep only e. deletion-cache.js already reads a tags correctly, so nothing changes on the read side.
Deleting stories and events through the preview menu and edit flow, and deleting reactions and comments. For stories the tags stay the same.
How to try itOn the preview, log in, create a test event, edit it once so there are 2 versions, then delete it. In DevTools > Network > WS, the kind 5 event should contain ["a","31923:<pubkey>:<d-tag>"] as well as ["e",…] and ["k","31923"]. The event should stay gone after a reload.
Background: "Be the Change Dag" (Sylvia Holtslag) reappeared. Her earlier deletion only reached the old relays, which have since lost it. Once this is live, she needs to delete the event again through the site.
Before you ask for review- [x] Branch named
feat/…,fix/…,chore/…,docs/…orhotfix/… - [x] Commit messages follow Conventional Commits
- [x]
pnpm formathas been run and the checks are green - [ ] Tried it on the preview link
- [x] Rebased on the latest
main
Updates · newest first
- failed ↗ fix: delete every version of a calendar event, not just one