Age | Commit message (Collapse) | Author |
|
When storing files in S3, paperclip is configured with a Cache-Control header
indicating the file is immutable, however no such header was added when using
OpenStack storage.
Luckily Paperclip's fog integration makes this trivial, with a simple
`fog_file` `Cache-Control` default doing the trick.
|
|
Some "S3 Compatible" storage providers (Cloudflare R2 is one such example) don't support setting ACLs on individual uploads with the `x-amz-acl` header, and instead just have a visibility for the whole bucket. To support uploads to such providers without getting unsupported errors back, lets use a black `S3_PERMISSION` env var to indicate that these headers shouldn't be sent.
This is tested as working with Cloudflare R2.
|
|
|
|
|
|
|
|
Nginx can be configured to bypass proxy cache when a special header
is in the request. If the response is cacheable, it will replace
the cache for that request. Proxy caching of media files is
desirable when using object storage as a way of minimizing bandwidth
costs, but has the drawback of leaving deleted media files for
a configured amount of cache time. A cache buster can make those
media files immediately unavailable. This especially makes sense
when suspending and unsuspending an account.
|
|
|
|
|
|
|
|
|
|
|
|
Fix #3804, Fix #5776
|
|
To support Exoscale
|
|
|
|
|
|
Change the behaviour of remotable concern. Previously, it would skip
downloading an attachment if the stored remote URL is identical to
the new one. Now it would not be skipped if the attachment is not
actually currently stored by Paperclip.
|
|
The default limit of 10 retries with exponential backoff meant
that if the S3 server was timing out, you would be stuck with it
for much, much longer than the 5 second read timeout we expect.
The uploading happens within a database transaction, which means
a failing S3 server could negatively affect database performance
|
|
|
|
|
|
|
|
I also added "public" here, as I can't think of a good reason not to add it. Perhaps it has some marginal benefit in that ISPs (or other proxies) can cache it for all users. The assets are certainly publicly available and the same for all users.
|
|
Still check for S3_CLOUDFRONT_HOST for existing installs.
|
|
remove_remote (#8339)
* Fix uncaching worker
* Revert to using Paperclip's filesystem backend instead of fog-local
fog-local has lots of concurrency issues, causing failure to delete files,
dangling file records, and spurious errors UncacheMediaWorker
|
|
* Update paperclip.rb
* Update .env.production.sample
* Update paperclip.rb
|
|
This reverts commit 40871caa4b06c7ee1c3b07f439ed984ead295ced.
|
|
* Revert "Bump version to 2.3.2rc1"
This reverts commit cdf8b92fea269209cedf38c50bca276cdf47b1fe.
* Revert "Downgrade Dockerfile to Ruby 2.4.3 on Alpine 3.6 (#6806)"
This reverts commit 0074cad44ffcbbdbc798f57a21829359741e60d9.
* Revert "Handle Mastodon::HostValidationError when pulling remoteable assets (#6782)"
This reverts commit 4a0a19fe54f1d2d433ad3d72c35f2bbb915279f6.
* Revert "Correct the reference to user's password in mastodon:add_user task (#6800)"
This reverts commit 338bff8b93fa939c2968818e53386fd0c013d9a9.
* Revert "Upgrade Paperclip to version 6.0.0 (#6754)"
This reverts commit b88fcd53f711673b21e5ff4a547dbf929866a2ee.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Keystone V2 is deprecated in favour of V3. This adds the necessary
connection parameters for establishing a V3 connection. Connections
to V2 endpoints are still possible and the configuration should
remain compatible.
This also introduces a SWIFT_REGION variable for multi-region
OpenStack environments and a SWIFT_CACHE_TTL that controls how long
tokens and other meta-data is cached for. Caching tokens avoids
rate-limiting errors that would result in media uploads becoming
unavailable during high load or when using tasks like
media:remove_remote. fog-openstack only supports token caching for
V3 endpoints, so a recommendation for using V3 was added.
|
|
|
|
|
|
|
|
|
|
|
|
* Fix #1642, fix #1912 - Previous change (#1718) did not modify how original file was saved on upload
* Fix for when file is missing
|
|
|
|
* Custom Paperclip path.
* Document PAPERCLIP_ROOT.
* Add PAPERCLIP_ROOT_URL (and rename PAPERCLIP_ROOT to PAPERCLIP_ROOT_PATH).
|
|
|
|
add support for reading S3 protocol from ENV
also add S3_HOSTNAME in .env.production.sample
|
|
If an :original gets converted into another format, it would get saved as
original_filename *anyway*, so generating the extension is pointless and
yields bad results for when you change the style definition later. This way,
old gifs will still have correct URLs
|
|
invalid) to 'public-read'
|
|
|
|
|
|
|
|
|