iPhone stays on 'Loading…' with zero /stream requests and no error event — impossible under any known code path, so instrument the branch decision itself: which branch (hlsjs/native/none-throw), hls.js presence, MSE support, native-HLS capability, full UA.