backend: cache special login images#1825
Closed
alxndrsn wants to merge 6 commits into
Closed
Conversation
Set long-lived cache headers for special config blobs shown as images on the login page: * hero image * logo Ref getodk#1822
Contributor
Author
|
@matthew-white on reflection I think |
5 tasks
Member
|
Sounds good, that makes sense. 👍 Would you consider doing it in a follow-up PR after getodk/central-backend#1810 is merged? Since I reviewed that PR already, it feels slightly easier from my perspective for significant additional work to come in a follow-up PR. Though perhaps I'm overestimating how much code will be involved. |
Member
|
(Not a strong preference, just wanted to throw out this idea of a follow-up PR.) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Set long-lived cache headers for special config blobs shown as images on the login page:
Ref #1822
What has been done to verify that this works as intended?
Added tests.
Why is this the best possible solution? Were any other approaches considered?
It's done in conjunction with preventing clients from seeing the S3 URLs for these images (getodk/central-backend#1810).
The long caching header set here means that the
ETag/If-Not-Modifiedheader is probably never even revalidated in practice.An alternative would be to leave
odk-central-backendresponsible for this caching header.That would:
✅ keep the nginx config more consistent
✅ would allow for simpler logic around changing header depending if
tsis set in the query string✅ mean this repo does not need to keep track of changes to the config blobs list
❌ would mean re-defining immutable cache headers in the backend repo
How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
Leverages caching to streamline their authentication experience.
Does this change require updates to documentation? If so, please file an issue here and include the link below.
No.
Before submitting this PR, please make sure you have:
nextbranch OR only changed documentation/infrastructure (masteris stable and used in production)