mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-30 13:08:07 -06:00
The fallback name was never checked against the names already taken, so an entry called exactly what the fallback produces took the same file: `media/1/a:b.png`, `media/2/a_b.png` and `media/3/2-a_b.png` extracted to five files for six entries, the third overwriting the second, and both items' footage pointing at it. Deduplication now runs on the name actually written and counts up until it is free. The collision predates making the names safe (two entries named `a_b.png` and `2-a_b.png` collide on their own), but sanitising gives more ways in, so it belongs with it. Found by CodeRabbit on the pull request. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>