Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
An older schedule-list response can undo a newer acknowledged pause/resume in the Workflows drawer. With two schedules, pause A and delay its subsequent list response; pause B and allow the newer list to render; releasing A's older list changes B's action back to Pause even though a fresh HTTP read still reports enabled=false.
Approach
Give schedule reads a monotonically increasing request ID. Only the latest started request can update schedules or report an error. Invalidate pending IDs when the workspace/enabled effect restarts. One existing hook changes; no API, persistence, polling interval, dependency, or workflow execution changes.
Testing
New validation on 2026-10-09 against main f8f1343:
The runnable browser diagnostic is retained outside the production diff, following the current UI testing exception. Browser proof mounts the real component with minimal styling and temporary schedules; it does not cover full app-shell navigation, mobile layout, real devices, providers or actual scheduled workflow execution. HTTP 503 controls are explicitly injected; the primary race uses real response bodies.
Whole-project tsc --noEmit reports two TS2352 errors in unchanged tests/unit/workspace-shell-runtime.test.ts (lines 15 and 119). Full pnpm test, server regression suites and packaging were not run for this UI-only change. Existing build/style warnings remain unchanged.