Copy finished but no file id returned
The Copy tab got a “success-shaped” response but no fileId. The client cannot open or list the new file.
Why this happens
After POST /api/upload/copy-from-public, the UI expects { ok: true, fileId: "…" }. If ok is true (or the path thinks it succeeded) without fileId, it throws this message. That usually means a buggy or incomplete server response, a proxy stripping the body, or a rare race—not a normal plan block (those return a clear error).
Diagnose and fix
1. Check My Files anyway — the file may exist even if the UI did not get the id. Refresh the library.
2. Retry the same link once.
3. On the server, check app logs around /api/upload/copy-from-public for exceptions after the file was created.
4. Confirm reverse proxies are not buffering/truncating JSON error or success bodies.
5. Reproduce with a small public file; if only some files fail, inspect that source file’s storage server health (Health Center, Disk caps and offline servers).