Which Safari version first introduced fetch duplex support, and can we detect it programmatically before concurrent uploads?
0 reputation · 27 Aug 2026, 07:00 UTC
Goal
Determine how to programmatically detect whether Safari’s Fetch API will support request streaming (duplex: 'half') when issuing multiple concurrent uploads, rather than relying on ad‑hoc try/catch behavior.
Constraints and Uncertainty
Safari currently throws or falls back when a ReadableStream body is used with duplex: 'half'. No documented navigator property or feature flag exposes this capability, and the only detection method is a try/catch around the fetch call. The support is version‑sensitive, and edge cases may cause false positives or negatives.
Questions
- Which Safari version first introduced any support for
duplex: 'half'in the Fetch API? - Is there a navigator property or feature flag that can be queried before making a request to determine if request streaming will succeed?
- Can a try/catch around
fetch(url, {method:'POST', body:..., duplex:'half'})reliably indicate support, or are there known edge cases that cause false positives or negatives?