The third day of the Snapcraft Summit here in Seattle saw all the developers reconvene and really get down to work, and ROSHub came by in the afternoon with their snap-powered robots!
Strictly-confined snaps can only access specific areas on disk that are defined by the interfaces they utilize. This works well, but can occasionally be somewhat inflexible. For example, if you want your snap to access something in /opt, you’re a bit out of luck as there’s no interface that covers this type of access. How cool would it be for you as a user to gain more fine-grained control over this, where you can say “yes, I want this snap to access that file in /opt“? With this ability, even the home interface would no longer be as necessary as it is today! James Henstridge and Jamie Strandboge are working on exactly this, progressing toward using xdg-desktop-portal. James spent the day hacking on user mounts, which is a prerequisite for this whole story.
Kyle Fazzari continued his work cleaning up the Snapcraft Docker image situation, heroically hammering out one final change that made everything magically work. You can now pull both snapcore/snapcraft:edge and snapcore/snapcraft:beta and you’ll be using the edge and beta channels of the snap, respectively. The logical conclusion of this work was to update the CircleCI tutorial to use the Docker image instead of the machine executor. There was much applause, although the author will admit it may have been imaginary.
Sergio Schvezov collected all of the changes made so far to unblock folks here at the Summit and tagged Snapcraft v2.39, which has since migrated to beta. He’s also the one who updated the edge and beta Docker tags after Kyle’s fixes.
Felix Rieseberg, co-maintainer of Electron and engineer at Slack, threw together some epic upstream documentation for how to build Electron snaps while the rest of the room gaped in amazement.
This was also a big day for the UX pros, Matthew Thomas and Lyubomir Popov. They had engineers from several of the companies here rotating through them, giving them feedback on the developer onboarding process and proving out new designs for our dashboard. Keep an eye out for those!