Skip to content

Conversation

@JakeStanger
Copy link
Owner

This fixes a few things and makes a few code improvements. Most importantly, this fixes a long-standing bug with the dbusmenu implementation where some clients could send an update and cause the client to hang:

VLC (the known example) has a habit of sending a burst of 100+ layout updates within a 30ms timeframe, which exceeds the Tokio/zbus throughput. It's hard to say what happened exactly, but my guess is that some internal mutex got overwhelmed and deadlocked.

The fix is to debounce the events, ie only process the last one within a timeframe. This does add a small (50ms) processing delay but ensures the events get where they're supposed to go.

@JakeStanger JakeStanger merged commit b0d21a1 into master Sep 20, 2025
4 checks passed
@JakeStanger JakeStanger deleted the fix/layout-update branch September 20, 2025 23:01
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

Successfully merging this pull request may close these issues.

2 participants