day8/re-frame-10x

Open/close arrows stop working randomly

mtravers opened this issue · 8 comments

Every so often, for no apparent reason, the open/close widgets in the app-db browser just stop working completely. When this happens, none of them will respond at all (aside from the top-level one -- but any opener on a green background is completely nonfunctional. Same behavior with 0.4.1 0.4.3.

Driving me crazy, because it makes this otherwise extremely valuable tool kind of useless.

This is a duplicate of #209 but we thought it was fixed with v0.4.3 (I'm assuming you are using 0.8.x and React 16.8.6)

BTW, I assume you are aware of the workaround:
https://github.com/Day8/re-frame-10x#the-expansion-triangles-in-the-data-browsers-dont-work-any-more-but-they-used-to

No need for a complete reset, just local storage for your app.

While running your app), in Chrome, go to devtools (F12), choose the Application Tab and then select (on the left) Local Storage and clear out what's there. Restart your app. Fixed? (Warning this removes your re-frame-10x settings)

@mtravers Firstly apologies for this issue. We know its annoying and we want to get this fixed.

Is there any additional information you can provide to help me find reliable reproduction steps ?

Roughly how frequently do you experience the issue ?

Does this only occur when using re-frame-10x in an external window or does it also occur as the default internal panel on the right ?

I believe the core issue is caused by the re-frame application tab in the browser losing focus. When you switch to another tab in the same Chrome window, all 10x interactions stop responding, top tabs and including the expand arrows. When you switch tab back to your re-frame application, 10x catches up and responds to the last interaction.

NOTE 1: Effects all interactions, not just the arrows.

NOTE 2: Only happens when switching tabs within the same Chrome window. General focus change, e.g. if you have another Chrome window open and you switch to that while you re-frame application tab is still the current tab in the other Chrome window, then 10x continues to function as expected.

kimo-k commented

Closing for now.

Can't reproduce the original bug. @mtravers, please let us know if you're still affected.

Added some documentation for the behavior described above by @hipitihop. This is technically fixable, but the fix seems high-effort and could have browser compatibility & legacy issues.

More importantly, the concern is out of scope, IMO. If there's a critical use-case for switching tabs in the browser window where your app is running, please let us know. Otherwise, you can always just use a different window.