Replace logo selection route with per-request global variable #5874
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.
Status
Ready for review
Description of Changes
Getting the logo URL via the
/org-logo
route's redirect meant that the logo had to be retrieved with every page load, which of course over Tor can take several seconds. Selecting the logo at the start of each request and storing its URL in the Flask globals allows the static URL to be used in the templates, with the default caching of static assets, eliminating the extra requests.Testing
git checkout -b static-logo origin/static-logo
securedrop/static/i/custom_logo.png
, remove it.make dev
/org-logo
.Deployment
This does introduce the possibility of OSSEC alerts from the errors logged if no site logo is available, or if the static directory is missing.
Checklist
If you made changes to the server application code:
make lint
) and tests (make test
) pass in the development containerIf you made non-trivial code changes:
Choose one of the following: