Skip to content

Render the study interface while participant startup resolves - #1371

Draft
JackWilb wants to merge 3 commits into
devfrom
codex/1320-startup-blocking-modal
Draft

Render the study interface while participant startup resolves#1371
JackWilb wants to merge 3 commits into
devfrom
codex/1320-startup-blocking-modal

Conversation

@JackWilb

Copy link
Copy Markdown
Contributor

Summary

  • mount the normal study routes and layout from a local non-collecting preview store as soon as the study config is parsed
  • keep the entire interface inert, busy, and covered by the existing startup spinner until participant and completion state is authoritative
  • pause startup-time writes, device rejection, and programmatic navigation while the barrier is active
  • make participant startup idempotent across StrictMode effect replay and support safe in-place retry after recoverable initialization failures

Why

Participant startup previously withheld the complete study interface until authentication, restoration, assignment, and completion checks finished. Mounting a provisional non-interactive shell starts layout and study-resource loading earlier without exposing an incorrect task for interaction.

Validation

  • yarn unittest --run (2,031 passed, 1 skipped)
  • focused Shell, startup error, component controller, route, device warning, and navigation tests (92 passed)
  • yarn typecheck
  • yarn lint
  • yarn build
  • git diff --check

Browser profiling and the large-study Playwright startup scenarios remain appropriate follow-up validation before moving this draft to ready.

Closes #1320

@github-actions

github-actions Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

A preview of 5ac72f7 is uploaded and can be seen here:

https://revisit.dev/study/PR1371

Changes may take a few minutes to propagate.

@JackWilb JackWilb linked an issue Jul 30, 2026 that may be closed by this pull request
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Render the study interface while participant startup resolves

1 participant