Skip to content

Gate tui-stories Bun import workaround by runtime version#635

Draft
schickling-assistant wants to merge 4 commits intomainfrom
schickling/2026-04-28-bun-followup
Draft

Gate tui-stories Bun import workaround by runtime version#635
schickling-assistant wants to merge 4 commits intomainfrom
schickling/2026-04-28-bun-followup

Conversation

@schickling-assistant
Copy link
Copy Markdown
Collaborator

@schickling-assistant schickling-assistant commented Apr 28, 2026

Summary

Benchmark

Synthetic import-scheduler benchmark on local Node v24.14.0, using 48 independent ESM modules with 35ms top-level await each, 7 rounds:

  • Serial median: 1714.9ms
  • Concurrent median: 42.2ms
  • Median speedup: 40.6x
  • Median time saved: 1672.7ms

Bun verification

  • Old repo/nixpkgs Bun: 1.3.11
  • New .#bun: 1.3.14-canary.1+ca9e0896c
  • Dynamic import TDZ repro against Nix-built .#bun: five concurrent imports all resolved initialized exports.

Validation

  • nix build .#bun --print-build-logs
  • nix build .#tui-stories --print-build-logs
  • git diff --check

Note: nix flake check --no-build --print-build-logs currently fails while evaluating packages.x86_64-linux.notion-cli-pnpm-deps with path ... packages--overeng-notion-cli-package.json is not valid; this is outside the Bun/tui-stories path. tui-stories, bun, and the overlay all evaluate/build.

Earlier note: dt test:tui-stories --no-tui could not start from this shell because dt was not on PATH and devenv shell hung during Configuring shell; the direct Nix package build passed and includes the CLI smoke test.

Posted on behalf of @schickling
field value
agent_name 🪵 co2-birch
agent_session_id 534da0da-7e1f-45fc-b9a8-fdcb9bbc6f0d
agent_tool Codex CLI
agent_tool_version codex-cli 0.124.0
agent_runtime Codex CLI codex-cli 0.124.0
agent_model unknown
worktree effect-utils/schickling/2026-04-28-bun-followup
machine dev3
tooling_profile dotfiles@2edf09b-dirty

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 28, 2026

Storybook Previews

Package Latest URL Last Deploy (Europe/Berlin)
effect-schema-form-aria https://effect-schema-form-aria-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
genie https://genie-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
notion-react https://notion-react-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
react-inspector https://react-inspector-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
tui-react https://tui-react-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
notion-cli https://notion-cli-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
tui-stories https://tui-stories-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
effect-react https://effect-react-pr-635--overeng-utils.netlify.app 2026-04-28 12:32 CEST
megarepo https://megarepo-pr-635--overeng-utils.netlify.app 2026-04-28 12:33 CEST
Per-Commit Deploy History

Commit 15eeb27 · 2026-04-28 12:33 CEST

Package URL
effect-schema-form-aria https://69f08cafa568a940d9b6a3aa--overeng-utils.netlify.app
Alias: https://effect-schema-form-aria-pr-635--overeng-utils.netlify.app
genie https://69f08cb58a2a2a269ef8ade7--overeng-utils.netlify.app
Alias: https://genie-pr-635--overeng-utils.netlify.app
notion-react https://69f08cba3e2cb33ec91e2b6f--overeng-utils.netlify.app
Alias: https://notion-react-pr-635--overeng-utils.netlify.app
react-inspector https://69f08cbeefc42b3ded6bdaff--overeng-utils.netlify.app
Alias: https://react-inspector-pr-635--overeng-utils.netlify.app
tui-react https://69f08cc56fb7a72343c77040--overeng-utils.netlify.app
Alias: https://tui-react-pr-635--overeng-utils.netlify.app
notion-cli https://69f08ccb8e7d063b8672ca07--overeng-utils.netlify.app
Alias: https://notion-cli-pr-635--overeng-utils.netlify.app
tui-stories https://69f08cd2c1b6db24a0bc9798--overeng-utils.netlify.app
Alias: https://tui-stories-pr-635--overeng-utils.netlify.app
effect-react https://69f08cd63170e23a48c70e35--overeng-utils.netlify.app
Alias: https://effect-react-pr-635--overeng-utils.netlify.app
megarepo https://69f08cde66cedd3d27ed2f85--overeng-utils.netlify.app
Alias: https://megarepo-pr-635--overeng-utils.netlify.app

Commit 54ad71a · 2026-04-28 12:08 CEST

Package URL
effect-schema-form-aria https://69f086c42ffe342aab0d0f3b--overeng-utils.netlify.app
Alias: https://effect-schema-form-aria-pr-635--overeng-utils.netlify.app
genie https://69f086caf2c2e73595d7f9e1--overeng-utils.netlify.app
Alias: https://genie-pr-635--overeng-utils.netlify.app
notion-react https://69f086d63e2cb329a91e2cad--overeng-utils.netlify.app
Alias: https://notion-react-pr-635--overeng-utils.netlify.app
react-inspector https://69f086e3a568a9311eb6a3e8--overeng-utils.netlify.app
Alias: https://react-inspector-pr-635--overeng-utils.netlify.app
tui-react https://69f086de5cdefd01c7fa3738--overeng-utils.netlify.app
Alias: https://tui-react-pr-635--overeng-utils.netlify.app
notion-cli https://69f086d18e7d06251972c949--overeng-utils.netlify.app
Alias: https://notion-cli-pr-635--overeng-utils.netlify.app
tui-stories https://69f086dd0d9e9d09e27c4ed2--overeng-utils.netlify.app
Alias: https://tui-stories-pr-635--overeng-utils.netlify.app
effect-react https://69f086bed1f72d0cb58384c8--overeng-utils.netlify.app
Alias: https://effect-react-pr-635--overeng-utils.netlify.app
megarepo https://69f086ebe361c828cfca3731--overeng-utils.netlify.app
Alias: https://megarepo-pr-635--overeng-utils.netlify.app

@schickling schickling enabled auto-merge (squash) April 28, 2026 10:33
@schickling schickling disabled auto-merge April 28, 2026 10:34
@schickling-assistant schickling-assistant marked this pull request as draft April 28, 2026 10:35
@schickling-assistant
Copy link
Copy Markdown
Collaborator Author

Holding this PR until nixpkgs ships a stable Bun with the module-loader fix from oven-sh/bun#29393 (Bun >= 1.3.14).

Current state:

  • The upstream Bun bug is fixed, but our pinned nixpkgs still provides Bun 1.3.11.
  • This PR currently carries a temporary overlay to 1.3.14-canary.1+ca9e0896c.
  • Before merging, we should wait for nixpkgs to carry the fixed stable Bun, then drop nix/bun-overlay.nix and the overlay wiring/TODOs in flake.nix and devenv.nix.

Unblock checklist:

  1. Confirm pkgs.bun.version >= 1.3.14 from nixpkgs.
  2. Remove the temporary Bun overlay and wiring.
  3. Re-run nix eval --raw .#bun.version, nix build .#bun, and nix build .#tui-stories.
Posted on behalf of @schickling
field value
agent_name 🪵 co2-birch
agent_session_id 534da0da-7e1f-45fc-b9a8-fdcb9bbc6f0d
agent_tool Codex CLI
agent_tool_version codex-cli 0.124.0
agent_runtime Codex CLI codex-cli 0.124.0
agent_model unknown
worktree effect-utils/schickling/2026-04-28-bun-followup
machine dev3
tooling_profile dotfiles@2edf09b-dirty

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.

Concurrent dynamic import with top level await trigger temporal dead zone

1 participant