Bulletin board: per-row manage (edit / re-broadcast / delete) + local Block

Add inline management to the board for the connected viewer:

- On your own flyers: Edit (links to /?edit=1#<naddr>, which the main client
  now honors by loading the flyer straight into the editor), Re-broadcast
  (re-sends the already-signed event to all relays — no signing), and Delete
  (replaceable tombstone + NIP-09, signed via the device key or NIP-07; a
  pasted-nsec connection is pointed to the editor where the key is available).
- On flyers from others: Block — a per-device blocklist of author pubkeys
  (voxvera_blocked_pubkeys) that always hides them, with a "Clear blocked"
  control. This is roadmap #1's local blocklist direction.

The board hides tombstoned flyers (newest-version-wins so a delete can't be
undone by an older copy). New non-sortable actions column; a board delete-
confirm modal; 12 new strings × 14 languages. Adds e2e for block (hide/persist/
clear), own-vs-other actions, and board delete (tombstone + NIP-09 published),
plus a ?edit=1 deep link. 234 e2e across all six engines; docs updated.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
thePR0M3TH3ANandClaude Opus 4.8 committed 2026-06-10 20:06:07 -04:00
1 parent 9b03ada43a
commit 73c28f31ec
9 files changed
+394 -25

No files matched your search

+9
View File
@@ -276,6 +276,15 @@ de-duplicated per author+`d` identifier, keeping the latest.
link).
- The npub column is forward-looking — anonymous keys today, but a stable
identity per author maps cleanly onto this view later.
- **Per-row actions.** On flyers the connected viewer authored, the board shows
**Edit** (a link to `/?edit=1#<naddr>`, which loads the flyer in the editor),
**Re-broadcast** (re-sends the already-signed event to all relays — no signing
needed), and **Delete** (tombstone + NIP-09; the board signs via the device
key or NIP-07, and for a pasted-nsec connection it points to the editor). On
flyers from others it shows **Block** — a per-device blocklist of author
pubkeys (`voxvera_blocked_pubkeys`) that always hides them, with a "Clear
blocked" control. The blocklist is local "hide this," separate from the
web-of-trust filter (roadmap #1).
The login gate (Phase 1) and the web-of-trust filter (Phase 2) are in place.
Remaining gaps — degree-2 trust, a blocklist/report flow, NIP-05 badges, and