<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Debugging on Everyone Has a Story</title><link>https://bhaveshsgupta.com/tags/debugging/</link><description>Recent content in Debugging on Everyone Has a Story</description><generator>Hugo</generator><language>en-us</language><managingEditor>BhaveshSGupta@disroot.org (Bhavesh S. Gupta)</managingEditor><webMaster>BhaveshSGupta@disroot.org (Bhavesh S. Gupta)</webMaster><lastBuildDate>Tue, 06 Oct 2026 18:26:36 +0530</lastBuildDate><atom:link href="https://bhaveshsgupta.com/tags/debugging/index.xml" rel="self" type="application/rss+xml"/><item><title>It only fails in Safari: two HLS engines, and how to debug across hops</title><link>https://bhaveshsgupta.com/blog/hls-cdn-4-only-fails-in-safari/</link><pubDate>Tue, 06 Oct 2026 09:03:00 +0530</pubDate><author>BhaveshSGupta@disroot.org (Bhavesh S. Gupta)</author><guid>https://bhaveshsgupta.com/blog/hls-cdn-4-only-fails-in-safari/</guid><description>&lt;p&gt;When a live stream breaks in Safari and plays in Chrome, the tempting conclusion is that Safari&amp;rsquo;s player is the problem. Often it isn&amp;rsquo;t. Both browsers receive the same files from the same CDN. They differ in what they do when one of those files is wrong, so a delivery fault that Chrome quietly recovers from becomes a Safari bug report.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;In short:&lt;/strong&gt; Chrome, Edge and Firefox usually play HLS through hls.js, which retries failed requests and skips small gaps; Safari uses its native player, which surfaces the same faults as errors or stalls. Both get identical bytes, so a problem that only shows in Safari is usually a delivery problem. Find it by measuring each hop separately: compare responses at the origin and the CDN, probe from many regions, group logs by browser, and inspect the segments.&lt;/p&gt;</description></item></channel></rss>