Skip to content

fix(library): preserve public file links after S3 migration - #57

Merged
sawradip merged 1 commit into
deploy/stagingfrom
fix/staging-s3-delivery
Nov 13, 2026
Merged

sawradip merged 1 commit into
deploy/stagingfrom
fix/staging-s3-delivery

Conversation

@sawradip

Copy link
Copy Markdown
Contributor

Switching a public library from disk to S3 currently makes existing /files/... media URLs return 404. Preserve those URLs by checking that the asset is available and redirecting to a five-minute signed S3 URL. Cache redirects for only one minute so an expired signature is never kept as an immutable media response.

Unknown and withdrawn assets retain their 404/410 responses. Private S3 libraries continue to require the authenticated file endpoint. This allows staging storage to move to a private R2 bucket without rewriting existing book and image URLs.

Validation: library-server suite passed (117 tests, 1 skipped), including three new migration regressions; typecheck and lint passed. The full suite used a 30-second test timeout while CPU rendering ran concurrently.

@sawradip
sawradip merged commit 1323acc into deploy/staging Nov 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant