Skip to content

fix: show the orbit loader while Exora starts - #52

Merged
voltcrash merged 9 commits into
mainfrom
voltcrash/fix-explorer-loading-page
Oct 31, 2026
Merged

voltcrash merged 9 commits into
mainfrom
voltcrash/fix-explorer-loading-page

Conversation

@voltcrash

@voltcrash voltcrash commented Oct 31, 2026 •

Copy link
Copy Markdown
Owner

Visitors briefly see a text-heavy fallback page while the interactive explorer downloads, especially on mobile or slower connections.

Show a dark orbit loader from the initial HTML until React takes over, and respect reduced motion. Keep the readable discovery page available with JavaScript disabled; reveal it when the startup entry runs but importing the application or its dependencies fails. Count the startup entry, application, and their static dependencies through Vite's build manifest so the initial-JavaScript budget remains enforced.

Proof: production-build browser checks cover delayed/failed app downloads, disabled JavaScript, React handoff, and readable guides on desktop/mobile under the deployed CSP. The phone-sized production HTML was also visually inspected with its entry module withheld: only the orbit loader appears.

Validation:

  • vp check, vp test (598 tests), and workspace tests passed.
  • Full desktop/mobile browser suite passed: 80 tests, including startup regressions at both viewport sizes.
  • Workspace builds, discovery/SEO checks, asset provenance, and bundle budgets passed. Initial JavaScript is 449,824 / 450,000 bytes across ten files.
  • Appending 177 bytes to the built application makes the real budget checker reject 450,001 bytes; restoring it passes.
  • Desktop/mobile Lighthouse required assertions passed, including SEO and loading-time budgets. Nonblocking homepage performance warnings remain (64 desktop, 63 mobile), along with unused-JavaScript warnings.

Review decisions:

  • If the startup entry itself is blocked or fails before it can run, the loader remains visible. A timeout that automatically reveals the text page would recreate the reported problem during healthy but slow downloads, so that fallback was declined.
  • Startup adds one network round trip before the app's files are requested together. Loading-time budgets pass; extra preload-generation machinery was declined.
  • Added direct coverage of the real startup import-failure handler and corrected the budget checker after review.

Split into nine focused commits and intended for a merge commit to preserve that history.

Reviewed with review-loop: 2 rounds with Claude Opus 5.5 on xhigh. Reviewer verdict: approved.

Created with GPT-6.1 Sol in Codex (T3 Code).

@voltcrash
voltcrash force-pushed the voltcrash/fix-explorer-loading-page branch from fc39d17 to dad081c Compare October 31, 2026 15:10
@voltcrash
voltcrash merged commit 7a76779 into main Oct 31, 2026
1 check passed
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.

1 participant