agent: code-atomiser-fix — focusTimer rehydrate startTick invariant (Race-10)
Lock the invariant: the already-expired branch of rehydrate() must call startTick() so the tick loop observes now >= completionFlashUntil and auto-clears the flash. The call was already present; this commit adds the inline comment so future edits cannot silently drop it. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -201,6 +201,11 @@ function createFocusTimerStore() {
|
|||||||
completionFlashUntil = Date.now() + 3000;
|
completionFlashUntil = Date.now() + 3000;
|
||||||
completionFired = true;
|
completionFired = true;
|
||||||
fireCompletion();
|
fireCompletion();
|
||||||
|
// startTick() is REQUIRED here: tick() is the only thing that
|
||||||
|
// observes `now >= completionFlashUntil` and calls clear(). Without
|
||||||
|
// it, the completion flash would stay visible until the user
|
||||||
|
// interacts with the app. stopTick() runs via clear() once the
|
||||||
|
// flash window elapses.
|
||||||
startTick();
|
startTick();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user