Skip to content

chore: pin bun install linker to isolated#2140

Closed
braden-w wants to merge 3 commits into
mainfrom
chore/pin-bun-linker-isolated
Closed

chore: pin bun install linker to isolated#2140
braden-w wants to merge 3 commits into
mainfrom
chore/pin-bun-linker-isolated

Conversation

@braden-w

@braden-w braden-w commented Jun 21, 2026

Copy link
Copy Markdown
Member

What

Add a root bunfig.toml pinning the bun install linker to isolated (pnpm-style).

Why

bun's default linker varies by bun version, workspace setup, and the lockfile configVersion, so the node_modules layout was diverging across machines and could flip silently on a bun upgrade.

That already bit us. onnxruntime-web is a transitive dependency of @ricky0123/vad-web, not declared by whispering, so it is unreachable from the app root under an isolated tree. Whispering's vite config resolved it from the app root and threw MODULE_NOT_FOUND at config-eval time on an isolated machine while working fine on a hoisted one. The resolution path was fixed separately (resolve onnx through vad-web); this pins the layout so the hoisted-vs-isolated divergence stops happening across machines and CI.

isolated is the strict layout: a package can only import the dependencies it declares, so phantom dependencies fail loudly instead of riding on accidental hoisting.

Note

This is repo-wide. The quality check on this PR exercises a full install and build under isolated. If another app was relying on a hoisted phantom dependency, it surfaces here rather than on main.


View with Codesmith Autofix with Codesmith
Need help on this PR? Tag /codesmith with what you need. Autofix is disabled.

braden-w added 3 commits June 20, 2026 17:55
The setup screen wore the narrow max-w-lg centered shape meant for the
capture column, so a tall setup card sat stranded beside ~560px of dead
horizontal space and, with sm:py-0, hugged the top and bottom window
edges.

Split the first-run branch into a two-column grid: a left value-prop
column (hero plus Private/On-device/Open-source trust items) beside the
existing setup card on the right, stacking to a single column below lg.
The hero is now a shared snippet so the capture view keeps its centered
single-column layout. Columns are top-aligned so the headings share a
line, and the container always keeps vertical padding so content never
touches the window edges.
…state

The empty state passed class="py-8", but .cn-empty is scoped as
.style-vega .cn-empty (specificity 0,2,0, unlayered) and already applies
p-12, so the utility never took effect. Remove the no-op class.
bun's default linker varies by bun version, workspace setup, and lockfile
configVersion, so the node_modules layout differed across machines and could
flip silently on a bun upgrade. Pin it explicitly so every machine and CI
produce the same isolated (pnpm-style) tree, where a package can only import
the dependencies it declares.
@braden-w

Copy link
Copy Markdown
Member Author

Splitting this PR. The bunfig pin moved to #2152, which is a clean one-commit PR containing only the bunfig.toml change.

The two whispering onboarding commits here (drop dead padding class, redesign onboarding as two-column) are superseded by #2141, which is built on top of them and replaces the two-column layout with single-column. The onboarding work ships through #2141 instead, so it should not merge via this PR.

@braden-w braden-w closed this Jun 21, 2026
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