-
Notifications
You must be signed in to change notification settings - Fork 523
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
AO3-5578 Use ActiveStorage for existing image uploads #4807
Conversation
Because ActiveStorage doesn't support prefixes within buckets well, we'll need to update the Ansible local config to separate things out IMO that's better anyways, since we currently co-mingle some production and non-production things... 😬 There's probably a way to do this with less friction, but I think this should be OK since we're copying things over |
Looks like #4738 (AO3-6324' comments) agree with you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I had a look at all the code except for the rake task.
The fixtures in test/fixtures/pseuds.yml
have (empty) lines for icon_file_name
, icon_content_type
, icon_updated_at
and icon_file_size
that should probably be removed.
I think there should be a followup Jira issue to remove the icon_file_name
, icon_content_type
, icon_updated_at
and icon_file_size
columns from the database for the affected classes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few final comments. The rake task looks good, as does the rest of the code.
I also tried a few things in local dev, including looking at various icons in various places, uploading a pseud icon and using that to test the validator and resizing. Resizing acts the same as on production.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I found how to fix the tests.
At this point, I'm a bit at a loss for how to make mutes/blocks not generate n+1. This should do something, but it ends up doing nothing???
This reverts commit 8c89db2.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some more nitpicks, then this is finally done!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 🎉 🎉
You can remove the |
Also, regarding proxy requests, https://guides.rubyonrails.org/v7.0/active_storage_overview.html#putting-a-cdn-in-front-of-active-storage has a section on making the URL is the CDN host instead of the app host. Is that something we would want to add as well? I would assume no, since cloudflare is in front of the app, not the CDN. |
I asked @AlbertSPedersen about that, and he said we can have CloudFlare reroute the request to either cache/hit S3 directly as long as it's using an ao3.org URL. So yeah, we don't need to do the extra CDN step in this case |
Suspect IssuesThis pull request was deployed and Sentry observed the following issues:
Did you find this useful? React with a 👍 or 👎 |
Pull Request Checklist
Issue
https://otwarchive.atlassian.net/browse/AO3-5578
Purpose
Migrate existing places that use kt-paperclip to ActiveStorage (pseud, collection, and skin icons)
Credit
Brian Austin (they/he)