Skip to content
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

fix(oidc): force sw update when new registration appears (release) #1449

Merged

Conversation

wermanoid
Copy link
Contributor

@wermanoid wermanoid commented Sep 13, 2024

Should help with #1400

Also allow to update SW when some code changes happens within same version. At lest existing service_worker_update_require_callback was effective enough for me in private app tests and with react-oidc-demo app too. I didn't fail in any reload loop, since SW copy function was added to app prestart.

@piotrbartnik @guillaume-chervet would be great if you could prove that it works or not at yours environment

@wermanoid wermanoid force-pushed the fix/update-sw-registration branch from 5bcf899 to 4c83439 Compare September 13, 2024 13:39

if (registration.active && registration.waiting) {
console.log('Detected new service worker waiting, unregistering and reloading');
await configuration.service_worker_update_require_callback?.(registration, stopKeepAlive);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hi @wermanoid thank you for your PullRequest !
I'am not sure to understand why we nee 2 time await configuration.service_worker_update_require_callback?.(registration, stopKeepAlive); ? may you help me to understand?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are cases when new service worker is added, when old one is still running. This leads to case when SW is just hanging in waitting state and never starts, as original SW is still running as usual.

As far as I understand now, oidc is able to update SW only when running SW version and oidc version mismatch.
But we had cases when ui was redeployed and that leads to case, when 2 SW of same internal oidc version appeared in browser.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanh you @wermanoid I will test your version tomorrow! sorry for the delay.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @guillaume-chervet , any chance to verify? Or can I help somehow to move forward?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I checked it referring to my Issue #1400

I can't reproduce the sw mismatched versions issue anymore in demo app running from wermanoid:fix/update-sw-registration

@guillaume-chervet
Copy link
Contributor

very very sorry for the delay @wermanoid

@guillaume-chervet guillaume-chervet merged commit cc731c1 into AxaFrance:main Oct 2, 2024
13 checks passed
@wermanoid wermanoid deleted the fix/update-sw-registration branch October 3, 2024 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants