Flow: Live Updates
Summary
TDLib updates are normalized inside the owner runtime and then published as live chat_update payloads.
Sequence
sequenceDiagram
participant TG as TDLib
participant OWNER as AccountSessionRuntime
participant QUEUE as UpdateQueueProcessor
participant SVC as UpdateRuntimeService
participant NORM as UpdateNormalizer
participant CACHE as DialogCache
participant LIVE as publish_live_payload_sync
participant WS as TDLibListChatsConsumer
TG-->>OWNER: update*
OWNER->>QUEUE: enqueue_from_thread
QUEUE->>SVC: handle_update(update, userbot)
SVC->>NORM: normalize_update
NORM-->>SVC: normalized payload + parsed message
SVC->>CACHE: append / replace projection state
SVC->>LIVE: publish payload
LIVE-->>WS: rt.* live subject
WS-->>Client: chat_update
Files involved
backend/tg_client/dialogs/services/update_runtime_service.pybackend/tg_client/dialogs/tdlib/normalizers/update_normalizer.pybackend/tg_client/dialogs/services/update_queue.pybackend/tg_client/dialogs/cache/dialog_cache.py
Ignored update types
The runtime explicitly ignores a subset of TDLib updates in UpdateRuntimeService.IGNORED_UPDATE_TYPES.