From 0541485f5eebc4f835b1610b506c489e90e7ce19 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Fri, 5 Mar 2021 01:56:04 +0400 Subject: [PATCH] temp --- src/components/lazyLoadQueue.ts | 2 +- src/lib/appManagers/apiUpdatesManager.ts | 12 +++++++----- src/lib/appManagers/appImManager.ts | 1 - src/lib/appManagers/appMessagesManager.ts | 11 ++++++++++- src/lib/mtproto/apiFileManager.ts | 2 +- src/lib/mtproto/transports/tcpObfuscated.ts | 2 +- 6 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/components/lazyLoadQueue.ts b/src/components/lazyLoadQueue.ts index 4fffd8c7..a5d51c8a 100644 --- a/src/components/lazyLoadQueue.ts +++ b/src/components/lazyLoadQueue.ts @@ -13,7 +13,7 @@ type LazyLoadElement = Omit & { wasSeen?: boolean, }; -const PARALLEL_LIMIT = Infinity; +const PARALLEL_LIMIT = 8; export class LazyLoadQueueBase { public queueId = 0; diff --git a/src/lib/appManagers/apiUpdatesManager.ts b/src/lib/appManagers/apiUpdatesManager.ts index ead78b2d..81e6477b 100644 --- a/src/lib/appManagers/apiUpdatesManager.ts +++ b/src/lib/appManagers/apiUpdatesManager.ts @@ -25,7 +25,7 @@ type UpdatesState = { lastPtsUpdateTime?: number }; -const SYNC_DELAY = 25; +const SYNC_DELAY = 6; export class ApiUpdatesManager { public updatesState: UpdatesState = { @@ -38,7 +38,7 @@ export class ApiUpdatesManager { public channelStates: {[channelId: number]: UpdatesState} = {}; private attached = false; - private log = logger('UPDATES', LogLevels.error/* | LogLevels.log */); + private log = logger('UPDATES', LogLevels.error | LogLevels.log | LogLevels.warn | LogLevels.debug); constructor() { // * false for test purposes @@ -137,7 +137,7 @@ export class ApiUpdatesManager { } } - processUpdateMessage = (updateMessage: any, options: Partial<{ + public processUpdateMessage = (updateMessage: any, options: Partial<{ ignoreSyncLoading: boolean }> = {}) => { // return forceGetDifference() @@ -147,6 +147,8 @@ export class ApiUpdatesManager { seqStart: updateMessage.seq_start, ignoreSyncLoading: options.ignoreSyncLoading }; + + this.log('processUpdateMessage', updateMessage); switch(updateMessage._) { case 'updatesTooLong': @@ -425,7 +427,7 @@ export class ApiUpdatesManager { if(update._ === 'updateChannelTooLong') { if(!curState.lastPtsUpdateTime || - curState.lastPtsUpdateTime < Date.now() - 10000) { + curState.lastPtsUpdateTime < (Date.now() - SYNC_DELAY)) { // this.log.trace('channel too long, get diff', channelId, update) this.getChannelDifference(channelId); } @@ -579,7 +581,7 @@ export class ApiUpdatesManager { } else { // ! for testing /* state.seq = 1; - state.pts = state.pts - 1000; + state.pts = state.pts - 15; state.date = 1; */ Object.assign(this.updatesState, state); diff --git a/src/lib/appManagers/appImManager.ts b/src/lib/appManagers/appImManager.ts index 52853f02..9c41c099 100644 --- a/src/lib/appManagers/appImManager.ts +++ b/src/lib/appManagers/appImManager.ts @@ -36,7 +36,6 @@ import appDownloadManager from './appDownloadManager'; import appStateManager, { AppStateManager } from './appStateManager'; import { MOUNT_CLASS_TO } from '../../config/debug'; import appNavigationController from '../../components/appNavigationController'; -import { isSafari } from '../../helpers/userAgent'; //console.log('appImManager included33!'); diff --git a/src/lib/appManagers/appMessagesManager.ts b/src/lib/appManagers/appMessagesManager.ts index a8994f45..724699f5 100644 --- a/src/lib/appManagers/appMessagesManager.ts +++ b/src/lib/appManagers/appMessagesManager.ts @@ -257,7 +257,12 @@ export class AppMessagesManager { } } - if(removeUnread && dialog.unread_count) dialog.unread_count -= removeUnread; + if(removeUnread && dialog.unread_count) dialog.unread_count -= removeUnread; + + if(dialog.peerId < 0 && dialog.pts) { + const newPts = apiUpdatesManager.channelStates[-dialog.peerId].pts; + dialog.pts = newPts; + } dialog.unread_count = Math.max(0, dialog.unread_count); dialogs.push(dialog); @@ -3652,6 +3657,10 @@ export class AppMessagesManager { this.saveMessages([message], {storage}); // this.log.warn(dT(), 'message unread', message.mid, message.pFlags.unread) + /* if((message as Message.message).grouped_id) { + this.log('updateNewMessage', message); + } */ + const pendingMessage = this.checkPendingMessage(message); const historyStorage = this.getHistoryStorage(peerId); this.updateMessageRepliesIfNeeded(message); diff --git a/src/lib/mtproto/apiFileManager.ts b/src/lib/mtproto/apiFileManager.ts index b907cef5..a8bf17c0 100644 --- a/src/lib/mtproto/apiFileManager.ts +++ b/src/lib/mtproto/apiFileManager.ts @@ -87,7 +87,7 @@ export class ApiFileManager { public downloadCheck(dcId: string | number) { const downloadPull = this.downloadPulls[dcId]; - const downloadLimit = dcId === 'upload' ? 24 : 48; + const downloadLimit = dcId === 'upload' ? 24 : 24; //const downloadLimit = Infinity; if(this.downloadActives[dcId] >= downloadLimit || !downloadPull || !downloadPull.length) { diff --git a/src/lib/mtproto/transports/tcpObfuscated.ts b/src/lib/mtproto/transports/tcpObfuscated.ts index 2c8bb660..bda68684 100644 --- a/src/lib/mtproto/transports/tcpObfuscated.ts +++ b/src/lib/mtproto/transports/tcpObfuscated.ts @@ -18,7 +18,7 @@ export default class TcpObfuscated implements MTTransport { bodySent: boolean }>> = []; - private debug = Modes.debug && false; + private debug = Modes.debug && false/* true */; private log: ReturnType; public connected = false; private lastCloseTime: number;