chore: only refetch chat session when user has task

This commit is contained in:
lawvs 2025-11-04 15:48:09 +08:00
parent 45b607d8fa
commit 2541490129
2 changed files with 10 additions and 4 deletions

View File

@ -25,11 +25,14 @@ export const aiChatSessionKeys = {
// Queries
export const useAIChatSessionListQuery = (filters?: ListSessionsQuery) => {
export const useAIChatSessionListQuery = ({
refetchInterval,
filters,
}: { refetchInterval?: number | false; filters?: ListSessionsQuery } = {}) => {
const { data } = useQuery({
queryKey: aiChatSessionKeys.list(filters),
queryFn: () => followApi.aiChatSessions.list(filters).then((res) => res.data),
refetchInterval: 1 * 60 * 1000, // 1 minute
refetchInterval,
})
return data
}

View File

@ -23,7 +23,7 @@ import {
useDeleteAIChatSessionMutation,
useMarkChatSessionSeenMutation,
} from "~/modules/ai-chat-session/query"
import { AITaskModal, useCanCreateNewAITask } from "~/modules/ai-task"
import { AITaskModal, useAITaskListQuery, useCanCreateNewAITask } from "~/modules/ai-task"
import { useSettingModal } from "~/modules/settings/modal/use-setting-modal-hack"
import { AI_SETTING_SECTION_IDS } from "~/modules/settings/tabs/ai"
@ -103,7 +103,10 @@ const EmptyState = () => {
}
export const TaskReportDropdown = ({ triggerElement, asChild = true }: TaskReportDropdownProps) => {
const sessions = useAIChatSessionListQuery()
const tasks = useAITaskListQuery()
const sessions = useAIChatSessionListQuery({
refetchInterval: tasks?.length ? 1 * 60 * 1000 : false, // 1 minute
})
const currentChatId = useCurrentChatId()
const chatActions = useChatActions()
const shouldDisableTimelineSummary = useTimelineSummaryAutoContext()