После загрузки посетитель попадал на /public/upscale?id=… и видел 404: XHR с преленда кросс-доменный, и сессия,
в которой сайт запомнил загрузку, посетителю на сайте недоступна (куки третьей стороны изолированы или не приняты).
Теперь вместе с файлом уходит client_key (crypto.randomUUID, иначе 16 байт getRandomValues), а после ответа браузер
идёт на https://<сайт>/api/images/public/claim?key=<ключ>&<метки>: сайт кладёт загрузку в сессию посетителя
и ведёт на /public/upscale (ключ годен 30 мин). Нужен api с ClaimAction (fix/preland-claim).
Проверка — .extras/checks-preland-claim/t_preland.sh в рабочей области (index.php в php:8.3-cli, скрипт формы
в node:22): до правки FAIL=3, после 5/5.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>