obsproject/obs-browser

When custom browser dock is in focuse, "Alt+Space" combination freezes BroadcastChannel communication on it

kravchenkoandrey opened this issue · 5 comments

Operating System Info

Windows 10

Other OS

No response

OBS Studio Version

29.0.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/dZfbyqtAbyc0JJki

OBS Studio Crash Log URL

No response

Expected Behavior

I have a custom browser dock that communicates with some browser sources using JS BroadcastChannel object.
I expect communication to continue all time, regardless of whether any program menus are open.

Current Behavior

When dock is in focuse, "alt+space" key combination will open a dropdown menu (what's expected) and also make the dock to stop receiving and sending messages through BroadcastChannel object.

Steps to Reproduce

  1. Add a timer browser source to any scene (https://kravchenkoandrey.github.io/obs_tournament_web_overlay/timer)

  2. Add a custom browser dock with a dashboard (https://kravchenkoandrey.github.io/obs_tournament_web_overlay/tournamentDashboard)

  3. Set any time to the top text input (1) and click "play/pause" button
    image

  4. Timer in the browser source will start updating every second, until you click to any place on the dock and press "alt+space" combination

Anything else we should know?

The issue does not reproduce in the chrome browser. Therefore I think that this is OBS problem.

Noting here on Windows that Space is not even required for this issue. Simply hitting Alt after clicking Play/Pause causes this freeze. Updates resume as soon as another input is made. This can include clicking the dock, another part of OBS, swapping focus to an entirely different app, or even hitting Alt a second time.

Also interestingly of note, ALL OBS windows stop reacting to hover state changes during this freeze, including Windows title decorations. I suspect something in the Qt event or input processing.

This is still occurring as of 30.2.0 beta4.

  1. Add custom browser dock (google.com)
  2. Add browser source (twitch.tv, something that plays/moves)
  3. Click inside of your custom browser dock
  4. Press 'Alt'.

The Twitch.tv browser source rendering will now freeze. Audio still plays.

This is still occurring as of 30.2.0 beta4.

1. Add custom browser dock (google.com)

2. Add browser source (twitch.tv, something that plays/moves)

3. Click inside of your custom browser dock

4. Press 'Alt'.

The Twitch.tv browser source rendering will now freeze. Audio still plays.

Do you need to press (and release) Alt or press (and hold) Alt? Does this also happen in cefclient?

This is still occurring as of 30.2.0 beta4.

1. Add custom browser dock (google.com)

2. Add browser source (twitch.tv, something that plays/moves)

3. Click inside of your custom browser dock

4. Press 'Alt'.

The Twitch.tv browser source rendering will now freeze. Audio still plays.

Do you need to press (and release) Alt or press (and hold) Alt? Does this also happen in cefclient?

Unsure what you mean by "does it happen in cefclient?".

It's a single alt press. Then it freezes. Next alt press, it unfreezes.

I've tested latest v29, v28 v27 - and the latest v30.2 beta and latest v30.1

All same behaviour.

Unsure what you mean by "does it happen in cefclient?".

cefclient is the CEF client implementation example. I'm asking if it also experiences the same issue as a point of verifying if this occurs in CEF itself or if it's due to something in our implementation.