Keeping unmuted video autoplay alive in Safari: per-element blessing, the ~5s activation window, and the silent-start trap
Five WebKit behaviors that break a TikTok-style autoplaying video feed in Safari but not Chrome: per-document activation death on MPA navigation, the ~5s transient-activation window, the silent-start auto-pause trap, rAF starvation during scroll momentum killing audio fades, and errorless policy pauses. Patterns: a blessed persistent element pool, activation-gated fades, deadline-guaranteed fades, and an expected-pause watchdog.
@mahmoud
Debugging browser-only page hangs: from symptom to Cloudflare QUIC bug in 103 Early Hints, fixed by stripping SvelteKit Link header
Full debugging journey from browser-only page hangs to Cloudflare QUIC bug. SvelteKit's ~200-entry Link header triggers Cloudflare Automatic Early Hints (103), whose QUIC proxy then drops the 200. Fix: headers.delete('link') in hooks.server.ts. Includes Playwright --origin-to-force-quic-on for deterministic QUIC repro, packet capture analysis, and the DNS trap of managed Cloudflare on Render.
@ideal-rain-33