@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
|
@@ -103,6 +103,8 @@ class UpdatesManager {
|
|
|
103
103
|
log;
|
|
104
104
|
_handler = () => { };
|
|
105
105
|
_onCatchingUp = () => { };
|
|
106
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
107
|
+
_channelPtsLimit;
|
|
106
108
|
auth; // todo: do we need a local copy?
|
|
107
109
|
keepAliveInterval;
|
|
108
110
|
constructor(client, params = {}) {
|
|
@@ -119,6 +121,18 @@ class UpdatesManager {
|
|
|
119
121
|
this.log = client.log.create('updates');
|
|
120
122
|
this.catchUpOnStart = params.catchUp ?? false;
|
|
121
123
|
this.noDispatchEnabled = !params.disableNoDispatch;
|
|
124
|
+
if (params.channelPtsLimit) {
|
|
125
|
+
if (typeof params.channelPtsLimit === 'function') {
|
|
126
|
+
this._channelPtsLimit = params.channelPtsLimit;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
const limit = params.channelPtsLimit;
|
|
130
|
+
this._channelPtsLimit = () => limit;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
this._channelPtsLimit = () => (this.auth?.isBot ? 100000 : 100);
|
|
135
|
+
}
|
|
122
136
|
}
|
|
123
137
|
setHandler(handler) {
|
|
124
138
|
this._handler = handler;
|
|
@@ -338,6 +352,12 @@ class UpdatesManager {
|
|
|
338
352
|
log.debug('loaded initial state: pts=%d, qts=%d, date=%d, seq=%d', this.pts, this.qts, this.date, this.seq);
|
|
339
353
|
}
|
|
340
354
|
catch (e) {
|
|
355
|
+
if (tl_1.tl.RpcError.is(e, 'AUTH_KEY_UNREGISTERED')) {
|
|
356
|
+
// we are logged out, stop updates loop
|
|
357
|
+
lock.release();
|
|
358
|
+
this.stopLoop();
|
|
359
|
+
return;
|
|
360
|
+
}
|
|
341
361
|
if (this.client.isConnected) {
|
|
342
362
|
log.error('failed to fetch updates state: %s', e);
|
|
343
363
|
}
|
|
@@ -669,7 +689,7 @@ class UpdatesManager {
|
|
|
669
689
|
const channel = (0, index_js_1.toInputChannel)(channelPeer);
|
|
670
690
|
// to make TS happy
|
|
671
691
|
let pts = _pts;
|
|
672
|
-
let limit = this.
|
|
692
|
+
let limit = this._channelPtsLimit(channelId);
|
|
673
693
|
if (pts <= 0) {
|
|
674
694
|
pts = 1;
|
|
675
695
|
limit = 1;
|
|
@@ -684,8 +704,11 @@ class UpdatesManager {
|
|
|
684
704
|
limit,
|
|
685
705
|
filter: { _: 'channelMessagesFilterEmpty' },
|
|
686
706
|
});
|
|
687
|
-
if (diff.timeout)
|
|
688
|
-
lastTimeout =
|
|
707
|
+
if (diff.timeout) {
|
|
708
|
+
lastTimeout = this.params.overrideOpenChatTimeout ?
|
|
709
|
+
this.params.overrideOpenChatTimeout(diff) :
|
|
710
|
+
diff.timeout;
|
|
711
|
+
}
|
|
689
712
|
if (diff._ === 'updates.channelDifferenceEmpty') {
|
|
690
713
|
log.debug('getChannelDifference (cid = %d) returned channelDifferenceEmpty', channelId);
|
|
691
714
|
break;
|
|
@@ -695,13 +718,18 @@ class UpdatesManager {
|
|
|
695
718
|
if (diff.dialog._ === 'dialog') {
|
|
696
719
|
pts = diff.dialog.pts;
|
|
697
720
|
}
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
721
|
+
if (this.params.onChannelTooLong) {
|
|
722
|
+
this.params.onChannelTooLong(channelId, diff);
|
|
723
|
+
}
|
|
724
|
+
else {
|
|
725
|
+
log.warn('getChannelDifference (cid = %d) returned channelDifferenceTooLong. new pts: %d, recent msgs: %d', channelId, pts, diff.messages.length);
|
|
726
|
+
diff.messages.forEach((message) => {
|
|
727
|
+
log.debug('processing message %d (%s) from TooLong diff for channel %d', message.id, message._, channelId);
|
|
728
|
+
if (message._ === 'messageEmpty')
|
|
729
|
+
return;
|
|
730
|
+
pendingUnorderedUpdates.pushBack((0, utils_js_2.toPendingUpdate)((0, utils_js_2.messageToUpdate)(message), peers, true));
|
|
731
|
+
});
|
|
732
|
+
}
|
|
705
733
|
break;
|
|
706
734
|
}
|
|
707
735
|
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);
|