mirror of
https://github.com/storytold/photocraft.git
synced 2026-10-26 02:47:07 -06:00
* fix(format): saving onto a dangling symlink writes through to its target (#6605) resolve_symlink fell back to the link path when canonicalize failed, so an atomic save renamed over the symlink and replaced it with a regular file. Dangling chains now resolve lexically (relative targets included, with a depth cap), so the bytes land at the target and the link survives; a symlink loop is a clear error instead of a silent link replacement. * Follow dangling links without folding .. by text A folder on the way may itself be a symlink, so leave .. for the OS to resolve. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: highperfocused <highperfocused@pm.me> Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>