element-desktop icon indicating copy to clipboard operation
element-desktop copied to clipboard

Flatpak Distribution

Open t3chguy opened this issue 8 years ago • 39 comments

Investigate distributing electron build in a flatpak to support moar distros

t3chguy avatar Apr 24 '17 12:04 t3chguy

the core team doesn't have bandwidth to support moar distros, so this bug is open to whoever wants to pick it up :) (i vaguely remember someone already working on one? plus there's already Revolt too)

ara4n avatar Apr 24 '17 12:04 ara4n

You could replace the current offered .deb version with it since Flatpaks are running also on Ubuntu and Debian. Furthermore since Ubuntu is moving back to Gnome they will get even more Flatpak-ish.

Promoting a Flatpak version to an official version would be nice :)

Croydon avatar Apr 24 '17 15:04 Croydon

Why Electron? That requires bundling a separate copy of Chrome just for Riot... and again for every other Electron app you might want to use. Why not use WebKitGTK+, the web engine that comes for free the GNOME flatpak runtimes? Revolt uses it:

flatpak install --from https://flatpak.perezdecastro.org/revolt.flatpakref

mcatanzaro avatar Apr 24 '17 20:04 mcatanzaro

@mcatanzaro funnily enough, author of revolt submitted a PR to package this electron based app into flatpak (#3723)

t3chguy avatar Apr 24 '17 20:04 t3chguy

@t3chguy @mcatanzaro I am sticking with Revolt myself, but I already have some experience building Flatpaks so it seemed interesting to the contribute the packaging to Riot. If that helps getting more users, and helping support more distributions, then it's a good thing thing for the Matrix ecosystem :wink:

aperezdc avatar Apr 25 '17 05:04 aperezdc

Riot.im is available as flatpak application on Flathub since a couple of days ago. It works very well in my Debian 9 machine. I think by the directives of the store you can request authorship and maintain the package if you are interested.

https://flathub.org/apps.html

Quick Installation from the command line: flatpak install --from https://flathub.org/repo/appstream/im.riot.Riot.flatpakref

Repo with the build file: https://github.com/flathub/im.riot.Riot

jgarciao avatar Nov 16 '17 10:11 jgarciao

Would https://github.com/electron-userland/electron-builder/issues/512 be blocking official Flatpak distribution?

Mikaela avatar Apr 29 '18 15:04 Mikaela

not blocking but means it's not as simple as changing a config line, and instead the whole packing process has to be done/used

t3chguy avatar Apr 29 '18 16:04 t3chguy

The flatpak from flathub (https://flathub.org/apps/details/im.riot.Riot) seems to be currently maintained (it's been updated to the latest version). It's based on the official Riot deb file, which is a bit of a roundabout way of doing things, but looks like a simple way of doing it.

http://docs.flatpak.org/en/latest/electron.html has information about building a flatpak for an Electron application, which is probably a more proper way of doing things (which https://github.com/vector-im/riot-web/pull/3723 might be doing).

uhoreg avatar Jul 14 '18 03:07 uhoreg

It was suggested to me to comment here pointing out the flatpak on flathub currently only supports x64. For the PinePhone, Pinetab, Librem 5, and Raspberry Pis, an ARM64 flatpak would be very useful. So that would be cool if that could happen one day, either through whenever official flatpaks happen or in some other way.

ell1e avatar Dec 22 '20 12:12 ell1e

In my opinion, if the Element Team decides to provide a Flatpak official they should make the Flathub one the official one. The Element Team can request access at Flathub for the Element Flatpak repository if they don't have access yet.

Croydon avatar Dec 22 '20 19:12 Croydon

Now Flathub even provides verification, so having an official app there would look even better! Also having an official Flatpak distribution would solve the issue, where currently Element officially only supports deb-based distros.

june128 avatar May 09 '23 14:05 june128

where currently Element officially only supports deb-based distros.

This isn't true, we support all glibc-x86_64 Linux machines via the tarball - https://packages.element.io/desktop/install/linux/index.html - we don't have people on the Webapp team with Flatpak / Arch / etc packaging experience so the only autoupdater/package manager we handle is Apt/Deb and delegate support of other packages to the community.

t3chguy avatar May 09 '23 15:05 t3chguy

@t3chguy A fair enough, I didn't know that. But it doesn't seem to be written on the Element website and aside from that I also wouldn't say a tarball is the most user-friendly way of application distribution. So for an end-user without much Linux insights, who relies on a simple method or instructions, effectively only Debian and Ubuntu are officially supported.

june128 avatar May 09 '23 16:05 june128

where currently Element officially only supports deb-based distros.

This isn't true, we support all glibc-x86_64 Linux machines via the tarball - https://packages.element.io/desktop/install/linux/index.html

I don't see any way to discover that. To download Element, here's what I do:

  1. Go to https://element.io/
  2. Click the big Get started button
  3. Scroll down and click the Get the app button
  4. Scroll down to the Desktop section and click the button for my OS (Linux)

That takes me to Debian / Ubuntu x86_64 APT repo instructions. Nowhere on any of those pages did I see a link to a tarball.

Did I miss something? Because it looks to me like the tarball is not discoverable, and therefore might as well not exist. Did someone forget to link it on the download page?

foresto avatar May 11 '23 22:05 foresto

The marketing page you're referring to is just behind, but we've informed all known packagers about it multiple times

t3chguy avatar May 11 '23 23:05 t3chguy

The marketing page you're referring to is just behind

Whether we call element.io a "marketing page" or something else, it is the place where people go when they want to try Element. I think it would be fair to say that a build not listed there is a build not offered.

Perhaps this should be reported as an issue of its own?

foresto avatar May 11 '23 23:05 foresto

we've informed all known packagers about it multiple times

That has apparently not been effective, because the Flatpak repo resorted to unpacking the .deb and packaging its executable, and has been doing so until about 13 hours ago, presumably because they discovered the existence of the tarball here in these comments.

foresto avatar May 11 '23 23:05 foresto

@foresto the commit you linked is from an Element employee. We broadcast the availability of the tarballs in the Element Package Maintainers room weeks ago, the flatpak maintainer is there.

t3chguy avatar May 12 '23 08:05 t3chguy

We broadcast the availability of the tarballs in the Element Package Maintainers room weeks ago,

Oh, so support for generic glibc-x86_64 via this tarball is new? That would make its lack of visibility understandable. I hope it gets a discoverable link soon. Having it available a couple years ago would have saved me some time and frustration.

And, there's an Element package maintainers room? That might have been helpful to know as well.

foresto avatar May 12 '23 09:05 foresto

https://github.com/vector-im/element-desktop/pull/597 is the PR which added it

And, there's an Element package maintainers room? That might have been helpful to know as well.

Its an invite only coordination room for maintainers of known public Element community packages, used for security release coordination also

t3chguy avatar May 12 '23 09:05 t3chguy

Are the tarballs signed by Element?

DemiMarie avatar Aug 31 '23 20:08 DemiMarie

It'd be nice if the Matrix Foundation handled this instead of letting the Flathub Community do the work. Especially considering the popularity of Flatpaks and the fact that Element is a security sensitive application. This issue is 7 years old now.

konomikitten avatar Oct 20 '24 08:10 konomikitten

Any news on this? I'd appreciate if there was an official, verified Element Flatpak.

PerAstraAdDeum avatar Mar 04 '25 08:03 PerAstraAdDeum

@PerAstraAdDeum no one on the team is familiar enough with Flatpaks nor do we have enough spare time to maintain any additional platforms especially ones which no customer has asked for. Can't forget about the flatpak-specific issues and idiosyncrasies https://github.com/flathub/im.riot.Riot/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen

t3chguy avatar Mar 04 '25 09:03 t3chguy

@t3chguy I think this would allow dropping the Debian package altogether, rather than requiring an additional platform to be maintained. Right now, someone who is using a non-Debian-based distro has no way to get an official build of Element Desktop without using a container.

DemiMarie avatar Mar 04 '25 23:03 DemiMarie

Right but we have people with debian maintainership experience in the company, the same is not true for Flatpak.

Right now, someone who is using a non-Debian-based distro has no way to get an official build of Element Desktop without using a container.

That simply isn't true, we've been offering tarballs for probably over a year now.

t3chguy avatar Mar 04 '25 23:03 t3chguy

Image

Quite a bit over a year.

t3chguy avatar Mar 04 '25 23:03 t3chguy

Tarballs are not integrated with any GUI software installer and do not have an automatic update mechanism, so they are a very poor user experience. That’s why so many people use the unofficial Arch or Flatpak packages.

DemiMarie avatar Mar 04 '25 23:03 DemiMarie

Sure but they are less restrictive and buggy than Flatpak or Snap. Which means less support load and more it just works. Community packages fill in the gaps elsewhere.

t3chguy avatar Mar 04 '25 23:03 t3chguy