From 33aaf4d558ee4cbc771905d4f1c416adc8433be7 Mon Sep 17 00:00:00 2001 From: Wxw-Gu Date: Tue, 28 Jul 2026 09:56:50 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/renderer/src/App.tsx | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index a351874..ecee3db 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -263,7 +263,6 @@ function App(): React.ReactElement { const messageHistoryRef = React.useRef([]) const messagesRef = React.useRef([]) const messagePrefetchRef = React.useRef | null>(null) - const pendingLiveRefreshMd5Ref = React.useRef('') messagesRef.current = messages React.useEffect(() => { if (!reportNotice) return @@ -923,17 +922,13 @@ function App(): React.ReactElement { storeGroupMemberMeta(contact, cachedPage.groupSnapshot) } messageHistoryRef.current = cachedMsgs - pendingLiveRefreshMd5Ref.current = cachedPage.hit ? '' : contact.md5 setMessages( applyGroupMemberMeta( contact, mergeSyntheticMessages(contact, cachedMsgs.slice(-INITIAL_MESSAGE_COUNT)) ) ) - const needsLivePage = - forceLive || - (isDatabaseConnected && - (!cachedPage.hit || cachedMsgs.length < MESSAGE_PREFETCH_COUNT)) + const needsLivePage = forceLive || isDatabaseConnected if (!needsLivePage) { setIsMessagesLoading(false) if (contact.type === 'group' && cachedMsgs.length > 0 && !cachedPage.groupSnapshot) { @@ -959,7 +954,6 @@ function App(): React.ReactElement { }) if (selectedContactMd5Ref.current !== contact.md5) return messageHistoryRef.current = msgs - pendingLiveRefreshMd5Ref.current = '' const visibleMessages = applyGroupMemberMeta( contact, mergeSyntheticMessages(contact, msgs.slice(-INITIAL_MESSAGE_COUNT)) @@ -992,10 +986,6 @@ function App(): React.ReactElement { React.useEffect(() => { if (!isDatabaseConnected || !selectedContact) return - const needsPendingRefresh = pendingLiveRefreshMd5Ref.current === selectedContact.md5 - if (messages.length > 0 && !needsPendingRefresh) return - // The first live page uses async native cursors, so a cache miss can be filled - // without blocking the Electron main thread. void handleSelectContact(selectedContact) // eslint-disable-next-line react-hooks/exhaustive-deps }, [isDatabaseConnected])