Skip to content

fix(status-area): don't panic when SNI signal streams fail to initialize#1425

Open
BrianHotopp wants to merge 1 commit into
pop-os:masterfrom
BrianHotopp:fix-sni-subscription-unwrap-panic
Open

fix(status-area): don't panic when SNI signal streams fail to initialize#1425
BrianHotopp wants to merge 1 commit into
pop-os:masterfrom
BrianHotopp:fix-sni-subscription-unwrap-panic

Conversation

@BrianHotopp
Copy link
Copy Markdown
Contributor

@BrianHotopp BrianHotopp commented May 29, 2026

Three receive_*().await.unwrap() calls (receive_new_icon, receive_layout_updated, receive_items_properties_updated) in the status-area SNI subscriptions could abort the whole applet (compiled with panic = "abort") if a tray item's D-Bus signal subscription failed to set up. This replaces each unwrap with a match that warns and degrades to an empty stream via left_stream()/right_stream(), so one misbehaving item no longer takes down every tray icon.

Test plan

  • cargo build -p cosmic-applet-status-area (in-container) — builds clean.

  • I have disclosed use of any AI generated code in my commit messages.
  • I understand these changes in full and will be able to respond to review comments.
  • My change is accurately described in the commit message.
  • My contribution is tested and working as described.
  • I have read the Developer Certificate of Origin and certify my contribution under its conditions.

Three receive_*().await.unwrap() calls (receive_new_icon,
receive_layout_updated, receive_items_properties_updated) under
panic=abort could take down the whole applet on a transient D-Bus
error. Replace each with a match that warns and degrades to an empty
stream via left_stream()/right_stream(), keeping the happy path intact.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@BrianHotopp BrianHotopp force-pushed the fix-sni-subscription-unwrap-panic branch from 66b8e13 to dae6486 Compare May 29, 2026 17:34
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.

1 participant