mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 16:33:27 +00:00
Brings feed-post-style edits to Concord chat. A Concord message rumor is a standard kind-9 event, so an edit reuses Amethyst's native kind-1010 TextNoteModificationEvent: a channel/epoch-bound rumor that e-tags the target and carries the replacement text, wrapped and published on the same channel plane as any other Chat Plane rumor. Receivers overlay the newest edit through the existing shared machinery (LocalCache.findLatestModificationForNote), which only applies edits authored by the original message's author, so a member can't rewrite someone else's message. Clients that don't understand kind-1010 keep showing the original text, so it degrades gracefully. - ChannelChat.edit + ConcordActions.buildChannelEdit build/wrap the edit rumor. - Account.editConcordChannelMessage gates to my own kind-9 messages and publishes the wrap (local echo + relays), mirroring reactToConcordMessage so the edit never leaks the private rumor id onto public relays. - The chat bubble overlays the newest edit (RenderConcordEditedNote) with an "(edited)" marker, matching the Buzz kind-40003 edit presentation. - The long-press action sheet offers Edit on my own Concord messages; the composer enters edit mode with an editing banner and publishes the edit on send. The former onWantsToEditBuzz callback is generalized to onWantsToEditChatMessage, shared by the Buzz and Concord surfaces. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013HdLnAa4Pa1pFV9FTYVTB6