You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
constmessage=`Telegram isolated polling spool handler timed out behind update ${handler.updateId} on lane ${handler.laneKey} after ${age}; marking the update failed, aborting active reply work, and restarting isolated ingress so later updates can drain.`;
878
+
constmessage=`Telegram isolated polling spool handler timed out behind update ${handler.updateId} on lane ${handler.laneKey} after ${age}; marking the update failed, aborting active reply work, and waiting for the handler to stop before releasing the lane.`;
879
879
activeHandler.timeoutMessage=message;
880
880
try{
881
881
constfailed=awaitfailTelegramSpooledUpdateClaim({
@@ -916,13 +916,14 @@ export class TelegramPollingSession {
// Reply fences can cancel OpenClaw-owned send work, but they cannot kill
920
+
// arbitrary handler code. Keep the lane guarded until the handler settles
921
+
// so same-lane updates never run concurrently.
919
922
this.opts.log(
920
-
`[telegram][diag] timed out spooled update ${handler.updateId} did not stop within ${formatDurationPrecise(this.#spooledUpdateHandlerAbortGraceMs)} after reply abort; releasing lane ${handler.laneKey}and restarting isolated ingress so later updates can drain.`,
923
+
`[telegram][diag] timed out spooled update ${handler.updateId} did not stop within ${formatDurationPrecise(this.#spooledUpdateHandlerAbortGraceMs)} after reply abort; keeping lane ${handler.laneKey}guarded until the handler stops.`,
0 commit comments