fix(core): send connection state through worker

This commit is contained in:
alina 🌸 2024-03-17 00:36:09 +03:00
parent f7d6e6730b
commit 81a12a8088
Signed by: teidesu
SSH key fingerprint: SHA256:uNeCpw6aTSU4aIObXLvHfLkDa82HWH9EiOj9AXOIRpI
3 changed files with 11 additions and 0 deletions

View file

@ -51,6 +51,9 @@ export abstract class TelegramWorkerPort<Custom extends WorkerCustomMethods> imp
case 'server_update':
this._serverUpdatesHandler(message.update)
break
case 'conn_state':
this._connectionStateHandler(message.state)
break
case 'update': {
const peers = new PeersIndex(message.users, message.chats)
peers.hasMin = message.hasMin

View file

@ -2,6 +2,7 @@ import type { Worker as NodeWorker } from 'worker_threads'
import { tl } from '@mtcute/tl'
import { ConnectionState } from '../client.types.js'
import { SerializedError } from './errors.js'
export type WorkerInboundMessage = {
@ -23,6 +24,7 @@ export type WorkerOutboundMessage =
hasMin: boolean
}
| { type: 'error'; error: unknown }
| { type: 'conn_state'; state: ConnectionState }
| {
type: 'log'
color: number

View file

@ -40,6 +40,12 @@ export abstract class TelegramWorker<T extends WorkerCustomMethods> {
error: err,
}),
)
client.onConnectionState((state) =>
this.broadcast({
type: 'conn_state',
state,
}),
)
if (client.updates) {
client.onUpdate((update, peers) =>