Replies: 1 comment 1 reply
Architectural Breakdown: Hosted Supabase Storage & TUS State LifecycleTo answer your pre-adoption architecture questions, here is how TUS resumable uploads, state persistence, and physical byte reclamation operate in hosted Supabase Storage. 1. Hosted TUS Backend & Effective Expiration
2. Fixed vs. Sliding Expiration
3. Production Cleanup Mechanism & Worst-Case BoundsPhysical byte reclamation operates across two distinct decoupled layers:
4 & 5. Coverage of Hidden / Orphaned State
6. Supported Diagnostics Available to Project OwnersWhile standard REST/Data API endpoints and SQL views (
|
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
This is a pre-adoption architecture question, not a report of a hosted production incident.
Supabase documents that an unfinished resumable-upload URL expires within 24 hours and that S3 multipart uploads are automatically aborted after 24 hours. We need to understand whether hosted Storage provides a finite cleanup bound for all state created by TUS, including state that is not visible through storage.objects or normal bucket listings.
Separately, we reproduced a local file-backed issue: createTusStore passes expirationPeriodInMilliseconds to S3Store, but omits it when constructing FileStore. The omission is present in the tagged source through Storage v1.79.23. The resulting FileStore expiry is zero; old HEAD/PATCH requests remain usable and deleteExpired() removes nothing. This local result does not establish that hosted Storage is affected.
Could a Supabase Storage maintainer clarify:
The key distinction is between request-time URL expiry and physical cleanup. A failed HEAD/PATCH and an empty bucket listing do not prove that multipart or TUS metadata has been removed.
I have a standalone JavaScript reproducer and detailed source references available. It contains no credentials, project data, or customer data.
All reactions