Skip to content

fix(browser): semconv HTTP status by default; release browser 0.10.1, effect-sdk 0.9.1 - #1184

Merged
Makisuo merged 3 commits into
mainfrom
fix/browser-sdk-http-semconv
Sep 30, 2026
Merged

Makisuo merged 3 commits into
mainfrom
fix/browser-sdk-http-semconv

fix(browser): count fetch timeouts as errors, scope the sampling guar…

900cf35
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Sep 30, 2026 in 9m 14s

Confidence 5/5 · No issues found

🟢 Confidence 5/5 · safe to merge
The new isTimeout branch only widens the error case for AbortSignal.timeout() and leaves app-driven aborts untouched; the added browser test exercises it and fails without the change.
quality 100/100 · no findings · tests covered · risk low

The follow-up makes a fetch rejected by AbortSignal.timeout() count as an error again, without changing how app-driven aborts are classified, and marks error.message as gone in the docs and tests. Contained and safe to merge.

  • isTimeout treats a TimeoutError rejection or signal reason as a failure
  • Fetch timeout now sets Error status despite signal.aborted being true
What was checked
  • A normal request aborted by the app still reports Unset: AbortError and signal.aborted short-circuit isTimeout (tracing.ts:280)
  • A pre-aborted signal with a non-timeout reason returns false from isTimeout, confirmed by the existing custom-reason test

900cf35 · Updated on every push. Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.