** Description changed:

  [Impact]
  Ubuntu AppIndicators can show two tray icons for one StatusNotifierItem 
object. Automatic discovery and explicit registration can use different 
identifiers (a well-known service name versus the unique D-Bus connection and 
object path), so the registry does not recognize the duplicate.
  
  Observed on Ubuntu 24.04 with gnome-shell-extension-appindicator
  58-1ubuntu24.04.1 and GNOME Shell 46. One application had two registered
  tray entries pointing to the same D-Bus owner and object path. Both
- entries exposed the same menu and state. No application configuration is
- required to diagnose this.
+ entries exposed the same menu and state.
  
  [Upstream]
  Related report: 
https://github.com/ubuntu/gnome-shell-extension-appindicator/issues/665
  Proposed fix: 
https://github.com/ubuntu/gnome-shell-extension-appindicator/pull/679
  
  The proposed change keys the internal registry by resolved unique owner
  plus object path, while retaining the original proxy destination and
  advertised service. This is a request to consider an SRU for Noble after
  upstream review and package validation; it is not a claim that the patch
  is already accepted or SRU-verified.
  
  [Test Plan]
- 1. Use a test StatusNotifierItem with a well-known bus name and an exported 
object. All identifiers below are synthetic.
+ 1. Use a test StatusNotifierItem with a well-known bus name and an exported 
object.
  2. Let discovery register that object through an alternate service name, then 
explicitly register it through its normal service name or object path. Reverse 
the order and also exercise overlapping registration.
  3. Verify that RegisteredStatusNotifierItems represents the object once and 
that the panel displays one working icon.
  4. Verify separate objects on the same connection and objects on separate 
connections remain separate.
  5. Verify explicit re-registration refreshes the existing icon; exit and 
restart the test application, including rapid reuse of its well-known name.
  6. Disable and re-enable the extension while the test application remains 
running. Verify discovery restores one icon and its menu/status remain usable.
  7. Verify delayed destruction and startup completion cannot remove or publish 
retired entries, and failed registration can be retried.
  
  [Where problems could occur]
  All StatusNotifierItem registration paths share this registry. A regression 
could hide legitimate tray items, leave stale entries after an application 
restart, or affect menus if proxy routing is inadvertently changed. Testing 
must cover path-based, service-name, service/path, and standard SNI-name 
clients, along with multiple objects and owner changes.
  
  [Validation so far]
  The upstream patch passes 15 regression tests exercising the actual watcher 
and helper modules with desktop/D-Bus test doubles. The initial regression 
suite demonstrated failures on the unpatched source. Three existing GJS menu 
tests and ESLint checks pass. A local Noble backport passes syntax/lint checks 
and is active without extension errors. Re-registering the same live object 
alternately through its unique owner and well-known service name preserved 
exactly one registered item, with the application process unchanged during 
verification. No Ubuntu archive test package has been verified.
  
  Activation caveat: the application aborted in its Avalonia/Tmds tray
  code on an unhandled D-Bus UnknownMethod reply while the watcher
  interface was temporarily unavailable during extension handover. The
  application was restored successfully before the registration checks.
  Seamless hot switching is not verified.
- 
- No credentials, IP addresses, application configuration,
- subscription/proxy details, or raw machine logs are attached.

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gnome-shell-extension-appindicator
in Ubuntu.
https://bugs.launchpad.net/bugs/2170414

Title:
  Duplicate tray icons when discovery and registration use different
  names for one StatusNotifierItem

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gnome-shell-extension-appindicator/+bug/2170414/+subscriptions


-- 
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to