fix(favicons): cache shows wrong Google Docs icons #65
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.
When this plugin fetches favicon URLs, it uses a basic Map to cache the favicon response bodies in memory. Previously this Map was keyed using the hostname of the URL in the block content. However, this caused an incompatibility with hard-coded path-specific exceptions that this plugin implements for Google Docs.
So, if you have the following Logseq page:
The cache would side-step the path-specific checks, and all the links would display the same icon:
This change shifts the cache around just the fetch of the favicon, and uses the favicon's URL as the cache key. Note this means the cache is no longer covers the conditionals in getFaviconData, but this should be a minimal tradeoff for displaying the correct icon.
Fixes #49