From 8f067e4d3a13d6e64fe45cad24c8d2b69e35b07a Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 30 Oct 2025 09:31:07 +0800 Subject: [PATCH] fix(ai-chat): update timeline summary context to include feedId and adjust interval constant --- .../hooks/useAutoTimelineSummaryShortcut.ts | 6 +++--- .../hooks/useTimelineSummaryAutoContext.ts | 20 ++++++++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useAutoTimelineSummaryShortcut.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useAutoTimelineSummaryShortcut.ts index c9ff96025..5814fa39c 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useAutoTimelineSummaryShortcut.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useAutoTimelineSummaryShortcut.ts @@ -21,7 +21,7 @@ import { BlockSliceAction } from "../store/slices/block.slice" import type { AIChatContextBlock, SendingUIMessage } from "../store/types" import { isTimelineSummaryAutoContext } from "./useTimelineSummaryAutoContext" -const ONE_HOUR = 60 * 60 * 1000 +const INTERVAL = 3 * 60 * 60 * 1000 const buildSummaryMessage = ( editor: LexicalEditor, @@ -100,7 +100,7 @@ export const useAutoTimelineSummaryShortcut = () => { }) const previousContextKeyRef = useRef(null) - const isAllTimeline = isTimelineSummaryAutoContext({ view, entryId }) + const isAllTimeline = isTimelineSummaryAutoContext({ view, feedId, entryId }) const defaultShortcut = useMemo(() => { const shortcuts = aiSettings.shortcuts ?? [] @@ -227,7 +227,7 @@ export const useAutoTimelineSummaryShortcut = () => { if (existingSession) { const lastUpdatedAt = existingSession.updatedAt?.getTime?.() ?? existingSession.updatedAt - if (typeof lastUpdatedAt === "number" && now - lastUpdatedAt < ONE_HOUR) { + if (typeof lastUpdatedAt === "number" && now - lastUpdatedAt < INTERVAL) { if (currentChatId !== existingSession.chatId) { await chatActions.switchToChat(existingSession.chatId) } diff --git a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useTimelineSummaryAutoContext.ts b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useTimelineSummaryAutoContext.ts index 6353f649b..2fdd65b16 100644 --- a/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useTimelineSummaryAutoContext.ts +++ b/apps/desktop/layer/renderer/src/modules/ai-chat/hooks/useTimelineSummaryAutoContext.ts @@ -1,14 +1,24 @@ import { FeedViewType } from "@follow/constants" -import { ROUTE_ENTRY_PENDING } from "~/constants" +import { ROUTE_ENTRY_PENDING, ROUTE_FEED_PENDING } from "~/constants" import type { BizRouteParams } from "~/hooks/biz/useRouteParams" import { useRouteParamsSelector } from "~/hooks/biz/useRouteParams" -export type TimelineSummaryContextParams = Pick +export type TimelineSummaryContextParams = Pick -export const isTimelineSummaryAutoContext = ({ view, entryId }: TimelineSummaryContextParams) => { - return view === FeedViewType.All && (!entryId || entryId === ROUTE_ENTRY_PENDING) +export const isTimelineSummaryAutoContext = ({ + view, + feedId, + entryId, +}: TimelineSummaryContextParams) => { + return ( + view === FeedViewType.All && + (!entryId || entryId === ROUTE_ENTRY_PENDING) && + (!feedId || feedId === ROUTE_FEED_PENDING) + ) } export const useTimelineSummaryAutoContext = () => - useRouteParamsSelector(({ view, entryId }) => isTimelineSummaryAutoContext({ view, entryId })) + useRouteParamsSelector(({ view, feedId, entryId }) => + isTimelineSummaryAutoContext({ view, feedId, entryId }), + )