Commit Graph
22 Commits
Author SHA1 Message Date
thePR0M3TH3ANandClaude Opus 4.8 f7cea24068 [comments] honor NIP-09 deletions in comment threads
Deleted comments previously persisted (no kind-5 handling; the thread cache
only merged-in). The thread service now processes NIP-09 deletion requests:

- A kind-5 event removes a target comment only when it is signed by that
  comment's own author (you cannot delete someone else's comment). The author
  match is the security boundary.
- Deletions are remembered per target, so a comment that arrives after its
  author's deletion (out-of-order relays) is suppressed on insert.
- On load, after fetching the thread, deletions for the loaded comment ids are
  fetched (kind 5, #e: ids) and applied before the thread is rendered, so the
  cache can't resurrect a deleted comment. Removal re-renders the thread.
- Replies to a removed comment become unreachable from the root and are hidden
  with their deleted parent.

`fetchDeletionEvents` is injectable; the default queries the relay pool. Live
deletions mid-session aren't subscribed yet (a kind-5 can't be scoped by the
video upfront) — deletions are honored on each thread open.

Tests: author-signed deletion removes the comment; a non-author deletion is
ignored; an out-of-order deletion suppresses the later comment. Both the
author-match and the suppress-on-insert guard are mutation-verified.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-18 13:55:03 -04:00
google-labs-jules[bot] 7743572a22 chore(ai): CI health fixes (flaky tests) 2026-01-18 02:39:42 +00:00
google-labs-jules[bot] d6882fb5bb Fix CI, environment, linting, and unit test issues
- Fix circular dependency in `js/adminListStore.js` by importing from `js/nostrClientRegistry.js`.
- Update `js/services/hashtagPreferencesService.js` to include legacy kind 30005 in filters.
- Fix JSDOM mocking in `tests/modal-accessibility.test.mjs` (navigator getter) and `UploadModal` selectors.
- Add `getRoot()` to `js/ui/components/UploadModal.js` for API consistency.
- Update `tests/magnet-utils.test.mjs` expectations to reflect removed default tracker.
- Mock `ensureActiveSignerForPubkey` in `tests/moderation/submit-report.test.mjs`.
- Fix mock loader path in `tests/moderation/trust-seeds.test.mjs` to target `trustBootstrap.js`.
- Fix duplicate pointer tags in `js/nostrEventSchemas.js`'s `buildCommentEvent`.
- Update `tests/nostr/comment-events.test.mjs` and `tests/comment-event-builder.test.mjs` to match current code behavior (legacy kinds, unique tags).
2026-01-13 20:32:06 +00:00
thePR0M3TH3AN 5979d4e25f Use uppercase tags for comment events 2026-01-06 16:22:49 -05:00
thePR0M3TH3AN 3e27f06a13 Add comment thread and modal regression tests 2025-12-29 22:00:32 -05:00
thePR0M3TH3AN 3c6e397984 Improve profile hydration retry diagnostics 2025-12-29 21:19:00 -05:00
thePR0M3TH3AN 735d67313c Add shared hex normalization for comment flows 2025-12-12 13:42:15 -05:00
thePR0M3TH3AN 624ab91c29 Add dev logging for improved comment cache fallback 2025-12-12 12:33:15 -05:00
thePR0M3TH3AN 7a56e7a691 Surface comment cache storage failures 2025-12-12 12:10:37 -05:00
thePR0M3TH3AN 2dd2be9345 Normalize comment thread event ids 2025-12-12 11:05:00 -05:00
thePR0M3TH3AN a6dcc44c12 Normalize comment cache keys 2025-12-12 10:29:33 -05:00
thePR0M3TH3AN 04e72a0b46 Propagate video root identifier from pointer metadata 2025-11-14 09:30:01 -05:00
thePR0M3TH3AN 8a111d8ee8 Handle lowercase root identifiers when fetching comments 2025-11-12 20:56:15 -05:00
thePR0M3TH3AN 74bbe8e078 Add root identifier plumbing to modal comments 2025-11-12 20:31:43 -05:00
thePR0M3TH3AN 8258686f55 Preserve raw video author pubkeys for comment threads 2025-11-03 21:27:30 -05:00
thePR0M3TH3AN d9b45ed867 Ensure comment events keep root e tags alongside addresses 2025-11-03 09:56:33 -05:00
thePR0M3TH3AN 86526bbe02 Fix top-level comment detection and add coverage 2025-10-30 21:00:38 -04:00
thePR0M3TH3AN 56b31f324e Improve comment metadata propagation 2025-10-29 15:24:10 -04:00
thePR0M3TH3AN a4e6db7151 Allow comments without definition address 2025-10-29 09:20:05 -04:00
thePR0M3TH3AN 10d4bed989 test: cover video modal comments and thread service 2025-10-24 16:14:54 -04:00
thePR0M3TH3AN 92962f3b3d Refine comment thread service wiring 2025-10-24 15:54:25 -04:00
thePR0M3TH3AN 54d321d4c7 Add comment thread service with profile hydration and shared video pointer 2025-10-24 15:09:11 -04:00