mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-09 16:14:40 +00:00
Merge-readiness audit follow-ups: - Account.report(note): reporting a private rumor now reports the AUTHOR (p-tag only) instead of publishing a kind-1984 that e-tags the private rumor id onto public relays (the one confirmed leak) - Defense-in-depth guards at the model layer so the invariant no longer relies on UI gating alone: RepostAction.repost returns null / throws for empty-sig targets (covers Account.boost, createBoostEvent, and the desktop call path), ReactionAction.reactTo (simple overload) throws, and Account.broadcast no-ops for unsigned non-wrapped events — without the guard it would disclose the rumor JSON to relays even though they reject the signature - Hide remaining actions that can't work on private rumors, per review: share buttons (action row, both note menus) and all bookmark/playlist/ emoji-list rows (their lists reference an id other devices can't resolve; public lists would also leak it) - ZapCustomDialog: remember(accountViewModel, baseNote) so the preselected zap type can't go stale on lazy-list slot reuse Broadcast of the gift wrap itself (like DMs do via WrappedEvent.host) needs host tracking for non-WrappedEvent rumor kinds in quartz — left as a follow-up; the broadcast row stays hidden for kind-1 rumors. https://claude.ai/code/session_01B39MQmrT3dz137nfpXABvo