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

Chrome toolbar icon progress bar stuck indefinitely at 100% #1003

Closed
Tomalak opened this issue Oct 18, 2022 · 3 comments
Closed

Chrome toolbar icon progress bar stuck indefinitely at 100% #1003

Tomalak opened this issue Oct 18, 2022 · 3 comments

Comments

@Tomalak
Copy link

Tomalak commented Oct 18, 2022

In Chrome, the toolbar icon does not hide the green progress bar after running internal DB updates, it's just sitting indefinitely at 100%:

toolbar screenshot

Only after clicking on the icon (disable/enable), the progress bar disappears:

image

@birtles
Copy link
Member

birtles commented Oct 18, 2022

Yes, I've definitely seen this on Edge before. I tried to debug it last week but couldn't reproduce it.

If it happens again, would you be able to hover over the icon and tell me what it says?

I'm trying to determine if it's a problem with the final update not occurring or if it's a race condition involving loading the icons. I suspect it's the latter.

@Tomalak
Copy link
Author

Tomalak commented Oct 23, 2022

It does not say anything special.

image

@birtles
Copy link
Member

birtles commented Oct 24, 2022

Thanks that's very helpful.

I think that eliminates the possibility that the final database update is not being received. Instead, my guess is that in Chromium-based browsers, setIcon is not guaranteed to be FIFO. That is, my current theory is we have the following situation:

  1. We get a database update saying "100%"
  2. We call setIcon asynchronously to load and set the 100% icon
  3. While setIcon is still running we get another database update saying "All done"
  4. We call setIcon asynchronously to load and the set done icon
  5. Because the done icon has already been used (it's the default icon) it loads from the cache and is displayed
  6. The first call to setIcon finally completes and overrides the second call, displaying the 100% icon

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

No branches or pull requests

2 participants