Comments: Fix infinite loading when refreshing page (#2780)
This commit is contained in:
parent
e333b2db1b
commit
3e346aef53
@ -16,7 +16,7 @@ import {
|
|||||||
safeReplaceViewportIds,
|
safeReplaceViewportIds,
|
||||||
updateChats,
|
updateChats,
|
||||||
updateListedIds,
|
updateListedIds,
|
||||||
updateThread,
|
updateThread, updateThreadInfo,
|
||||||
updateThreadInfos,
|
updateThreadInfos,
|
||||||
updateUsers,
|
updateUsers,
|
||||||
} from '../../reducers';
|
} from '../../reducers';
|
||||||
@ -161,6 +161,9 @@ async function loadAndReplaceMessages<T extends GlobalState>(global: T, actions:
|
|||||||
|
|
||||||
global = addChatMessagesById(global, currentChatId, byId);
|
global = addChatMessagesById(global, currentChatId, byId);
|
||||||
global = updateListedIds(global, currentChatId, activeThreadId, listedIds);
|
global = updateListedIds(global, currentChatId, activeThreadId, listedIds);
|
||||||
|
if (threadInfo?.originChannelId) {
|
||||||
|
global = updateThreadInfo(global, currentChatId, activeThreadId, threadInfo);
|
||||||
|
}
|
||||||
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
||||||
Object.values(global.byTabId).forEach(({ id: otherTabId }) => {
|
Object.values(global.byTabId).forEach(({ id: otherTabId }) => {
|
||||||
const { chatId: otherChatId, threadId: otherThreadId } = selectCurrentMessageList(global, otherTabId) || {};
|
const { chatId: otherChatId, threadId: otherThreadId } = selectCurrentMessageList(global, otherTabId) || {};
|
||||||
|
|||||||
@ -15,7 +15,6 @@ import { Bundles, loadBundle } from '../util/moduleLoader';
|
|||||||
import { getCurrentTabId, reestablishMasterToSelf } from '../util/establishMultitabRole';
|
import { getCurrentTabId, reestablishMasterToSelf } from '../util/establishMultitabRole';
|
||||||
import { updateTabState } from './reducers/tabs';
|
import { updateTabState } from './reducers/tabs';
|
||||||
import type { ActionReturnType, GlobalState } from './types';
|
import type { ActionReturnType, GlobalState } from './types';
|
||||||
import { getIsMobile } from '../hooks/useAppLayout';
|
|
||||||
import { isLocalMessageId } from './helpers';
|
import { isLocalMessageId } from './helpers';
|
||||||
|
|
||||||
initCache();
|
initCache();
|
||||||
@ -114,7 +113,7 @@ addActionHandler('init', (global, actions, payload): ActionReturnType => {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
const parsedMessageList = !getIsMobile() ? parseLocationHash() : undefined;
|
const parsedMessageList = parseLocationHash();
|
||||||
|
|
||||||
if (global.authState !== 'authorizationStateReady'
|
if (global.authState !== 'authorizationStateReady'
|
||||||
&& !global.passcode.hasPasscode && !global.passcode.isScreenLocked) {
|
&& !global.passcode.hasPasscode && !global.passcode.isScreenLocked) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user