-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Description
Description
I packaged up riot-web as a snap to make it super easy to install on Linux. snap install riot-web works. I have done this since 1.2.0, which worked well. However, since 1.2.2, the client presents this error on first launch for a user who has clean installed the application.
Previously, in 1.2.0 and 1.2.1, the application loaded fine, and you'd be greeted with this, as expected.
Here's the terminal output when launching.
alan@KinkPad-K450:~$ riot-web
No update_base_url is defined: auto update is disabled
Attempting to migrate data between origins
Loading path: /snap/riot-web/10/resources/origin_migrator/source.html
No session to migrate from old origin
There are approximately 1K users with the snap installed. Anything above 1.2.1 fails to launch if it's newly installed. If the application was installed at 1.2.0 or 1.2.1 and updated to 1.2.2 or above, the user is fine.
Steps to reproduce
On a system which supports snaps.
snap install riot-web
Or follow the instructions at https://snapcraft.io/riot-web
In a terminal run riot-web.
You'll see the first screenshot above.
I'm building inside a clean Ubuntu 16.04.6 lxc container, using a simple script which modifies the package.json to enable snap builds. Here's the diff showing the changes I make.
root@riot-web-20190719-174241:~/riot-web# git diff package.json
diff --git a/package.json b/package.json
index 13f3249..315185e 100644
--- a/package.json
+++ b/package.json
@@ -82,7 +82,8 @@
"react-dom": "^15.6.0",
"sanitize-html": "^1.19.1",
"ua-parser-js": "^0.7.19",
- "url": "^0.11.0"
+ "url": "^0.11.0",
+ "electron-updater": "^4.0.0"
},
"devDependencies": {
"autoprefixer": "^6.6.0",
@@ -167,7 +168,7 @@
"origin_migrator/**/*"
],
"linux": {
- "target": "deb",
+ "target": "snap",
"category": "Network;InstantMessaging;Chat",
"maintainer": "[email protected]",
"desktop": {
@@ -186,6 +187,18 @@
"buildResources": "electron_app/build",
"output": "electron_app/dist",
"app": "electron_app"
+ },
+ "snap": {
+ "environment": {
+ "DISABLE_WAYLAND": "1",
+ "WAYLAND_DISPLAY": "no-display",
+ "XDG_CURRENT_DESKTOP": "Unity"
+ },
+ "plugs": [
+ "default",
+ "wayland",
+ "camera"
+ ]
}
}
}
I then build using the following commands, with node 10.16.
yarn install
yarn dist
yarn run build:electron:linux
The snap ends up in electron_app/dist/*.snap which can be manually installed via snap install riot-web_1.3.0_amd64.snap --dangerous (the --dangerous is only needed if you're installing manually rather than a signed package from the store).
I'd expect 1.2.2 and above to behave the same way 1.2.0 did, which enables new users to sign into a remote matrix instance.
I have tested each release and only 1.22 and above have this issue.
Version information
- Platform: desktop
For the desktop app:
- OS: KDE Neon, but other distros are affected similarly.
- Version: 1.2.2 through 1.3.0 is affected

