openMediaFile rejected a file whenever fs/promises.realpath disagreed with the path it was handed. Callers canonicalise through Effect's FileSystem.realPath, which is Node's JS realpath; the promises variant is the native binding, and on Windows it also expands 8.3 short names, so every media file under a short-named temp or profile directory was refused as a symlink swap. Use the same realpath as the callers, so the check still catches a planted link but agrees with a path that is already canonical. The favicon and asset tests now build their relative-path expectations with Path.join rather than a literal '/'. Co-Authored-By: Claude Code <noreply@anthropic.com>
Julius Marminge committed on 9/4/2026, 8:26:51 PMparent7b046a0
3 files changedLine totals unavailable