Clooos / Bubble-Card

Bubble Card is a minimalist card collection for Home Assistant with a nice pop-up touch.
MIT License
1.62k stars 46 forks source link

Popups no longer working after some time #274

Closed TinyShark closed 5 months ago

TinyShark commented 7 months ago

[v1.6.0-beta.5] Optimised mode.

iOS companion app & Desktop Chrome.

Opening popup cards work initially. If left without user input for some 'short' period of time, popups no longer respond to hash changes.

Changing to a different view and then back makes it work again. Full browser refresh also fixes.

Clooos commented 7 months ago

Can you tell me if it's fixed in the latest stable release?

TinyShark commented 7 months ago

Still the same behaviour unfortunately.

The timeout appears to be roughly 10 seconds. If you trigger bubble pop-up within that time, and say every 5 seconds, it will continue to work indefinitely.

When left to sit for ~10 seconds, bubble pop-up no longer reacts to hash changes.

I did check to see if it was something to do with auto-close but none of those popups have that configured.

Will go back through the betas and see when this started happening.

https://github.com/Clooos/Bubble-Card/assets/23080224/afc50cd7-021b-4b4b-a56f-5dd2e6743ca9

Clooos commented 7 months ago

Really strange, is it still happening after a refresh?

And I really love your pop-up!

TinyShark commented 7 months ago

Thanks! I've got some fun ones to share soon :D Pop-ups taking dashboards to the next level!

Strange indeed - It repeats the same pattern after a refresh. Working initially and then after 10 secs it no longer works.

I've just gone back through the betas and it's something in beta.3 onwards. Beta.1 & .2 work as expected.

Clooos commented 7 months ago

This should be fixed now! 🤞

https://github.com/Clooos/Bubble-Card/releases/tag/v1.6.3

TinyShark commented 7 months ago

I come bringing bad news... same issue on 1.6.3.

Rolling back to 1.6.0-beta.2 fixes it.

:(

Clooos commented 7 months ago

This should be fixed! 🤞 https://github.com/Clooos/Bubble-Card/releases/tag/v1.6.4

TinyShark commented 7 months ago

Unfortunately it's still an issue BUT I have narrowed it down as to why.

If I use a standard tap action it works as expected (no timeouts):

tap_action:
  action: navigate
  navigation_path: "#popup"

If I however use browser_mod to run JS on-click, it has issues. It sometimes will pickup the state change but if left it will no longer trigger.

tap_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.javascript
    data:
      code: history.replaceState(null, null, "#popup");

If I use action: navigate I can get history.replaceState or history.pushState to work if I click quickly after the navigate action.

A video to show the weirdness:

https://github.com/Clooos/Bubble-Card/assets/23080224/e9aab8a1-4137-4072-9b85-23fe0ad7fd33

Clooos commented 6 months ago

Hi! Is this issue is still happening in the new v1.7.X?

https://github.com/Clooos/Bubble-Card/releases/tag/v1.7.1

TinyShark commented 5 months ago

Hi @Clooos

using pushState or replaceState no longer works at all in 1.7.x on a tap action.

tap_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.javascript
    data:
      code: history.replaceState(null, null, "#popup");

If i navigate manually or use tap_action navigate, it works as expected.

Clooos commented 5 months ago

Hi, this expected because I'm now using the default location_changed event from Home Assistant, you need to trigger this event in JS to make it works.

TinyShark commented 5 months ago

Thanks Clooos! That makes sense :)

Working with the below:

tap_action:
  action: fire-dom-event
  browser_mod:
    service: browser_mod.javascript
    data:
      code: window.location.hash = "popup";