ReviewOS

home-lang/home

Serialize streamed Bake exceptions into fallback payloads

#562
Closed chris opened this 9 days ago ·
9 days ago

The unchanged pinned Bun test/bake/dev/react-response.test.ts reaches 9 pass / 2 fail under Home. Both failures are streaming error cases whose HTML contains __bunfallback, but problems.exceptions is empty because Home still stubs ZigException.addToErrorList. Port Bun’s api.JsException projection and ZigStackTrace.toAPI path so streamed SSR exceptions retain their name, message, and stack in the Pechy fallback payload.\n\nParent: #555\nUmbrella: #66\nPinned Bun SHA: 4982b91e3702094330f3be3883354c52b8c01323

9 days ago

Implemented and pushed in 1f31d1836.

Home now ports Bun’s ZigException.addToErrorList, ZigStackTrace.toAPI, ZigStackFrame.toAPI, and source-line projection path. Streamed SSR errors therefore retain their name, message, runtime type, error code, frames, and source lines in the Pechy fallback payload instead of serializing an empty problems.exceptions array.

Verification:

  • unchanged pinned test/bake/dev/react-response.test.ts: 11 pass, 0 fail
  • focused native projection regression: pass
  • home_rt with JSC: 1,815 pass, 19 skip, 0 fail
  • test-bake-development: pass
  • JSC-enabled debug build: pass
  • JSC-disabled debug build: pass
  • Pickier on all three changed files: pass
  • temporary corpus overlays removed before commit

Sign in to comment on this issue.