refactor usechats and set global stale time (#2020)
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Modernizes chat data flow and caching.
>
> - Replaces Jotai chat list state and `getAllChats` with `useChats`
using React Query (`CHATS_QUERY_KEY`), exposing `chats`, `loading`, and
`invalidateChats`
> - Updates `ChatList`, `ChatHeader`, `useStreamChat`, and
`ChatActivity` to consume `useChats` and call `invalidateChats` after
create/delete/stream events
> - Simplifies `ChatActivityList` to build recent rows from
`recentStreamChatIds` and `useChats(null)`
> - Sets global `queries.staleTime=60_000` in `renderer.tsx`; removes
per-hook `staleTime` in `useCheckName`
> - Switches `useVersions` to `placeholderData`
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
8532c5919b25f77f3f38899a53bae80eb7e99c27. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Refactored chat fetching to use React Query and set a global 60s stale
time for consistent caching. Simplifies chat state management and
updates ChatActivity to use the new hook.
- **Refactors**
- Rewrote useChats using @tanstack/react-query with query key
[CHATS_QUERY_KEY, appId]; exposes chats and loading, adds
invalidateChats, and removes refreshChats.
- Updated ChatList, ChatHeader, and useStreamChat to call
invalidateChats after mutations.
- Removed chatsAtom and chatsLoadingAtom; deleted getAllChats from
lib/chat.
- Updated ChatActivityList to use useChats and derive recent rows from
recentStreamChatIds.
- Set global queries.staleTime to 60_000 in queryClient; removed
per-hook staleTime in useCheckName.
- useVersions now uses placeholderData instead of initialData.
<sup>Written for commit 8532c5919b25f77f3f38899a53bae80eb7e99c27.
Summary will update automatically on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
正在显示
请
注册
或者
登录
后发表评论