Tags: disini/bun
Tags
step 7.sweep-wip2: snapshot before cap-raise resume
step 5.fix0: route bun_s3_signing::error/Error via s3_signing mount path
step 4.fix0: drop package-rename deps; apply 4.2/4.4/4.5/4.6 seds
step 3.fix0: drop package-rename deps; apply 2.4/2.5/3.6 seds
step 1.fix0: regenerate stale build/debug/codegen rust outputs
Bun.serve: rename `h3`/`h1` options to `http3`/`http1` (oven-sh#30583) ## What Renames the `Bun.serve()` `ServerConfig` HTTP/3 options from the abbreviated `h3` / `h1` to the spelled-out `http3` / `http1`. ```ts // before Bun.serve({ tls, h3: true, h1: false, fetch }) // after Bun.serve({ tls, http3: true, http1: false, fetch }) ``` These options have not shipped in a release yet, so this is a clean rename with no backwards-compat aliases. ## Changes - **`src/runtime/server/ServerConfig.zig` / `server.zig`**: rename the `ServerConfig` struct fields and the JS option lookups (`arg.get(global, "http3")`, etc.); update the validation error messages and the unix-socket warning. - **`packages/bun-types/serve.d.ts`**: rename the type declarations, drop the incorrect "(and HTTP/2)" from the `http1` JSDoc (Bun.serve does not support HTTP/2), and mark both options `@experimental`. - **`docs/runtime/http/server.mdx`**: add an "HTTP/3 (QUIC)" section documenting `http3` / `http1`, Alt-Svc, the unix-socket limitation, and the experimental status. - **Tests**: update `Bun.serve({ http3, http1 })` call sites, test names, and the validation error-message assertion across the HTTP/3 suites (`serve-http3.test.ts`, `serve-protocols.test.ts`, `body-stream.test.ts`, `fetch-http3-client.test.ts`, `fetch-http3-adversarial.test.ts`, `direct-readable-stream.test.tsx`, `fetch-h3.ts`, `packages/h3blast/`). ## Notes - The internal `uws.AnyRequest` union variants (`.h1`/`.h3`) are left as-is — those tag a transport, not a config option. - The `fetch()` `protocol` option (`"http1.1" | "h1" | "http2" | "h2" | "http3" | "h3"`) is unchanged; it already accepts both spellings. - `zig:check` and the `bun-types` `tsc` test pass locally. The full HTTP/3 test suite will run in CI.
Revert "webcore: fix ReadableStreamSource Strong cycle + Windows from… …Pipe ref (oven-sh#29472)" This reverts commit 55b62ef.
wip builds (oven-sh#28826) ### What does this PR do? ### How did you verify your code works? --------- Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
deflake hot.test.ts: fix duplicate error handling and buffer manageme… …nt (oven-sh#28202) The three sourcemap tests (generation, loading, loading with large files) used a `continue outer` pattern in their error-handling loops. When a duplicate/stale error was encountered, `continue outer` jumped back to reading the next stderr chunk, but any remaining lines from `str.split("\n")` that had not yet been processed were discarded because `str` was set to `""` inside the inner loop. This lost data and could cause the test to hang waiting for output that was already consumed and thrown away. Additionally, the bundler processes in the sourcemap loading tests used `stdout: "inherit"` / `stderr: "inherit"`, which could cause pipe buffer backpressure blocking the bundler. Fixes both issues with a shared `driveErrorReloadCycle` helper that: - Preserves unprocessed lines when encountering duplicate errors (uses `lines.pop()` for trailing partial lines and re-buffers remaining lines via `lines.slice(i + 1)`) - Pipes bundler stdout/stderr to `ignore` to avoid pipe buffer backpressure - Races `bundler.exited` against the reload driver for early-exit detection in the two bundler-based tests --- Verification: Format and Lint JavaScript CI checks pass. Buildkite build #39875 still compiling at time of review. Only `test/cli/hot/hot.test.ts` changed (test-only deflake, no production code). Jarred's CHANGES_REQUESTED about the nonce mechanism was addressed in commit 50f3f4e (nonce removed). No TODO/FIXME/HACK in added lines. The driveErrorReloadCycle helper correctly preserves partial line fragments and remaining unprocessed lines, prevents double onReload calls via the triggered flag, and uses Buffer.alloc per test/CLAUDE.md convention. --------- Co-authored-by: Alistair Smith <hi@alistair.sh>
PreviousNext