fix: keep the paired user when the poll loop commits its offset
The poll loop persisted the config object it captured when polling started. The store swaps in a fresh object on every persist, so after the initial sync that captured copy lacked later changes: the next offset commit erased the paired user and the bridge re-paired on every message.
This commit is contained in:
1 parent
033a92f3bb
commit
60254b288b
2 files changed
+47
-1
No files matched your search
+9
-1
@@ -971,7 +971,15 @@ export function createTelegramPollLoopRunner<
|
||||
config: deps.getConfig(),
|
||||
deleteWebhook: deps.deleteWebhook,
|
||||
getUpdates: deps.getUpdates,
|
||||
persistConfig: deps.persistConfig,
|
||||
// The loop keeps the config object captured when polling started, but the
|
||||
// store swaps in a fresh object on every persist. Persisting that stale
|
||||
// copy erased later changes such as the paired user, so only the poll
|
||||
// offset is carried onto the store's current config.
|
||||
persistConfig: (polled) => {
|
||||
const current = deps.getConfig();
|
||||
current.lastUpdateId = polled.lastUpdateId;
|
||||
return deps.persistConfig(current);
|
||||
},
|
||||
handleUpdate: deps.handleUpdate,
|
||||
onErrorStatus: (message) => {
|
||||
updateTelegramPollingStatusSafely(deps.updateStatus, ctx, {
|
||||
|
||||
Reference in new issue
Block a user