mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 00:16:59 +00:00
Adds the two-way reply model: an INLINE reply stays in the timeline (native chat message referencing its parent), a MINICHAT reply is a kind-1111 NIP-22 comment pulled into a thread opened from the parent — matching Armada. Foundation (quartz/commons): - ReplyMode enum (INLINE default, MINICHAT). - ChannelChat.inlineReply / ConcordActions.buildChannelInlineReply restore the kind-9 q-tag quote path alongside the existing kind-1111 ChannelChat.reply. - ChannelFeedFilter excludes kind-1111 CommentEvents from the chat timeline (they belong in the minichat), so inline replies stay and thread replies move aside. - observeNoteMinichatReplyCount: local count of a message's kind-1111 replies. Concord composer + send (amethyst): - ConcordNewMessageViewModel gains a replyMode state + toggle; the composer shows a "In chat" / "In thread" toggle beside the reply preview. - Account.sendConcordChannelMessage routes MINICHAT to kind-1111, INLINE to kind-9 quote, fresh post to kind-9 message. Shared row chip (all chat types): - ChatMessageCompose's action row shows an "N replies" chip when a message has kind-1111 thread replies; tapping opens the thread. Wired to the thread view for now; a chat-styled minichat screen and NIP-28/NIP-29 loading follow. Plan: amethyst/plans/2026-07-12-dual-reply-minichat.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CzJ2Cwo8tg4oZq43oRa3ig