Skip to content

Fix/startup white screen - #429

Merged
jackwener merged 2 commits into
apache:mainfrom
sunheyi6:fix/startup-white-screen
Jul 2, 2026
Merged

Fix/startup white screen#429
jackwener merged 2 commits into
apache:mainfrom
sunheyi6:fix/startup-white-screen

Conversation

@sunheyi6

Copy link
Copy Markdown
Contributor

No description provided.

@sunheyi6
sunheyi6force-pushed the fix/startup-white-screen branch 2 times, most recently from 4b22319 to c94c2f9CompareJuly 2, 2026 13:43
sunheyi6and others added 2 commits July 3, 2026 00:14
… on startup
- Add inline CSS + HTML skeleton in index.html that renders before
React mounts and external CSS/JS loads
- Skeleton matches .maka-onboarding-loading design with hardcoded
theme-aware colors (light/dark via prefers-color-scheme)
- No external dependencies — visible immediately after HTML parse
- Eliminates blank white/gray screen during 355KB CSS + 5.8MB JS window
…pache#429)
- startup-loading-shell contract: the second test asserted a
Suspense/StartupFallback/maka-preload wiring in app.tsx that was never
implemented (app.tsx imports AppShell eagerly). Repoint it at the actual
fix — the inline preload skeleton in index.html — so it guards real
behavior instead of a red, aspirational contract.
- onboarding.css: the new .maka-onboarding-loading skeleton used bare
border-radius: 12px/999px, violating the radius-token governance
contract (apache#406/apache#418). Use var(--radius-modal)/var(--radius-pill).
- package.json: restore root `dev` to the governed `dev:hmr` fast-HMR path
(real-window-smoke contract); the new scripts/dev.mjs launcher stays
available via `@maka/desktop run dev`.
- .gitignore: drop the machine-specific `.suncode/` IDE dir leak.
Full suite green: core/storage/runtime/headless/ui + 1671 desktop tests.
@jackwener
jackwenerforce-pushed the fix/startup-white-screen branch from c94c2f9 to 3e99a23CompareJuly 2, 2026 16:29
@jackwener
jackwener merged commit 9c1e960 into apache:mainJul 2, 2026
@jackwener

Copy link
Copy Markdown
Member

Merged — thanks! 🎉 The inline preload skeleton in index.html is a clean, well-reasoned fix for the startup white screen (paints before the CSS+JS load window, hardcoded colors since tokens aren't loaded yet, dark-mode aware).

I made a few review fixes before merging so the branch was green against main:

  • Contract test: the second test in startup-loading-shell-contract.test.ts asserted a Suspense/StartupFallback/maka-preload wiring in app.tsx that isn't implemented (AppShell is imported eagerly), so it failed. I repointed it at the actual fix — the index.html preload skeleton — so it guards real behavior.
  • Radius governance: the new .maka-onboarding-loading skeleton used bare border-radius: 12px/999px, tripping the chore(ui): design system refactor — close gap with Craft Agents #406/refactor(ui): govern all border-radius via --radius-* tokens (#406 gap 4) #418 radius-token contract. Switched to var(--radius-modal)/var(--radius-pill).
  • Dev scripts: restored root dev to the governed dev:hmr fast-HMR path (real-window-smoke contract). Your new scripts/dev.mjs launcher stays available via npm --workspace @maka/desktop run dev.
  • .gitignore: dropped the .suncode/ IDE-dir entry (machine-specific).

One note for next time: this PR bundled several unrelated changes (dev-launcher rework, session-store list() perf refactor, cross-platform clean scripts, tsconfig composite churn) under a white-screen title. They're reasonable individually, but splitting them into focused PRs makes review a lot easier. Full suite green after the fixes (1671 desktop tests + all package suites).

Sign up for freeto 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.

2 participants

@sunheyi6@jackwener