-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
fix: preload data on tap after code was preloaded on hover #13530
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
Conversation
🦋 Changeset detectedLatest commit: 0633140 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
if (!a || a === current_a) return; | ||
|
||
// we don't want to preload data again if the user has already hovered/tapped | ||
const interacted = a === current_a && priority >= current_priority; |
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.
Are you sure? I could've hovered like 10 minutes ago if I left for another tab, or to eat a sandwich or something, then came back and hovered again -- not sure we'd want to serve stale data in that case
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 this has already been the behaviour since we cache the load data on hover. Additionally, @dummdidumm added the a === current_a
skip condition as part of the server-side route resolution PR and it does help to skip more of the preload code while hovering over the same link (previously, you could move your mouse across the same link and this function would get called every 20ms).
Maybe we should add a timer to expire the load data cache?
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.
We can investigate that separately - for now this looks good to fix the bug
fixes #13466 (for real this time)
#13486 previously fixed the preload on tap not working by ensuring we do not skip checking the link until a preload has triggered. However, there's also the case where we have both preload link options: preload code on hover and preload data on tap.
This PR ensures that we still preload data on tap even after a successful preload on hover if the preload on hover was only preloading code.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
Tests
pnpm test
and lint the project withpnpm lint
andpnpm check
Changesets
pnpm changeset
and following the prompts. Changesets that add features should beminor
and those that fix bugs should bepatch
. Please prefix changeset messages withfeat:
,fix:
, orchore:
.Edits