@mtcute/core 0.13.2 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/highlevel/base.d.ts +1 -0
- package/cjs/highlevel/base.js +3 -0
- package/cjs/highlevel/base.js.map +1 -1
- package/cjs/highlevel/client.d.ts +17 -5
- package/cjs/highlevel/client.js +3 -0
- package/cjs/highlevel/client.js.map +1 -1
- package/cjs/highlevel/client.types.d.ts +1 -0
- package/cjs/highlevel/client.types.js.map +1 -1
- package/cjs/highlevel/methods/_init.js +3 -0
- package/cjs/highlevel/methods/_init.js.map +1 -1
- package/cjs/highlevel/methods/auth/log-out.d.ts +8 -1
- package/cjs/highlevel/methods/auth/log-out.js +4 -2
- package/cjs/highlevel/methods/auth/log-out.js.map +1 -1
- package/cjs/highlevel/methods/auth/send-code.d.ts +5 -0
- package/cjs/highlevel/methods/auth/send-code.js +5 -1
- package/cjs/highlevel/methods/auth/send-code.js.map +1 -1
- package/cjs/highlevel/methods/auth/start.d.ts +5 -0
- package/cjs/highlevel/methods/auth/start.js +81 -53
- package/cjs/highlevel/methods/auth/start.js.map +1 -1
- package/cjs/highlevel/methods/chats/delete-history.d.ts +2 -4
- package/cjs/highlevel/methods/chats/delete-history.js.map +1 -1
- package/cjs/highlevel/methods/chats/kick-chat-member.js +1 -1
- package/cjs/highlevel/methods/chats/kick-chat-member.js.map +1 -1
- package/cjs/highlevel/methods/chats/open-chat.d.ts +4 -3
- package/cjs/highlevel/methods/chats/open-chat.js +4 -3
- package/cjs/highlevel/methods/chats/open-chat.js.map +1 -1
- package/cjs/highlevel/methods/messages/find-in-update.js +4 -2
- package/cjs/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/cjs/highlevel/methods.d.ts +1 -0
- package/cjs/highlevel/methods.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/index.d.ts +3 -2
- package/cjs/highlevel/types/stories/interactive/index.js +5 -1
- package/cjs/highlevel/types/stories/interactive/index.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/input.d.ts +1 -0
- package/cjs/highlevel/types/stories/interactive/input.js +7 -0
- package/cjs/highlevel/types/stories/interactive/input.js.map +1 -1
- package/cjs/highlevel/types/stories/interactive/url.d.ts +11 -0
- package/cjs/highlevel/types/stories/interactive/url.js +20 -0
- package/cjs/highlevel/types/stories/interactive/url.js.map +1 -0
- package/cjs/highlevel/types/updates/callback-query.d.ts +16 -2
- package/cjs/highlevel/types/updates/callback-query.js +31 -1
- package/cjs/highlevel/types/updates/callback-query.js.map +1 -1
- package/cjs/highlevel/types/updates/index.d.ts +5 -2
- package/cjs/highlevel/types/updates/index.js +2 -1
- package/cjs/highlevel/types/updates/index.js.map +1 -1
- package/cjs/highlevel/types/updates/parse-update.js +2 -0
- package/cjs/highlevel/types/updates/parse-update.js.map +1 -1
- package/cjs/highlevel/updates/manager.d.ts +1 -0
- package/cjs/highlevel/updates/manager.js +38 -10
- package/cjs/highlevel/updates/manager.js.map +1 -1
- package/cjs/highlevel/updates/types.d.ts +36 -1
- package/cjs/highlevel/updates/types.js.map +1 -1
- package/cjs/highlevel/worker/port.d.ts +2 -0
- package/cjs/highlevel/worker/port.js +5 -0
- package/cjs/highlevel/worker/port.js.map +1 -1
- package/cjs/highlevel/worker/protocol.d.ts +2 -0
- package/cjs/highlevel/worker/protocol.js.map +1 -1
- package/cjs/highlevel/worker/worker.js +1 -0
- package/cjs/highlevel/worker/worker.js.map +1 -1
- package/cjs/network/client.d.ts +2 -0
- package/cjs/network/client.js +9 -1
- package/cjs/network/client.js.map +1 -1
- package/cjs/network/mtproto-session.js +2 -0
- package/cjs/network/mtproto-session.js.map +1 -1
- package/cjs/network/network-manager.d.ts +9 -2
- package/cjs/network/network-manager.js +27 -13
- package/cjs/network/network-manager.js.map +1 -1
- package/cjs/network/session-connection.js +12 -3
- package/cjs/network/session-connection.js.map +1 -1
- package/cjs/storage/sqlite/repository/peers.d.ts +2 -0
- package/cjs/storage/sqlite/repository/peers.js +14 -0
- package/cjs/storage/sqlite/repository/peers.js.map +1 -1
- package/cjs/utils/misc-utils.d.ts +1 -0
- package/cjs/utils/misc-utils.js +17 -1
- package/cjs/utils/misc-utils.js.map +1 -1
- package/esm/highlevel/base.d.ts +1 -0
- package/esm/highlevel/base.js +3 -0
- package/esm/highlevel/base.js.map +1 -1
- package/esm/highlevel/client.d.ts +17 -5
- package/esm/highlevel/client.js +3 -0
- package/esm/highlevel/client.js.map +1 -1
- package/esm/highlevel/client.types.d.ts +1 -0
- package/esm/highlevel/client.types.js.map +1 -1
- package/esm/highlevel/methods/_init.js +3 -0
- package/esm/highlevel/methods/_init.js.map +1 -1
- package/esm/highlevel/methods/auth/log-out.d.ts +8 -1
- package/esm/highlevel/methods/auth/log-out.js +4 -2
- package/esm/highlevel/methods/auth/log-out.js.map +1 -1
- package/esm/highlevel/methods/auth/send-code.d.ts +5 -0
- package/esm/highlevel/methods/auth/send-code.js +5 -1
- package/esm/highlevel/methods/auth/send-code.js.map +1 -1
- package/esm/highlevel/methods/auth/start.d.ts +5 -0
- package/esm/highlevel/methods/auth/start.js +82 -54
- package/esm/highlevel/methods/auth/start.js.map +1 -1
- package/esm/highlevel/methods/chats/delete-history.d.ts +2 -4
- package/esm/highlevel/methods/chats/delete-history.js.map +1 -1
- package/esm/highlevel/methods/chats/kick-chat-member.js +2 -2
- package/esm/highlevel/methods/chats/kick-chat-member.js.map +1 -1
- package/esm/highlevel/methods/chats/open-chat.d.ts +4 -3
- package/esm/highlevel/methods/chats/open-chat.js +4 -3
- package/esm/highlevel/methods/chats/open-chat.js.map +1 -1
- package/esm/highlevel/methods/messages/find-in-update.js +4 -2
- package/esm/highlevel/methods/messages/find-in-update.js.map +1 -1
- package/esm/highlevel/methods.d.ts +1 -0
- package/esm/highlevel/methods.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/index.d.ts +3 -2
- package/esm/highlevel/types/stories/interactive/index.js +4 -1
- package/esm/highlevel/types/stories/interactive/index.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/input.d.ts +1 -0
- package/esm/highlevel/types/stories/interactive/input.js +7 -0
- package/esm/highlevel/types/stories/interactive/input.js.map +1 -1
- package/esm/highlevel/types/stories/interactive/url.d.ts +11 -0
- package/esm/highlevel/types/stories/interactive/url.js +16 -0
- package/esm/highlevel/types/stories/interactive/url.js.map +1 -0
- package/esm/highlevel/types/updates/callback-query.d.ts +16 -2
- package/esm/highlevel/types/updates/callback-query.js +30 -0
- package/esm/highlevel/types/updates/callback-query.js.map +1 -1
- package/esm/highlevel/types/updates/index.d.ts +5 -2
- package/esm/highlevel/types/updates/index.js +2 -2
- package/esm/highlevel/types/updates/index.js.map +1 -1
- package/esm/highlevel/types/updates/parse-update.js +3 -1
- package/esm/highlevel/types/updates/parse-update.js.map +1 -1
- package/esm/highlevel/updates/manager.d.ts +1 -0
- package/esm/highlevel/updates/manager.js +38 -10
- package/esm/highlevel/updates/manager.js.map +1 -1
- package/esm/highlevel/updates/types.d.ts +36 -1
- package/esm/highlevel/updates/types.js.map +1 -1
- package/esm/highlevel/worker/port.d.ts +2 -0
- package/esm/highlevel/worker/port.js +5 -0
- package/esm/highlevel/worker/port.js.map +1 -1
- package/esm/highlevel/worker/protocol.d.ts +2 -0
- package/esm/highlevel/worker/protocol.js.map +1 -1
- package/esm/highlevel/worker/worker.js +1 -0
- package/esm/highlevel/worker/worker.js.map +1 -1
- package/esm/network/client.d.ts +2 -0
- package/esm/network/client.js +9 -1
- package/esm/network/client.js.map +1 -1
- package/esm/network/mtproto-session.js +2 -0
- package/esm/network/mtproto-session.js.map +1 -1
- package/esm/network/network-manager.d.ts +9 -2
- package/esm/network/network-manager.js +28 -14
- package/esm/network/network-manager.js.map +1 -1
- package/esm/network/session-connection.js +12 -3
- package/esm/network/session-connection.js.map +1 -1
- package/esm/storage/sqlite/repository/peers.d.ts +2 -0
- package/esm/storage/sqlite/repository/peers.js +14 -0
- package/esm/storage/sqlite/repository/peers.js.map +1 -1
- package/esm/utils/misc-utils.d.ts +1 -0
- package/esm/utils/misc-utils.js +15 -0
- package/esm/utils/misc-utils.js.map +1 -1
- package/package.json +4 -4
|
@@ -100,6 +100,8 @@ export class UpdatesManager {
|
|
|
100
100
|
log;
|
|
101
101
|
_handler = () => { };
|
|
102
102
|
_onCatchingUp = () => { };
|
|
103
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
104
|
+
_channelPtsLimit;
|
|
103
105
|
auth; // todo: do we need a local copy?
|
|
104
106
|
keepAliveInterval;
|
|
105
107
|
constructor(client, params = {}) {
|
|
@@ -116,6 +118,18 @@ export class UpdatesManager {
|
|
|
116
118
|
this.log = client.log.create('updates');
|
|
117
119
|
this.catchUpOnStart = params.catchUp ?? false;
|
|
118
120
|
this.noDispatchEnabled = !params.disableNoDispatch;
|
|
121
|
+
if (params.channelPtsLimit) {
|
|
122
|
+
if (typeof params.channelPtsLimit === 'function') {
|
|
123
|
+
this._channelPtsLimit = params.channelPtsLimit;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const limit = params.channelPtsLimit;
|
|
127
|
+
this._channelPtsLimit = () => limit;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this._channelPtsLimit = () => (this.auth?.isBot ? 100000 : 100);
|
|
132
|
+
}
|
|
119
133
|
}
|
|
120
134
|
setHandler(handler) {
|
|
121
135
|
this._handler = handler;
|
|
@@ -335,6 +349,12 @@ export class UpdatesManager {
|
|
|
335
349
|
log.debug('loaded initial state: pts=%d, qts=%d, date=%d, seq=%d', this.pts, this.qts, this.date, this.seq);
|
|
336
350
|
}
|
|
337
351
|
catch (e) {
|
|
352
|
+
if (tl.RpcError.is(e, 'AUTH_KEY_UNREGISTERED')) {
|
|
353
|
+
// we are logged out, stop updates loop
|
|
354
|
+
lock.release();
|
|
355
|
+
this.stopLoop();
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
338
358
|
if (this.client.isConnected) {
|
|
339
359
|
log.error('failed to fetch updates state: %s', e);
|
|
340
360
|
}
|
|
@@ -666,7 +686,7 @@ export class UpdatesManager {
|
|
|
666
686
|
const channel = toInputChannel(channelPeer);
|
|
667
687
|
// to make TS happy
|
|
668
688
|
let pts = _pts;
|
|
669
|
-
let limit = this.
|
|
689
|
+
let limit = this._channelPtsLimit(channelId);
|
|
670
690
|
if (pts <= 0) {
|
|
671
691
|
pts = 1;
|
|
672
692
|
limit = 1;
|
|
@@ -681,8 +701,11 @@ export class UpdatesManager {
|
|
|
681
701
|
limit,
|
|
682
702
|
filter: { _: 'channelMessagesFilterEmpty' },
|
|
683
703
|
});
|
|
684
|
-
if (diff.timeout)
|
|
685
|
-
lastTimeout =
|
|
704
|
+
if (diff.timeout) {
|
|
705
|
+
lastTimeout = this.params.overrideOpenChatTimeout ?
|
|
706
|
+
this.params.overrideOpenChatTimeout(diff) :
|
|
707
|
+
diff.timeout;
|
|
708
|
+
}
|
|
686
709
|
if (diff._ === 'updates.channelDifferenceEmpty') {
|
|
687
710
|
log.debug('getChannelDifference (cid = %d) returned channelDifferenceEmpty', channelId);
|
|
688
711
|
break;
|
|
@@ -692,13 +715,18 @@ export class UpdatesManager {
|
|
|
692
715
|
if (diff.dialog._ === 'dialog') {
|
|
693
716
|
pts = diff.dialog.pts;
|
|
694
717
|
}
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
718
|
+
if (this.params.onChannelTooLong) {
|
|
719
|
+
this.params.onChannelTooLong(channelId, diff);
|
|
720
|
+
}
|
|
721
|
+
else {
|
|
722
|
+
log.warn('getChannelDifference (cid = %d) returned channelDifferenceTooLong. new pts: %d, recent msgs: %d', channelId, pts, diff.messages.length);
|
|
723
|
+
diff.messages.forEach((message) => {
|
|
724
|
+
log.debug('processing message %d (%s) from TooLong diff for channel %d', message.id, message._, channelId);
|
|
725
|
+
if (message._ === 'messageEmpty')
|
|
726
|
+
return;
|
|
727
|
+
pendingUnorderedUpdates.pushBack(toPendingUpdate(messageToUpdate(message), peers, true));
|
|
728
|
+
});
|
|
729
|
+
}
|
|
702
730
|
break;
|
|
703
731
|
}
|
|
704
732
|
log.debug('getChannelDifference (cid = %d) returned %d messages, %d updates. new pts: %d, final: %b', channelId, diff.newMessages.length, diff.otherUpdates.length, diff.pts, diff.final);
|