Commit d40c01e
Build on bun 1.3.13 to fix the Windows TUI (OpenTUI FFI crash)
`utmstack` crashed at startup on Windows with:
Failed to initialize OpenTUI render library: bun:ffi dlopen() is not
available in this build (TinyCC is disabled)
Root cause is Bun issue #30717: a regression that landed in bun 1.3.14 (the
Rust rewrite) drops the extraction step for FFI native libraries embedded via
`with: {type:"file"}` in `bun build --compile` output. OpenTUI — opencode's
renderer — loads its native library exactly that way, so the compiled binary
cannot dlopen it. On macOS/Linux a fallback masks it; on Windows, where TinyCC
is also disabled in compiled binaries, both paths fail and the TUI won't start.
1.3.14 is the latest Bun release and the fix (PR #30720) is in no release, so
the only path is to build on 1.3.13, the last release before the regression.
Verified on a real Windows 11 ARM64 machine: the 1.3.14 build exits immediately
with the FFI error; the 1.3.13 build gets past renderer init and runs. macOS
arm64 rebuilt on 1.3.13 and TUI-smoke-tested — no regression.
Pins packageManager and CI setup-bun to 1.3.13. Adds a BUILD_TARGETS env filter
to build.ts so a single platform can be built for testing without the full
matrix.
I had not tested the interactive TUI on Windows before the first release — only
the MCP end-to-end and the CLI's headless `run` path on macOS. That gap is what
let this ship. The release workflow's verify step still only checks --version;
a TUI smoke test in CI is a follow-up worth doing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent b454843 commit d40c01e
3 files changed
Lines changed: 11 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
116 | 116 | | |
117 | 117 | | |
118 | 118 | | |
119 | | - | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
120 | 128 | | |
121 | 129 | | |
122 | 130 | | |
| |||
0 commit comments