flathub / com.mattermost.Desktop

https://flathub.org/apps/details/com.mattermost.Desktop
8 stars 11 forks source link

Official support #32

Open vchernin opened 3 years ago

vchernin commented 3 years ago

Ideally the Flatpak would be offically recomended on mattermost.com when users are downloading it. This issue tracks the steps that might be needed for that to happen.

The original proposal to build a Flatpak is here: https://github.com/mattermost/desktop/issues/870. @SemaiCZE Has there been any upstream interest to officially support the Flatpak since then?

An intermediate step could be to have it listed as part of GitHub releases with an unofficial label (like the AppImage). Also it could be mentioned in the install guide.

To do (in no particular order):

SemaiCZE commented 3 years ago

I tried to make it official, but it seems to have literaly no effect at all. I even think that @yuya-oc has write permissions to this repo. I also think that it'll be the best if the official mattermost team do the releases. But at the end I'll have to keep maintaining the flatpak builds, because we're using the Mattermost at work and I want to use the flatpak version on my Linux machines.

I tried to build from the sources at first, but I got into some chromedriver issues (a little bit mentioned in https://github.com/flathub/flathub/pull/702#issue-228118647).

vchernin commented 3 years ago

Unfortunately building Electron apps from source is quite difficult, I'm not sure if there's even a single Electron app on Flathub that's built from source. Perhaps electron-builder will help here at some point, or maybe someone will figure out how to do it.

svelle commented 2 years ago

Hey @vchernin and @SemaiCZE

I'm working with Mattermost and I lead the support team there. Just wanted to take a second and thank you both for your awesome work on keeping this repo up to date. While I can't make an official statement on us officially supporting flatpak just now, simply because I'm not part of that team, I wanted to let you know that I am personally going to bring this up again with the desktop team because I think Flatpak is the way to go on Linux desktop.

So I'll be coming back here soon and hopefully have some good news, but you can definitely expect full support from my end if you run into any specific issues for now. Feel free to at-mention me here at any time or join our community server and ping me there.

In the meantime do you have any resources for me on how Firefox is shipping their flatpak directly to flathub? Sorry I'm relatively new to contributing to flatpak/flathub so I'm not yet aware of where everything lives.

Oh and @vchernin I wanted to send you some swag as a thank you gesture for your work here if you want but couldn't find any contact info anywhere. So I'm just going to extend this offer here, if you want anything just ping me and I'm happy to connect you. If you don't want that I'm totally fine with that as well, don't want to force anything on you :)

vchernin commented 2 years ago

In the meantime do you have any resources for me on how Firefox is shipping their flatpak directly to flathub? Sorry I'm relatively new to contributing to flatpak/flathub so I'm not yet aware of where everything lives.

Mozilla builds the Flatpak as part of their own CI, and pushes it to Flathub directly. Flathub subsequently publishes it. OBS Studio will do the same thing in their next release, except their build infrastrucure is GitHub instead of Mozilla's.

This works, but currently isn't scalable since it requires Flathub admins to manually create the necessary authentication keys for the app developer (e.g. Mozilla/OBS Studio).

Luckily Flathub is working on an admin panel that should eventually support developers creating their own keys (along with payments, etc). Furthermore, there should be a way to show users that a Flathub app is officially published/supported by its developers (some sort of domain verification perhaps). Some of these items might still take some time though.

https://discourse.flathub.org/t/seeking-contractors-for-work-on-flathub-project/1889

The other issue is how to actually build Mattermost. I think the current approach using the tarball makes sense, and should be fairly simple to integrate into Mattermost's build infrastructure. Potentially if direct pushing is possible, building on Mattermost's infrastructure means flatpak-builder could be bypassed, and the binary could be pushed directly to Flathub.

Building Electron apps from source with Flatpak is difficult at best, so that seems like something to avoid in any case.

Oh and @vchernin I wanted to send you some swag as a thank you gesture for your work here if you want but couldn't find any contact info anywhere. So I'm just going to extend this offer here, if you want anything just ping me and I'm happy to connect you. If you don't want that I'm totally fine with that as well, don't want to force anything on you :)

Thanks for the offer :) I will turn it down though as I'm happy to work on these things in my free time.

svelle commented 2 years ago

Thanks, this gives me a lot to work off of!

vchernin commented 2 years ago

I will also add, right now we only actually publish a x86_64 build. For there to be a aarch64 build either Mattermost would need to publish an aarch64 Linux tarball, or we'd have to complile from source here.

svelle commented 2 years ago

I will also add, right now we only actually publish a x86_64 build. For there to be a aarch64 build either Mattermost would need to publish an aarch64 Linux tarball, or we'd have to complile from source here.

Thanks, that one should be a fairly simple fix of just adding the needed parameter to electron-builder. trickier would be actually testing that. Do you happen to know of any common devices that run on ARM SoCs?

SemaiCZE commented 2 years ago

Thanks, that one should be a fairly simple fix of just adding the needed parameter to electron-builder. trickier would be actually testing that. Do you happen to know of any common devices that run on ARM SoCs?

Raspberry Pi?

vchernin commented 2 years ago

In theory you can run the aarch64 build with QEMU if no arm hardware is available.

e.g. like this. I haven't every tried that though. Some Flatpak info

shvetsnikita commented 1 year ago

Do you happen to know of any common devices that run on ARM SoCs?

There is wide range of devices to choice from: https://www.armbian.com/download/?tx_category=desktop