diff --git a/packages/ui/src/components/chat/ChatContainer.tsx b/packages/ui/src/components/chat/ChatContainer.tsx index ad3faaea..47e5d92b 100644 --- a/packages/ui/src/components/chat/ChatContainer.tsx +++ b/packages/ui/src/components/chat/ChatContainer.tsx @@ -14,6 +14,7 @@ import MessageList, { type MessageListHandle } from './MessageList'; import { PermissionCard } from './PermissionCard'; import { QuestionCard } from './QuestionCard'; import { StatusRowContainer } from './StatusRowContainer'; +import { SessionRecapNote } from '@/components/chat/SessionRecapSpacer'; import ScrollToBottomButton from './components/ScrollToBottomButton'; import { ScrollShadow } from '@/components/ui/ScrollShadow'; import { useChatAutoFollow, type AnimationHandlers, type ContentChangeReason } from '@/hooks/useChatAutoFollow'; @@ -266,6 +267,8 @@ const ChatViewport = React.memo(({ )} + +
diff --git a/packages/ui/src/components/chat/ChatInput.tsx b/packages/ui/src/components/chat/ChatInput.tsx index add61bd4..00d7cccf 100644 --- a/packages/ui/src/components/chat/ChatInput.tsx +++ b/packages/ui/src/components/chat/ChatInput.tsx @@ -98,6 +98,7 @@ import { findAttachmentCitationRanges, } from './attachmentCitations'; import { getFileMentionAutocompleteQuery, type FileMentionAutocompleteInputSource } from './fileMentionAutocompleteState'; +import { SessionSuggestionChip } from '@/components/chat/SessionSuggestionChip'; import type { Part } from '@opencode-ai/sdk/v2/client'; const MAX_VISIBLE_TEXTAREA_LINES = 8; @@ -4053,6 +4054,16 @@ const ChatInputComponent: React.FC = ({ onOpenSettings, scrollTo textareaRef.current?.focus({ preventScroll: isCapacitorApp() }); }, []); + const applyAssistSuggestion = React.useCallback((text: string) => { + setMessage(text); + if (isMobile && !mobileComposerExpanded) { + expandMobileComposer('focus'); + } else { + requestAnimationFrame(() => textareaRef.current?.focus()); + } + }, [expandMobileComposer, isMobile, mobileComposerExpanded]); + + const handleMobileNewSession = React.useCallback(() => { if (newSessionDraftOpen) return; openNewSessionDraft(currentDirectory ? { directoryOverride: currentDirectory } : undefined); @@ -4744,6 +4755,13 @@ const ChatInputComponent: React.FC = ({ onOpenSettings, scrollTo )} > {isMobile && !mobileComposerExpanded ? ( +
+
) : ( + <> +