-
-
Notifications
You must be signed in to change notification settings - Fork 386
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
Theme sync may cause render loops across different browser tabs #1352
Comments
SutuSebastian
added
🐛 bug
Something isn't working
confirmed
This bug was confirmed
labels
Apr 7, 2024
@SutuSebastian Is there any particular direction the Flowbite team might prefer? If I find hours, I could start a PR for discussion. |
Feel free to contribute with whatever u can 🔥 |
No real code yet, but just reviewing what it currently does I have some questions:
|
1 task
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Steps to reproduce
Clone reproduction repo. Basically npm create flowbite-react@latest.
Current behavior
The tabs are reading, rerendering, and causing other events to communicate back and forth probably based on local storage hooks. This can cause them to hit infinite loops in all tabs.
Expected behavior
No infinite loops.
Context
The reproduction repo here is very silly. We found this bug in our real application, which renders a number of complex SVG's and other expensive operations. A user had just two tabs open, and was able to cause it with a simple double click on the theme switcher.
I wonder if there's neutral ground to be established by adjusting theme mode
auto
. Perhaps while it's on auto, it just reads the browser preference only, and never even enables the local storage hooks. Maybe there's an option opt in or out of the local storage hooks?The text was updated successfully, but these errors were encountered: