会话页面发送消息后检查当前 tab 是否为临时,如果是临时则将其转为持久tab

This commit is contained in:
xintaofei
2026-03-25 00:34:54 +08:00
parent 0fc829a618
commit f6a9da79df

View File

@@ -140,7 +140,7 @@ const ConversationTabView = memo(function ConversationTabView({
const tWelcome = useTranslations("Folder.chat.welcomeInputPanel") const tWelcome = useTranslations("Folder.chat.welcomeInputPanel")
const sharedT = useTranslations("Folder.chat.shared") const sharedT = useTranslations("Folder.chat.shared")
const { folder, folderId, refreshConversations } = useFolderContext() const { folder, folderId, refreshConversations } = useFolderContext()
const { tabs, bindConversationTab, setTabRuntimeConversationId } = const { tabs, bindConversationTab, setTabRuntimeConversationId, pinTab } =
useTabContext() useTabContext()
const { setSessionStats } = useSessionStats() const { setSessionStats } = useSessionStats()
const { const {
@@ -542,6 +542,12 @@ const ConversationTabView = memo(function ConversationTabView({
setSendSignal((prev) => prev + 1) setSendSignal((prev) => prev + 1)
setSyncState(effectiveConversationId, "awaiting_persist") setSyncState(effectiveConversationId, "awaiting_persist")
setHasSentMessage(true) setHasSentMessage(true)
// Pin the tab if it was a temporary preview (single-click opened)
const currentTab = tabs.find((tab) => tab.id === tabId)
if (currentTab && !currentTab.isPinned) {
pinTab(tabId)
}
lifecycleSend(draft, selectedModeIdArg) lifecycleSend(draft, selectedModeIdArg)
const persistedId = dbConvIdRef.current const persistedId = dbConvIdRef.current
@@ -617,12 +623,14 @@ const ConversationTabView = memo(function ConversationTabView({
folderId, folderId,
hasPersistedConversation, hasPersistedConversation,
lifecycleSend, lifecycleSend,
pinTab,
refreshConversations, refreshConversations,
selectedAgent, selectedAgent,
setExternalId, setExternalId,
setPendingCleanup, setPendingCleanup,
setSyncState, setSyncState,
sharedT, sharedT,
tabs,
tWelcome, tWelcome,
tabId, tabId,
trySaveExternalId, trySaveExternalId,