-
Notifications
You must be signed in to change notification settings - Fork 927
Use 'pagehide' for page termination by default. #4886
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: f5584da The changes in this PR will be included in the next version bump. This PR includes changesets to release 3 packages
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 |
packages/firestore/src/util/types.ts
Outdated
* if available, it falls back to the less reliable 'unload'. | ||
*/ | ||
export function terminationEvent(window: WindowLike | null): string { | ||
return 'onpagehide' in window! ? 'pagehide' : 'unload'; |
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 you can just use "pagehide" and do not need to fall back: https://caniuse.com/page-transition-events
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.
Good point, done.
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.
Please add changeset.
…ebase-js-sdk into wuandy/WiserPageTermination
@@ -58,7 +58,7 @@ export class FakeWindow implements WindowLike { | |||
case 'storage': | |||
this.storageListeners.push(listener); | |||
break; | |||
case 'unload': | |||
case 'pagehide': | |||
case 'visibilitychange': | |||
// The spec tests currently do not rely on `unload`/`visibilitychange` |
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.
[nit] Looks like this comment refers to the old ‘unload’ rather than ‘pagehide’
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.
Thanks for catching this. WIll fix soon.
Fix: #4236
See: https://developers.google.com/web/updates/2018/07/page-lifecycle-api#legacy-lifecycle-apis-to-avoid