mirror of
https://github.com/PR0M3TH3AN/VoxVera.git
synced 2026-10-27 09:40:40 +00:00
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:
1 parent
9b03ada43a
commit
73c28f31ec
9 files changed
+394
-25
No files matched your search
@@ -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
|
||||
|
||||
+8
-2
@@ -25,7 +25,12 @@ The trust model (#1–#2) has moved from undefined to implemented:
|
||||
loaded flyer (re-publish replaces in place via the `d` tag), re-publish as a
|
||||
keep-alive, or delete it. Delete is belt-and-suspenders: a replaceable
|
||||
**tombstone** (so the board/viewer hide it even on relays that ignore NIP-09)
|
||||
plus a **NIP-09** deletion request. Best-effort, author-only.
|
||||
plus a **NIP-09** deletion request. Best-effort, author-only. These actions are
|
||||
available in the editor and inline on the bulletin board (Edit / Re-broadcast /
|
||||
Delete on your own rows).
|
||||
- **Local blocklist** — a per-device "Block" on the board hides flyers from any
|
||||
author you didn't post (separate from the web-of-trust filter), with a clear
|
||||
control. This is the local blocklist direction from #1.
|
||||
|
||||
All of the above is localized across the 14 languages and covered by the
|
||||
cross-engine Playwright suite. **What remains** on #1–#2 is polish (degree-2
|
||||
@@ -64,7 +69,8 @@ the single biggest liability for promoting the board publicly.
|
||||
- Client-side curation: an allowlist of npubs (a "follows"/featured set) so the
|
||||
default view shows only vetted authors.
|
||||
- A local, user-controlled blocklist / "hide this" with `localStorage`
|
||||
persistence (per-device, no server needed).
|
||||
persistence (per-device, no server needed). **✅ Shipped** — the board's
|
||||
per-row **Block** (`voxvera_blocked_pubkeys`).
|
||||
- A dedicated VoxVera relay (or relay set) that applies its own admission
|
||||
policy, with the public relays as fallback.
|
||||
- A "report" affordance that records to a relay/list a curator can act on.
|
||||
|
||||
Reference in new issue
Block a user