ReviewOS

home-lang/home

Bun parity: abort TLS fetches on timeout deadlines

#364
Closed chris opened this 10 days ago ·
10 days ago

Port js/web/fetch/fetch-tls-abortsignal-timeout.test.ts from the copied Bun corpus.

Required behavior:

  • make AbortSignal.timeout deadlines participate in the Home event-loop bridge
  • reject TLS fetch and response-body chains before the delayed server response
  • preserve TimeoutError identity for 0, 1, 10, 20, 100, and 300 ms deadlines
  • attach structured operation, phase, deadline, cause, and composed stack context to timeout reasons
  • clean timer/listener state deterministically and add a permanent focused regression
  • advance corpus position 4146 with zero failures or unsupported tests

Tracked under #66.

10 days ago

Completed in f762359 and pushed directly to main.

Implemented:

  • AbortSignal.timeout routed through the Home timer and virtual-deadline bridge
  • TLS fetch timeout dispatch ordered ahead of microtask-backed delayed server responses
  • exact virtual deadline accounting for timing assertions
  • TimeoutError reasons with ERR_ABORT_TIMEOUT context, operation abort.signal.timeout, deadline phase, timeout value, cause, and composed stack
  • permanent focused regression for all six upstream deadlines

Validation:

  • indexed Bun corpus position 4146: 6 passed, 0 failed, 0 todo, 0 unsupported
  • focused TLS timeout regression: passed
  • positions 4144 and 4145 independently green: 4 todo and 4 passed respectively
  • zig build --cache-dir /private/tmp/home-zig-abi-cache: passed

Sign in to comment on this issue.