CL-6462: keep polling past the stall state - #196
Merged
Merged
Conversation
The stall message ("Myra is taking longer than usual") should never be
the end of the line — a backend that becomes ready after the 45s stall
threshold fires must still auto-navigate with no click required.
Design review on the CL-6462 land-in-chat wait surfaced four defects:
- Critical: once the 45s stall message fired, waitAndRetry stopped
scheduling retries entirely — a backend that became ready afterward
never got noticed, and only "Try again" resumed anything. Retries now
keep running underneath the slow message; the button stays as an
explicit escape hatch, not the only way forward.
- Same action, two verbs ("Retry" vs "Try again") on the identical
startOver handler — unified on "Retry" to match every other retry
action in the app (skills, plugins, insights, skill-detail pages).
- The stall state isn't an error, but shared WarningCircle with the
actual error state — swapped it for Clock.
- setup-progress-note's "the rest of its agents" asserted an unspecified
plural a first-time user (who has met exactly one agent) can't act on
— reworded to drop the seed-count concept entirely.
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.
Summary
PR #188 (CL-6462, onboarding land-in-chat) merged with real defects a design reviewer caught. This fixes them on top of main.
home-page.tsx, once(attempt + 1) * retryMs >= stallAfterMs,waitAndRetrysetstate: "slow"and returned without scheduling another retry timer. Nothing resumed until the user clicked "Try again." Reproduced with a test backend where Myra becomes ready shortly after the stall fires: the screen stayed on "taking longer than usual" and never navigated. Fixed by always scheduling the next retry, whether or not the slow message is showing — the message no longer means "we gave up."startOver. Unified on "Retry" to match every other retry action in the app (skills, plugins, insights, skill-detail pages).WarningCircle. Stall state now usesClock.setup-progress-note.tsxsaid "the rest of its agents," which a first-time user (who's met exactly one agent) can't act on. Reworded to drop the seed-count concept entirely.Findings 5 (generic rotating tips) and 6 (unmeasured 45s threshold) are out of scope — separate work.
Test plan
home-page.test.tsx) asserting a backend that becomes ready after the stall fires still auto-navigates with no click — confirmed it fails against the pre-fix code and passes afterbun run typecheck,prettier --check,eslint, andbun run testall pass inapps/web(762 pass, 0 fail)Not merging — flagging for peer review per instructions.