← ALL FIELD REPORTS

The site looked fine and was crashing: a dual React instance post-mortem

A lazy-loaded 3D scene bundled a second copy of React 19's internals. The manifesto page threw on every device behind a page that rendered normally. The lesson: a passing screenshot is not a passing site.

The crash was invisible in every visual check and total in the console. Fixing it required believing an error message over a good-looking page.

What happened

@react-three/fiber v8 depends on React's internal scheduler through a CommonJS path. Under the production bundler with React 19, the chunk evaluated a second, distinct React instance. Every visit to the manifesto page threw 'Cannot read properties of undefined (reading ReactCurrentBatchConfig)'.

The page rendered. Scroll worked. Nothing looked wrong. Only an uncaught-error listener caught it.

The fix

Upgrading to @react-three/fiber 9 - React 19 native, ESM-only - eliminated the duplicate instance. The scenes use only core APIs (Canvas, useFrame, useThree), so the migration was a dependency change, not a code change. Verified: zero page errors on desktop and mobile after the fix.

Why publish this

Because 'the site works' must mean more than 'the site looks right'. The Diary records infrastructure failures with the same seriousness as market results.

SOURCE RECORD

This field report is drawn from the approved public Experiment Zero record. Events, metrics, and chronology remain tied to that source record.

NEXT FIELD REPORT

The waitlist is real: durable signups and a working confirmation email

READ →
FOLLOW EXPERIMENT ZERO

GET THE NEXT FIELD REPORT.

EXPERIMENT ZERO UPDATES. FIELD REPORTS. FUTURE EARLY ACCESS AND OFFERS.

By joining, you agree to receive Experiment Zero updates, field reports, and news about future access and offers. Unsubscribe at any time. Read the Privacy Notice.