Support snap interface plugs and slots

Bug #1597314 reported by Will Cooke
28
This bug affects 9 people
Affects Status Importance Assigned to Milestone
gnome-software (Ubuntu)
Fix Released
Medium
Robert Ancell
Xenial
Fix Released
Medium
Robert Ancell
Artful
Won't Fix
Medium
Unassigned
Bionic
Fix Released
Medium
Robert Ancell

Bug Description

[Impact]
Snaps have a concept of "interfaces" which allows access to various system resources to be "connected" to snaps. While the majority of interfaces for desktop apps are connected, there are some that are not. There is no graphical method to connect these in the Ubuntu desktop (they can be connected from the command line).

[Test Case]
1. Open GNOME Software
2. Select the GNOME Characters snap (installed by default)

Expected result:
Information is shown about interfaces this snap uses and there is a method to control this. In the implementation this is done with a "Permissions" button (beside "Launch") and a dialog with switches to control this.

Observed result:
No interface information is shown, so the home interface cannot be disconnected.

[Regression Potential]
The change is quite large and had to be restructured from the version that is shipped in Bionic. With such a large amount of code there is the potential for new bugs.

Will Cooke (willcooke)
tags: added: desktop-trello-import
Will Cooke (willcooke)
Changed in gnome-software (Ubuntu):
assignee: nobody → Robert Ancell (robert-ancell)
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Is this only an action that makes sense when the app is installed or at any time? My guess is we should have a "connections" panel of some sort that allows these to be toggled at a later date and perhaps an Android style "this app is requesting these permissions" dialog when installing (with the option of disabling them at that point).

Changed in gnome-software (Ubuntu):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Prior art in the phone - the modifiy existing permissions is in the system settings.

Revision history for this message
Will Cooke (willcooke) wrote : Automatically added comment
tags: removed: desktop-trello-import
Revision history for this message
Will Cooke (willcooke) wrote : Re: Support for apps which do not automatically connect to slots

Sorry, imported in to the wrong place.

tags: added: desktop-trello-import
Revision history for this message
Will Cooke (willcooke) wrote : Automatically added comment
tags: removed: desktop-trello-import
Revision history for this message
Robert Ancell (robert-ancell) wrote : Re: Support for apps which do not automatically connect to slots

Opened a forum topic about the best way to implement this:
https://forum.snapcraft.io/t/connecting-plugs-and-slots-in-a-gui/776

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Current plan:
- snap plugin will tell G-S to add a "Configure" button (or similar name) for each installed snap beside the remove button.
- When clicked, this will get the snap plugin to launch an interface editor program (can't be included in the plugin because plugins don't do UI; can't be in GNOME Software core because functionality is not shared between plugins).

Changed in gnome-software (Ubuntu Zesty):
status: New → Triaged
Changed in gnome-software (Ubuntu Xenial):
status: New → Triaged
Changed in gnome-software (Ubuntu Zesty):
importance: Undecided → Medium
Changed in gnome-software (Ubuntu Artful):
importance: High → Medium
Changed in gnome-software (Ubuntu Xenial):
importance: Undecided → Medium
Revision history for this message
Robert Ancell (robert-ancell) wrote :

GNOME Software upstream design is likely to end up with some "permissions" data being shown in GNOME Software, but being controlled from Control Centre. We can probably hook into the permissions code if it is appropriate.

Changed in gnome-software (Ubuntu):
status: Triaged → In Progress
Changed in gnome-software (Ubuntu Artful):
assignee: Robert Ancell (robert-ancell) → nobody
no longer affects: gnome-software (Ubuntu Zesty)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-software - 3.27.92-0ubuntu1

---------------
gnome-software (3.27.92-0ubuntu1) bionic; urgency=medium

  * New upstream release
  * debian/patches/0001-Don-t-use-app-ID-as-a-tie-break-when-ordering-search.patch
  * debian/patches/0001-Make-app-name-sorting-case-insensitive.patch
  * debian/patches/0001-Revert-snap-Show-revision-number-in-version-field.patch
  * debian/patches/0001-snap-Refactor-how-metadata-is-merged-between-install.patch
    - Applied upstream
  * debian/patches/0009-Display-a-warning-for-non-sandboxed-snaps.patch:
    - Update warning text
  * debian/patches/0012-Don-t-use-colour-to-differentiate-between-free-and-p.patch
    - Don't use red to indicate propietary software (LP: #1750533)
  * debian/patches/0013-overview-page-Rotate-featured-apps.patch:
    - Support showing multiple banners (LP: #1750548)
  * debian/patches/0014-Add-a-basic-permissions-system.patch:
    - Add basic system for connecting/disconnecting snap interfaces
      (LP: #1597314)

 -- Robert Ancell <email address hidden> Tue, 06 Mar 2018 16:46:42 +0100

Changed in gnome-software (Ubuntu Bionic):
status: In Progress → Fix Released
Changed in gnome-software (Ubuntu Artful):
status: Triaged → Won't Fix
Changed in gnome-software (Ubuntu Xenial):
status: Triaged → Fix Committed
assignee: nobody → Robert Ancell (robert-ancell)
summary: - Support for apps which do not automatically connect to slots
+ Support snap interface plug/slots
summary: - Support snap interface plug/slots
+ Support snap interface plugs and slots
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Will, or anyone else affected,

Accepted gnome-software into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-software/3.20.5-0ubuntu0.16.04.11 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 and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. 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!

tags: added: verification-needed verification-needed-xenial
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

I'm blocking this SRU for the moment because it introduces a regression and the banner of the featured app only shows the background image without any text.

@robert, could you please have a look?

tags: added: verification-failed verification-failed-xenial
removed: verification-needed verification-needed-xenial
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

I cannot reproduce the error from my previous comment anymore.

SRU verification for Xenial:

I have reproduced the problem with gnome-software 3.20.5-0ubuntu0.16.04.10 in xenial-updates and have verified that the version of gnome-software 3.20.5-0ubuntu0.16.04.11 in -proposed fixes the issue.

Marking as verification-done

tags: added: verification-done verification-done-xenial
removed: verification-failed verification-failed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-software - 3.20.5-0ubuntu0.16.04.11

---------------
gnome-software (3.20.5-0ubuntu0.16.04.11) xenial; urgency=medium

  * debian/patches/0019-Support-channels.patch:
    - Make snap channel selection list scrollable (LP: #1768779)
  * debian/patches/0020-Add-a-basic-permission-system.patch
  * debian/patches/0021-Add-a-Snap-plugin.patch
    - Correctly handle snap install/remove failures (LP: #1762427)
    - Fix snaps without icons not showing (LP: #1763736)
    - Add basic system for connecting/disconnecting snap interfaces
      (LP: #1597314)
    - Alphabetically sort channel branch names (LP: #1769556)
  * debian/patches/0050-snap-Support-channels.patch:
    - Fix incorrect default install version being shown (LP: #1767445)

 -- Robert Ancell <email address hidden> Tue, 08 May 2018 12:02:36 +1200

Changed in gnome-software (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for gnome-software 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.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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