Exported DBus interface is missing info or using wrong names

Bug #1896785 reported by Marco Trevisan (Treviño)
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gnome-shell-extension-appindicator (Ubuntu)
Fix Released
Medium
Marco Trevisan (Treviño)
Focal
Fix Released
Undecided
Unassigned

Bug Description

[ Impact ]

GNOME shell when using this indicator should export the org.kde.StatusNotifierWatcher dbus interface, although some methods and properties are missing or invalid

[ Test case ]

Run:
 gdbus call --session --dest org.gnome.Shell --object-path /StatusNotifierWatcher \
 --method org.freedesktop.DBus.Properties.Get "org.kde.StatusNotifierWatcher" ProtocolVersion

-> Should return (<0>,)

In particular, the API should contain

 gdbus introspect --session --dest org.gnome.Shell --object-path /StatusNotifierWatcher
node /StatusNotifierWatcher {

  .... Default fdo properties stuff ....

  interface org.kde.StatusNotifierWatcher {
    interface org.kde.StatusNotifierWatcher {
    methods:
      RegisterStatusNotifierItem(in s service);
      RegisterStatusNotifierHost(in s service);
    signals:
      StatusNotifierItemRegistered(s arg_0);
      StatusNotifierItemUnregistered(s arg_0);
      StatusNotifierHostRegistered();
      StatusNotifierHostUnregistered();
    properties:
      @org.qtproject.QtDBus.QtTypeName.Out0("QStringList")
      readonly as RegisteredStatusNotifierItems = [ ... list of indicators path/obj-names ... ];
      readonly b IsStatusNotifierHostRegistered = true;
      readonly i ProtocolVersion = 0;
  };
};

In the old version we had an invalid "RegisterNotificationHost" method (not specified by specs nor used)
We didn't expose the ProtocolVersion

---

[ Regression potential ]

We won't expose anymore some NON-STANDARD and NEVER USED dbus methods such as:
 - RegisterNotificationHost (was un-implemlented anyways)
 - ProtocolVersion (this was supposed to be a property, not a method)

There are some changes to the interfaces xml files to follow the standard ones, but they don't involve any change, could happen though that we don't list a property that an indicator exposes lazily (don't think there are in real world).

Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

This has been fixed in 34-1

description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Marco, or anyone else affected,

Accepted gnome-shell-extension-appindicator into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-shell-extension-appindicator/33.1-0ubuntu0.20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in gnome-shell-extension-appindicator (Ubuntu Focal):
status: New → Fix Committed
tags: added: verification-needed verification-needed-focal
Revision history for this message
Marco Trevisan (Treviño) (3v1n0) wrote :

❯ apt-cache policy gnome-shell-extension-appindicator
gnome-shell-extension-appindicator:
  Installato: 33.1-0ubuntu0.20.04.1
  Candidato: 33.1-0ubuntu0.20.04.1
  Tabella versione:
 *** 33.1-0ubuntu0.20.04.1 400
        400 http://archive.ubuntu.com/ubuntu focal-proposed/main amd64 Packages
        400 http://archive.ubuntu.com/ubuntu focal-proposed/main i386 Packages
        100 /var/lib/dpkg/status
     33-1 500
        500 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
        500 http://archive.ubuntu.com/ubuntu focal/main i386 Packages

❯ gdbus call --session --dest org.gnome.Shell --object-path /StatusNotifierWatcher \
 --method org.freedesktop.DBus.Properties.Get "org.kde.StatusNotifierWatcher" ProtocolVersion
(<0>,)

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for gnome-shell-extension-appindicator has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-shell-extension-appindicator - 33.1-0ubuntu0.20.04.1

---------------
gnome-shell-extension-appindicator (33.1-0ubuntu0.20.04.1) focal; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * New upstream stable release
  * debian/gbp.conf:
    - Setup for focal branching and use ubuntu/* tagging
    - Use multimaint-merge in dch and sign tags
  * debian/control:
    - Set Ubuntu Developers as maintainer
    - Update VCS informations to point to ubuntu/focal
  * dbusMenu: Use GCancellable to stop pending async operations (LP: #1881669)
  * dbusMenu: Use proper argument name when parsing error (LP: #1881669)
  * dbusMenu: Stop idle requests if we've been destroyed (LP: #1870795)
  * appIndicator: Remove the callbackIdle if we destroy while waiting it
    (LP: #1849142)
  * StatusNotifierWatcher: Remove ProtocolVersion method (LP: #1896785)
  * appIndicator: Ignore further icons creation during an idle (LP: #1849142)
  * README: Remove statement about indicator-multiload not being supported
  * statusNotifierWatcher: Fix RegisterStatusNotifierHost method name and
    returned error (LP: #1896785)
  * interfaces: Sync interfaces XML with upstream ones (LP: #1896785)
  * StatusNotifierItem: Disable Tooltip properties and signals (LP: #1896785)
  * appIndicator: Don't waste CPU cycles to handle icon updates (LP: #1884396):
    - util: Use Shell's param to handle multiple named arguments
    - util: Delete proxyCancellables only if we didn't cancel already
    - util: Ignore errors if we can't find a listed dbus name
    - appIndicator: Cleanup the interface info properties map computation
    - appIndicator: Don't deep unpack changed properties array
    - appIndicator: Use native checks to look for equal emblems
    - appIndicator: Mark a valid cached icon as inUse again
    - appIndicator: Correctly mark cached GIcon's as in use
    - iconCache: Rewrite simplifying the usage for GIcon's only
    - iconCache: Dispose an icon when we remove it
    - iconCache: Increase the garbage-collector timings
    - appIndicator: Only iterate through the proxy available properties
    - appIndicator: Don't try to check equality on Pixmap variants
    - util: Try to batch properties updates when they comes close enough
    - appIndicator: Accumulate signals to batch close updates
    - appIndicator: Emit the same signal once on properties updates
    - appIndicator: Improve the warning message on lookup failed

  [ Fini Jastrow ]
  * appIndicator: Remove unneeded padding (LP: #1896779)
  * appIndicator: Fix 'reduce padding' for some icons (LP: #1896779)

  [ Sergio Costas ]
  * Wait until the desktop ends starting up (LP: #1870795)
  * Wait until Gtk.IconTheme.get_default() works (LP: #1870795)
  * Don't fail if no icon is found (LP: #1849142)
  * Use signal to detect display availability (LP: #1870795)

  [ Tasos Sahanidis ]
  * kstatusnotifierwatcher: Implement ProtocolVersion property (LP: #1896785)

 -- Marco Trevisan (Treviño) <email address hidden> Wed, 23 Sep 2020 18:47:33 +0200

Changed in gnome-shell-extension-appindicator (Ubuntu Focal):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.