Skip to content

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

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

Gate tui-stories Bun import workaround by runtime version#635
schickling-assistant wants to merge 4 commits into
mainfrom
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

@schickling-assistant schickling-assistant added origin:agent Filed by an AI agent type:chore Semantic type:chore label area:tui tui-react / tui-stories / TUI rendering area:storybook Storybook tooling and stories labels May 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:storybook Storybook tooling and stories area:tui tui-react / tui-stories / TUI rendering origin:agent Filed by an AI agent type:chore Semantic type:chore label

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