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

ResiezObserver loop completed with undelivered notifications #1306

Open
sykes10 opened this issue Apr 16, 2024 · 5 comments · May be fixed by #1335
Open

ResiezObserver loop completed with undelivered notifications #1306

sykes10 opened this issue Apr 16, 2024 · 5 comments · May be fixed by #1335
Labels
type:defect Bugs or weaknesses. The issue has to contain steps to reproduce.

Comments

@sykes10
Copy link

sykes10 commented Apr 16, 2024

Describe the bug
After upgrading @snowplow/browser-tracker from version 3.22.1 to version 3.23.0 we have been getting thousands of Bugsnag with the message ResiezObserver loop completed with undelivered notifications.

This message is reported for all browsers and OS using our website.

We don't have any instances of ResizeObserver in our codebase that might be causing this.

To Reproduce
Run the latest version of @snowplow/browser-tracker and capture the errors with a tool like Sentry or Bugsnag. We don't know how to trigger it, but Bugsnag reports this error for each session.

Expected behaviour
No errors should be reported.

Observations
Checking the codebase I see the ResizeObserver being registered but not unregistered at

.

@sykes10 sykes10 added the type:defect Bugs or weaknesses. The issue has to contain steps to reproduce. label Apr 16, 2024
@matus-tomlein
Copy link
Contributor

Hi @sykes10, thank you for reporting this problem!

I have tried to reproduce it using a demo React app with the JS tracker version 3.23.0 and installed BugSnag, but wasn't able to produce the errors that you are getting.

Could you please help us investigate this deeper? Searching for the problem, I see that it is often happening due to users having some browser extensions installed. Do you see the problem happening for all users or certain browsers/setups? Are you able to reproduce this locally?

@sykes10
Copy link
Author

sykes10 commented Apr 17, 2024

Hi @matus-tomlein, Thanks for your quick reply, first I can confirm that downgrading the package to 3.22.1 stops all the Bugsnags.

Our application is a Nuxt app version 3.8.2 with vue 3.3.13 to give you more context.

I also checked the demo you linked and see that the Snowplow version you have in the package.json is 3.14.0 but the error is introduced in 3.23.0. Could you double-check that it was tested with the right version?

Also here's a list of some browsers that are experiencing this.
image

I will try to find a way to recreate this on our own and get back to you soon.

@miike
Copy link
Contributor

miike commented Apr 29, 2024

@sykes10 Just following up on this one - did you manage to find a way to recreate this?

@sykes10
Copy link
Author

sykes10 commented Apr 29, 2024

I've been busy these last days but I will try to create a reproducible environment this week.

@AngusMorton
Copy link

We're seeing this too, could this be because readBrowserProperties() triggers a forced synchronous layout?

So, the ResizeObserver calls readBrowserProperties() which forces a synchronous layout that then enqueues a new resize observer notification if the body size changes.

@AngusMorton AngusMorton linked a pull request Jul 23, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:defect Bugs or weaknesses. The issue has to contain steps to reproduce.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants