Skip to content

Brian B. Tung

Posts tagged #emdash

[Emdash] How an Unchecked Empty Submit and a Falsy-ID Guard in convertPTBlock Created a Permanent Autosave-Erasure Loop for YouTube Embeds

An unchecked form submission in EmDash's PluginBlockModal inserts YouTube blocks with empty IDs, which a falsy check in convertPTBlock converts to placeholder text on reload — and autosave permanently overwrites the original data two seconds later. The patch removes the falsy guard from the serializer and adds a form validation check to the modal.

[EmDash] A Vitest Regression Guard for publicHoistPattern and ssr.optimizeDeps.include on Cloudflare Workers

A Vitest test that verifies every package in ssr.optimizeDeps.include is both hoisted to node_modules/ and resolvable — so a missing publicHoistPattern entry surfaces as a named, actionable test failure instead of exports is not defined deep inside a workerd stack trace.

[EmDash] Why @atproto/api Caused exports is not defined in workerd and How pnpm Hoisting + ssr.optimizeDeps.include Fixes It

@atproto/api is CJS and lives only in pnpm's content-addressable store, so Vite's SSR optimizer can't find or convert it — meaning raw CJS reaches Cloudflare workerd, which has no exports global, and crashes. The fix requires both hoisting the package via publicHoistPattern and listing it in ssr.optimizeDeps.include.

[EmDash] Note `ssr.optimizeDeps.include` Fixes Vite 7's SSR Dep Optimizer Race Condition and Stale Chunk Crashes on Cloudflare Workers

Vite 7 separates SSR and client dep optimization, and packages discovered lazily at request time trigger re-optimization rounds that invalidate shared chunks mid-request. The fix is `ssr.optimizeDeps.include` to pre-bundle all CMS sub-paths at startup before any request arrives.