fix favicon routes for pages that are created during or after startup #222
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.
Until now favicons are collected in a global dictionary. During startup a function
create_favicon_routes()
is called to create routes for all favicons in this dictionary. This is because we need wait untilui.run(..., favicon=...)
has been called because it might define a default favicon.But this does not work for pages that are also created during startup (but a bit later) or even dynamically caused by a user event.
This PR proposes to create routes directly when initializing pages. Even though we need to wait for the
favicon
argument inui.run
, we can already create routes and let the callback access the fallback favicon when called. This simplifies things (no need for the global dictionary anymore) and works more robustly, since pages can be created at any time and favicons will be routed.