From d7160e7cfa7068af44ecae85b745b2c3d514d4a8 Mon Sep 17 00:00:00 2001 From: Anthony Ettinger Date: Wed, 23 Sep 2026 18:06:30 +0000 Subject: [PATCH] fix(play): serve files whose names have spaces or non-ASCII letters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The production game file server (start-all.mjs) looked the raw URL up on disk without percent-decoding it. Every track on Þrøngva's album is requested as .../%C3%9Er%C3%B8ngva/After%20the%20Winter%20of%20Want/..., found nothing, and got index.html with a 200 from the SPA fallback, so no music played on nightcell7.com. The old "More Than Enough.mp3" had the same problem. - Decode the path (400 on malformed encoding) before resolving it; the traversal guard now checks against dist + separator, so a decoded %2e%2e%2f or a sibling like dist-old cannot escape. - Support single byte ranges (206/416) and stream files: Safari will not play