mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 08:04:45 +00:00
5 issues from davotoula's review on PR #3124: - #3 (protocol): inline reply emitted a minimal e/p tag set instead of NIP-10. Extract `commons/actions/ReplyActions.replyTo` wrapping `TextNoteEvent.build(replyingTo=)` (which already encodes root marker, reply marker, parent root-e-tag carry) + carry parent's p-tag chain via `notify(...)`. Replies to deep-thread notes now thread correctly in Damus/Primal/Coracle. Covered by `ReplyActionsTest`. - #4 (architecture): reaction/follow/reply each inlined `localCache.consume + relayManager.broadcastToAll` in 5 sites with inconsistent ordering. Extract `desktopApp/cache/dispatch(...)` — canonical local-first order — and route all 5 sites through it. - #1 (UX): related-content section scanned the cache once via `DisposableEffect(noteId)` and never refreshed. Switch to `produceState` collecting `DesktopLocalCache.eventStream.newEventBundles`; re-scan only when an arriving bundle contains a candidate (matching hashtag or author). `LargeCache.notes` is a ConcurrentSkipListMap (weakly consistent iterator) so the scan stays safe on the composition coroutine. - #2 (UX): `DeckColumnContainer` re-requested focus on every `currentOverlay` change, stealing focus from sibling columns whenever any column mutated overlay state. Drop to `LaunchedEffect(Unit)` and wrap the column in `key(column.id)` in `DeckLayout` so the one-shot effect survives column reordering. - #5 (consistency): zap totals bypassed the shared `ZapFormatter`. Wire `RelatedContentRow`, `CommentItem`, and `NoteActions` to `commons/util/ZapFormatter.{showAmount,toZapAmount}`; delete `formatZapAmount` and `formatSats` desktop-local helpers. `WalletColumnScreen.formatSats` intentionally kept — locale-aware full precision for wallet balance is by design. Plan: docs/plans/2026-06-02-fix-desktop-feed-review-findings-plan.md Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>