Offer Side conversation on thread messages

The action reached the main timeline's rows but was never threaded
into MessageThreadPanel, so messages inside a thread had no handler
and the menu item silently didn't render. The panel now accepts
onStartSideConversation and passes it to both the thread head and
reply rows; ChannelPane forwards the same archived-gated handler the
main timeline uses.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
klopez4212
2026-07-04 16:36:37 +01:00
parent 67bdfcfc0b
commit 38c9ab7ab5
2 changed files with 5 additions and 0 deletions

View File

@@ -775,6 +775,7 @@ export const ChannelPane = React.memo(function ChannelPane({
onExpandReplies={onExpandThreadReplies}
onSelectReplyTarget={onSelectThreadReplyTarget}
onSend={onSendThreadReply}
onStartSideConversation={onStartSideConversation}
onScrollTargetResolved={onThreadScrollTargetResolved}
onToggleReaction={onToggleReaction}
onUnfollowThread={onUnfollowThread}

View File

@@ -95,6 +95,7 @@ type MessageThreadPanelProps = {
isFollowingThread?: boolean;
isMessageUnreadById?: (messageId: string) => boolean;
onFollowThread?: () => void;
onStartSideConversation?: (message: TimelineMessage) => void;
onUnfollowThread?: () => void;
};
@@ -313,6 +314,7 @@ export function MessageThreadPanel({
onSelectReplyTarget,
onSend,
onToggleReaction,
onStartSideConversation,
onUnfollowThread,
profiles,
replyTargetMessage,
@@ -632,6 +634,7 @@ export function MessageThreadPanel({
onMarkUnread={onMarkUnread}
onMarkRead={onMarkRead}
onToggleReaction={onToggleReaction}
onStartSideConversation={onStartSideConversation}
onUnfollowThread={
onUnfollowThread ? (_msg) => onUnfollowThread() : undefined
}
@@ -773,6 +776,7 @@ export function MessageThreadPanel({
}
onMarkUnread={onMarkUnread}
onMarkRead={onMarkRead}
onStartSideConversation={onStartSideConversation}
onReply={onSelectReplyTarget}
onToggleReaction={onToggleReaction}
profiles={profiles}