Forwards: Fix message order jumps (#3673)
This commit is contained in:
parent
68ef919c66
commit
4a2b7eb7fd
@ -108,12 +108,10 @@ import { ensureProtocol } from '../../../util/ensureProtocol';
|
||||
import { updateTabState } from '../../reducers/tabs';
|
||||
import { getCurrentTabId } from '../../../util/establishMultitabRole';
|
||||
import { deleteMessages } from '../apiUpdaters/messages';
|
||||
import Deferred from '../../../util/Deferred';
|
||||
|
||||
const AUTOLOGIN_TOKEN_KEY = 'autologin_token';
|
||||
|
||||
const uploadProgressCallbacks = new Map<number, ApiOnProgress>();
|
||||
let lastSendMessageDeferred = Deferred.resolved();
|
||||
|
||||
const runDebouncedForMarkRead = debounce((cb) => cb(), 500, false);
|
||||
|
||||
@ -804,8 +802,8 @@ addActionHandler('forwardMessages', (global, actions, payload): ActionReturnType
|
||||
const realMessages = messages.filter((m) => !isServiceNotificationMessage(m));
|
||||
if (realMessages.length) {
|
||||
(async () => {
|
||||
await lastSendMessageDeferred.promise;
|
||||
await callApi('forwardMessages', {
|
||||
await rafPromise(); // Wait one frame for any previous `sendMessage` to be processed
|
||||
callApi('forwardMessages', {
|
||||
fromChat,
|
||||
toChat,
|
||||
toThreadId,
|
||||
@ -1176,7 +1174,6 @@ async function sendMessage<T extends GlobalState>(global: T, params: {
|
||||
replyingToTopId?: number;
|
||||
groupedId?: string;
|
||||
}) {
|
||||
lastSendMessageDeferred = new Deferred();
|
||||
let localId: number | undefined;
|
||||
const progressCallback = params.attachment ? (progress: number, messageLocalId: number) => {
|
||||
if (!uploadProgressCallbacks.has(messageLocalId)) {
|
||||
@ -1221,8 +1218,6 @@ async function sendMessage<T extends GlobalState>(global: T, params: {
|
||||
if (progressCallback && localId) {
|
||||
uploadProgressCallbacks.delete(localId);
|
||||
}
|
||||
|
||||
lastSendMessageDeferred.resolve();
|
||||
}
|
||||
|
||||
addActionHandler('loadPinnedMessages', async (global, actions, payload): Promise<void> => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user