Uppy/TUS upload completes in browser but file never reaches filestore — no preview (Synology DSM, PHP 8.2)

7 views
Skip to first unread message

Bart Sallé

unread,
Jun 25, 2026, 9:17:42 AM (5 days ago) Jun 25
to ResourceSpace

After upgrading from 10.2 to 10.7 on a Synology NAS, new uploads fail silently. The Uppy uploader reports the upload as complete and a resource record is created (with ID and metadata), but no original file and no preview ever appear. Existing pre-upgrade resources display fine. This issue appears to predate the upgrade (there are stalled uploads from months ago in the TUS temp folder).

What I have established so far:

  • The browser console shows Uppy/TUS completing successfully and returning {status: true, message: 'Gemaakt', id: ...}.
  • No file (neither original nor a .cache-only entry's payload) is ever written: filestore/tmp/tus/upload_.../ stays empty, and nothing new appears anywhere under filestore.
  • upload_file() IS called (confirmed via debug.txt) with a valid $file_path pointing into filestore/tmp/tus/..., but it stops almost immediately after one UPDATE resource SET modified query. No "File does not exist", no "File processing faulure", no fatal PHP error in the error log.
  • is_valid_upload_path() passes — $valid_upload_paths correctly contains the filestore path and the TUS temp dir resolves underneath it.
  • The downstream process_file_upload() would fail on MissingSourceFile/EmptySourceFile, consistent with the source file simply not being there.

Environment:

  • ResourceSpace 10.7 (SVN), upgraded from 10.2
  • Synology DSM, Apache 2.4.63 behind the DSM nginx reverse proxy
  • PHP 8.2.28 (FPM)
  • MariaDB 10.11
  • ImageMagick 6.9.12 (works fine from CLI as the web user)
  • $vendor_tus_cache_adapter = 'file' originally; I have since enabled APCu (confirmed active in the web/FPM context via apcu_fetch), but it made no difference — the file still never lands.
  • ExifTool and Ghostscript are not installed; "include EXIF" is unchecked on upload anyway.
  • Installation Check is clean except: last scheduled task never run, and the three upload-size/memory limits which I can raise.

My working theory is that the TUS PATCH requests aren't being passed through / completed correctly at the web server (Apache behind nginx) level, so the client thinks the upload finished while the server never assembles the file. Has anyone seen this specific pattern on Synology, and is there a recommended Apache/nginx config (e.g. fastcgi_request_buffering, proxy settings) or a way to fall back from Uppy/TUS to the legacy uploader?

Reply all
Reply to author
Forward
0 new messages