unity7 interface doesn't cover indicators or notifications

Bug #1573188 reported by Kyle Fazzari on 2016-04-21
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Jamie Strandboge
snapd (Ubuntu)

Bug Description

Using the "unity7" interface, it seems that the access required to utilize indicators or display notifications is not granted (note that installing with --devmode works).

To duplicate:

1) Build/install the Qt systray example snap here: https://github.com/kyrofa/qt-example-snaps/tree/master/systray

2) Install without devmode, e.g. sudo snap install systray_1_amd64.snap

3) Launch from the terminal with the `systray` command.

4) Click "Show Message".

5) Note the presence of a launcher icon, the lack of an indicator, and a very ugly notification, like this: http://pasteboard.co/nF8fKsP.png

6) Uninstall the snap: sudo snap remove systray

7) Install the snap with devmode, e.g. sudo snap install --devmode systray_1_amd64.snap

8) Launch from the terminal again.

9) Click "Show Message".

10) Note the presence of a launcher icon, the presence of an indicator (with a broken icon, but that may be a different issue), and a pretty notification, like this: http://pasteboard.co/nFoPlFh.png

Jamie Strandboge (jdstrand) wrote :

Can you provide a snap that uses the missing functionality?

Changed in snappy:
status: New → Incomplete
Kyle Fazzari (kyrofa) wrote :

> Can you provide a snap that uses the missing functionality?

Sure: https://github.com/kyrofa/systray-example-snap . It's just Qt's systray example. Note that if you install it with --devmode and run `systray` it works (mostly-- the icon itself is broken, but I'm not sure that's Snappy's fault), but if you install it normally nothing appears to happen.

Changed in snappy:
status: Incomplete → Triaged
assignee: nobody → Jamie Strandboge (jdstrand)
importance: Undecided → High
tags: added: snapd-interface
Changed in snapd (Ubuntu):
status: New → Confirmed
Jamie Strandboge (jdstrand) wrote :

I see this denial (in addition to /var/cache/fontconfig and an access in /run/udev/data/+pci:0000:00:02.0):
dbus[2440]: apparmor="DENIED" operation="dbus_method_call" bus="session" path="/StatusNotifierWatcher" interface="org.freedesktop.DBus.Introspectable" member="Introspect" mask="send" name="org.kde.StatusNotifierWatcher" pid=11266 label="snap.systray.systray" peer_pid=2756 peer_label="unconfined"

This is not a Unity7 API. The app launches and I see an icon in the launcher. I can click 'Show message' and we a notification bubble. What is the expected behavior? What am I doing wrong wrt not seeing Unity7 API issues?

Changed in snappy:
status: Triaged → Incomplete
Kyle Fazzari (kyrofa) wrote :

> The app launches and I see an icon in the launcher. I can click 'Show message' and we a notification bubble. What is the expected behavior?

Wait.. that IS the expected behavior, but it didn't work for me without --devmode. It works for you just installed normally?

Kyle Fazzari (kyrofa) wrote :

>> The app launches and I see an icon in the launcher. I can click 'Show message' and we a notification bubble. What is the expected behavior?
> Wait.. that IS the expected behavior, but it didn't work for me without --devmode. It works for you just installed normally?

Ah, that's not actually the expected behavior-- you should be seeing an indicator as well (i.e. up by the clock) and a pretty notification, not an ugly yellow one. I've updated the description to reflect.

description: updated
description: updated
Kyle Fazzari (kyrofa) wrote :

(setting back to confirmed due to the behavior your saw)

Changed in snappy:
status: Incomplete → Confirmed
Kyle Fazzari (kyrofa) on 2016-04-25
description: updated
Changed in snappy:
status: Confirmed → In Progress
tags: added: snap-desktop-issue
Changed in snapd (Ubuntu):
status: Confirmed → Triaged

Hello Kyle, or anyone else affected,

Accepted snapd into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/snapd/2.0.5 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 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, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

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

