Use an image id as a file name only when it is a safe image file name

The app saves a strategy's images as <strategy id>/images/<id><extension>,
and both parts can come from an imported file or from the cloud. One rule,
the same one the server keeps since #356, now decides every name: no
separators, drive colons, "..", characters Windows refuses or a trailing
dot or space, and an image extension. The path builders refuse anything
else; lookups treat it as a file that isn't on this device.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0d554a0837Dara Adedeji committed on 10/21/2026, 5:44:34 PMparentc2ddf79
7 files changedLine totals unavailable