fix(site): stop showing 'could not load' during normal chunk streaming#90
Merged
Conversation
The results-status template branched on three of four DbStatus values:
{#if dbStatus === "ready"} ...
{:else if dbStatus === "loading"} LOADING ROLES…
{:else} COULD NOT LOAD THE JOB DATABASE.
{/if}
dbStatus = "loading-progressive" — the legitimate state where chunk 0
has merged and chunks 1-N are streaming in — fell through to the
`:else` branch and surfaced the alarming "COULD NOT LOAD" copy. On
mobile that branch lit up for ~5 s during every cold load while
chunks streamed, with actual results visible underneath. Misleading.
Invert the branching: error gets its own explicit case, the catch-all
shows the loading indicator. Same fix at the aria-busy attribute so
assistive tech reflects the in-progress state during chunk streaming.
Before:
loading → LOADING ROLES… (correct)
loading-progressive → COULD NOT LOAD (WRONG — looked like an error)
error → COULD NOT LOAD (correct, but ambiguous)
ready → "N ROLES · PAGE 1" (correct)
After:
loading → LOADING ROLES… (correct)
loading-progressive → LOADING ROLES… (correct, was the bug)
error → COULD NOT LOAD (correct, now unambiguous)
ready → "N ROLES · PAGE 1" (correct)
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.
You were right. The results-status template branched on three of four `DbStatus` values:
{#if dbStatus === "ready"} ... {:else if dbStatus === "loading"} LOADING ROLES… {:else} COULD NOT LOAD THE JOB DATABASE. {/if}`dbStatus = "loading-progressive"` — the legitimate state where chunk 0 has merged and chunks 1-N are streaming in — fell through to the `{:else}` branch and surfaced the alarming "COULD NOT LOAD" copy. On mobile that branch lit up for ~5 s during every cold load while chunks streamed, with actual results visible underneath. Misleading.
Fix
Invert the branching: error gets its own explicit case, the catch-all shows the loading indicator. Same fix on the `aria-busy` attribute so assistive tech reflects the in-progress state during chunk streaming.
"loading"(waiting on manifest + chunk 0)"loading-progressive"(chunks streaming)"error"(real terminal failure)"ready"Test plan
bun run typecheckcleanready / error / elsewith else covering both loading statesopenroles.todayon a phone, watch the results-status line during the first 5 seconds of cold load — should read "LOADING ROLES…" with the busy dot, never "COULD NOT LOAD"