cosmic-applets/cosmic-applet-status-area/src
mikairyuu c8104a98ce fix(status-area): lazy-load status notifier menu layouts to prevent DBus timeouts
Previously, the applet subscribed to layout updates for all items immediately
upon registration (eager-loading). This caused severe issues with applications
like VLC, which fail to respond to `com.canonical.dbusmenu.GetLayout` calls
during high-load operations (e.g., initializing video playback).

These unanswered calls resulted in DBus timeouts that:
1. Flooded the connection queue.
2. Blocked the processing of other signals (like `Unregistered`).
3. Caused the applet to become unresponsive and the icon to persist (ghosting).

This patch modifies the subscription logic to only subscribe to layout updates
when the specific menu is actually open. This "lazy-loading" approach:
- Prevents hitting applications with DBus calls during vulnerable states.
- Drastically reduces unnecessary DBus traffic.
2026-02-20 19:07:59 +01:00
..
components fix(status-area): lazy-load status notifier menu layouts to prevent DBus timeouts 2026-02-20 19:07:59 +01:00
subscriptions status-area: Seperate daemon for status notifier daemon 2026-02-02 10:36:16 -08:00
lib.rs status-area: Seperate daemon for status notifier daemon 2026-02-02 10:36:16 -08:00
main.rs chore: add SPDX license identifiers 2024-05-06 21:56:50 +02:00
status_notifier_watcher.rs status-area: Seperate daemon for status notifier daemon 2026-02-02 10:36:16 -08:00
unique_names.rs status-area: Seperate daemon for status notifier daemon 2026-02-02 10:36:16 -08:00