Changed in snapd (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-needed
Jamie Strandboge (jdstrand) wrote :

The fix for this is in 2.0.5 so closing the upstream task.

Changed in snappy:
status: In Progress → Fix Released
Changed in snapd (Ubuntu Xenial):
importance: Undecided → High
Changed in snapd (Ubuntu):
importance: Undecided → High
Jamie Strandboge (jdstrand) wrote :

2.0.5 is in yakkety-proposed.

Changed in snapd (Ubuntu):
status: Triaged → Fix Committed
Jamie Strandboge (jdstrand) wrote :

I verified snap install from snapd in xenial-proposed generates the policy found in https://github.com/snapcore/snapd/pull/1165.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package snapd - 2.0.5

snapd (2.0.5) xenial; urgency=medium

  * New upstream release: LP: #1583085
    - interfaces: add dbusmenu, freedesktop and kde notifications to
      unity7 (LP: #1573188)
    - daemon: make localSnapInfo return SnapState
    - cmd: make snap list with no snaps not special
    - debian: workaround for XDG_DATA_DIRS issues
    - cmd,po: fix conflicts, apply review from #1154
    - snap,store: load and store the private flag sent by the store in
    - interfaces/apparmor/template.go: adjust /dev/shm to be more usable
    - store: use purchase decorator in Snap and FindSnaps
    - interfaces: first version of the networkmanager interface
    - snap, snappy: implement the new (minmimal) kernel spec
    - cmd/snap, debian: move manpage generation to depend on an environ
      key; also, fix completion

snapd (2.0.4) xenial; urgency=medium

  * New upstream release:
    - interfaces: cleanup explicit denies
    - integration-tests: remove the ancient integration daemon tests
    - integration-tests: add network-bind interface test
    - integration-tests: add actual checks for undoing install
    - integration-tests: add store login test
    - snap: add certain implicit slots only on classic
    - integration-tests: add coverage flags to snapd.service ExecStart
      setting when building from branch
    - integration-tests: remove the tests for features removed in 16.04.
    - daemon, overlord/snapstate: "(de)activate" is no longer a thing
    - docs: update meta.md and security.md for current snappy
    - debian: always start snapd
    - integration-tests: add test for undoing failed install
    - overlord: handle ensureNext being in the past
    - overlord/snapstate,overlord/snapstate/backend,snappy: start
      backend porting LinkSnap and UnlinkSnap
    - debian/tests: add reboot capability to autopkgtest and execute
    - daemon,snappy,progress: drop license agreement broken logic
    - daemon,client,cmd/snap: nice access denied message
      (LP: #1574829)
    - daemon: add user parameter to all commands
    - snap, store: rework purchase methods into decorators
    - many: simplify release package and add OnClassic
    - interfaces: miscellaneous policy updates
    - snappy,wrappers: move desktop files handling to wrappers
    - snappy: remove some obviously dead code
    - interfaces/builtin: quote apparmor label
    - many: remove the gadget yaml support from snappy
    - snappy,systemd,wrappers: move service units generation to wrappers
    - store: add method to determine if a snap must be bought
    - store: add methods to read purchases from the store
    - wrappers,snappy: move binary wrapper generation to new package
    - snap: add `snap help` command
    - integration-tests: remove framework-test data and avoid using
      config-snap for now
    - add integration test to verify fix for LP: #1571721

 -- Michael Vogt <email address hidden> Thu, 19 May 2016 15:29:16 +0200

Changed in snapd (Ubuntu Xenial):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for snapd has completed successfully and the package has now been 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.

Josué (j2g2rp) wrote :

I'm not sure if that is the same problem that i noticed now. I'm using ubuntu 16.04 desktop.
I installed telegram-sergiusens.
I can launch the app from unity dash, but the icon of the systray is missed. That's not the real problem, if i close the window app, the program is still running in the background, desktop notifications will arrive with a incoming message. As soon as the original app is still running untill you close it from systry icon, I assume that this snap package have a problem to show the systry icon. Maybe it will be a problem for other aplications that try to use systry icons.

Jamie Strandboge (jdstrand) wrote :

Thank you for the feedback Josué. A good first step is to install the snap with --devmode and see if it works correctly. If it doesn't, then it is most likely a problem with the snap. If it does, please file a new bug and add the 'snapd-interface' tag and include steps to reproduce. Please include the output of 'grep audit /var/log/syslog' in your report (as an attachment is fine). Thanks!

Josué (j2g2rp) wrote :

https://bugs.launchpad.net/snappy/+bug/1592714 I reported it as newbug as you suggest.

Launchpad Janitor (janitor) wrote :
Download full text (6.5 KiB)

This bug was fixed in the package snapd - 2.11+16.10

snapd (2.11+16.10) yakkety; urgency=medium

  * New upstream release: LP: #1605303
    - increase version number to reflect the nature of the update
    - store, daemon, client, cmd/snap, docs/rest.md: adieu search
    - debian: move snapd.refresh.timer into timers.target
    - snapstate: add daemon-reload to fix autopkgtest on yakkety
    - Interfaces: hardware-observe
    - snap: rework the output after a snap operation
    - daemon, cmd/snap: refresh --devmode
    - store, daemon, client, cmd/snap: implement `snap find --private`
    - tests: add network-observe interface spread test
    - interfaces/builtin: allow getsockopt for connected x11 plugs
    - osutil: check for nogrup instead of adm
    - store: small cleanups (more needed)
    - snap/squashfs: fix test not to hardcode snap size
    - client,cmd/snap: cleanup cmd/snap test suite, add extra args
      testThis cleans up the cmd/snap test suite:
    - wrappers: map "never" restart condition to "no."
    - wrappers: run update-desktop-database after add/remove of desktop
    - release: work around elementary mistake
    - many: remove all traces of channel from the buying codepath
    - store: kill setUbuntuStoreHeaders
    - docs: add payment methods documentation
    - many: present user with a choice of payment backends
    - asserts: add cross checks for snap asserts
    - cmd/snap,cmd/snap-exec: support running hooks via snap-exec.
    - tests: improve snap run symlink tests
    - tests: add content sharing interface spread test
    - store & many: a mechanical branch shortening store names
    - snappy: remove old snappy pkg
    - overlord/snapstate: kill flagscompat
    - overlord/snapstate, daemon, client, cmd/snap: devmode override
      (aka confined)
    - tests: extend refresh test to talk to the staging and production
    - asserts,daemon: cross checks for account and account-key
    - client: existing JSON fixtures uses tabs for indentation
    - snap-exec: add proper integration test for snap-exec
    - spread.yaml, tests: replace hello-world with test-snapd-tools
    - tests: add locale-control interface spread test
    - tests: add mount-observe interface spread test
    - tests: add system-observe interface spread test
    - many: add AuthContext to mediate user updates to the state
    - store/auth: add helper for the macaroon refresh endpoint
    - cmd: add buy command
    - overlord: switch snapstate.Update to use ListRefresh (aka
    - snap-exec: fix silly off-by-one error
    - tests: stop using hello-world.echo in the tests
    - tests: add env command to test-snapd-tools
    - classic: remove (most of) "classic" mode, this is implemented as a
      snap now
    - many: remove snapstate.Candidate and other cleanups
    - many: removed authenticator, store gets a user instead
    - asserts: fix minor doc comment typo
    - snap: ensure unknown arguments to `snap run` are ignored
    - overlord/auth: add Device/SetDevice to persist device identity in
    - overlord: make SyncBoot work aga...


Changed in snapd (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers