SpacingBat3 / WebCord

A Discord and SpaceBar :electron:-based client implemented without Discord API.
MIT License
1.92k stars 95 forks source link

Take Ownership of the io.spacingbat3.webcord Flathub repo #520

Closed klaribot closed 7 months ago

klaribot commented 7 months ago

Description

I would like to request that the original owner of WebCord, @SpacingBat3, takes ownership of the Flathub repository, io.github.spacingbat3.webcord. As of February 11th, 2024, the maintainers of WebCord's Flathub repository have marked the package as End of Life.

Suggestions

I strongly recommend transferring ownership of the Flathub repository (io.github.spacingbat3.webcord) to be ran under you, @SpacingBat3. By doing so, you can seamlessly integrate your code with the Flatpak build processes, directly address issues that arise due to Flatpak's sandboxing, and ensure timely updates to your app on this platform. This suggestion to move aligns with the new principles of Flathub, where developers have direct control over the publishing of their apps.

I'd also like to highlight the benefits of the Flathub verification program, which can dramatically elevate the credibility of WebCord on the platform and guarantee trust between developer and user.

I'll try to notify the current maintainers of the FlatHub repository about this issue so that we may facilitate constructive communication regarding this transition. Perhaps a duplicate issue on the Flathub maintainer's repo so that the two issues may be cross-referenced?

Alternatives

If @SpacingBat3 decides not to take ownership of the Flathub repository, alternative maintainers may be considered, if that is something the developer of WebCord and the current Flathub maintainer(s) may be willing to discuss. However, it's crucial to recognize the unique advantages of Flatpak, as it is shaping up to be the future universal app platform for the modern Linux desktop.

As a refresher, Flatpak's containerized approach provides a secure and isolated environment for applications, mitigating compatibility issues often seen with traditional package managers. Additionally, Flatpak ensures standardized packaging across all possible Linux distributions, allowing users from all platforms to easily install and update your app. Emphasizing the growing adoption of Flatpak in major Linux distributions, especially including the Steam Deck's SteamOS (where it is also the only supported package distribution method), highlights its role as the clear future of application distribution on desktop Linux as a whole.

While alternatives like AppImage or relying on native clients exist and you already provide builds for them, they fall short in providing the sheer universality and unmatched app standardization offered by Flatpak. AppImage lacks the centralized repository structure and standardized runtime environment that Flatpak provides. Native clients, on the other hand, often face challenges in maintaining compatibility across diverse Linux distributions, leading to fragmented user experiences.

Additional Context

The Flathub documentation provides clear steps for developers to take ownership of their application on Flathub. In this way, it ensures a closer relationship between developer and user, and bypassing the frustrating hurdles that come with traditional third-party package maintainers repackaging your application.

Additionally, the Flathub admins are working on cutting out the middle-man completely, allowing direct uploads by app developers to the Flathub repository, bypassing the need for an intermediary repo. 1 2


(I hope this is an alright first issue on behalf of this being my first ever seriously-submitted issue! I really want to help contribute to more of the open source projects that I use and rely on daily. I would hate to see the Flatpak version of this app be left to the wayside to collect dust.)

klaribot commented 7 months ago

Just realized this is related enough to https://github.com/SpacingBat3/WebCord/issues/116 for my issue to potentially be a duplicate, but it was also last updated 2 years ago, so I thought I'd bring this back to light now that Flathub is starting to become substantially more popular.

After reading a bit farther down the thread, I also now see that you had success with a couple of the members in this issue who have henceforth maintained the Flathub for you, which makes them marking the repo as End-of-Life even more concerning.

SpacingBat3 commented 7 months ago

Yeah, so far this is a duplicate of #116. The main reasons why I don't maintain Flatpaks myself is that I have very little idea to manage them myself. I would also love to produce Flatpaks using Forge directly (I consider toying with GitHub Actions, maybe I'll try running act locally instead of doing a series of temporary commits I overwrite with git push -f), eventually only needing to republish them to Flathub if that's possible.

I've honestly didn't made any re-approaches around packaging the flatpaks with the Forge for a long time. Maybe the installer has gotten improved enough to handle the errors and configuration by itself. This was the tricky part and the main reason why I didn't want to enable Flatpak packaging by the default, I think it was possible to package it via Forge but troublesome overall.

Also, as a maintainer of the ReForged, I could also work on writting a publisher specifically for Flathub, I think there was one for Snapcraft / Snap store but none for Flathub so I guess that could come in handy for the other Electron devs that are willing as well.

SpacingBat3 commented 7 months ago

I think I'll close this in favour of #116. My stance is basically the same – I both don't want to maintain multiple repos manually (i.e. I might setup an OBS in case of Linux repos) neither work on package formats that I have no experience with packaging to. You might see me working with the ReForged and eventually implementing the support for the other packaging format, not only just for Linux (e.g. I plan to learn about crafting the Windows installers and even portable executables with NSIS).

Also, as a side note, due to the overall sandboxing that is also troublesome a lot with the Electron, I might not be able to provide the same quality of support for Flatpaks and (for the same reason) Snaps as with the other distributable formats, if I will ever consider supporting both of these packaging formats.

SpidFightFR commented 7 months ago

I guess everyone saw this already but the flatpak maintainer must have step down from the project, it's unlisted on flathub as of now and is marked as EOL.

This will become an issue for people relying on it.

SpidFightFR commented 7 months ago

Like we say, we are our own best advocates. So i forked the manifest, we'll work on it with pals of mine. I'll see later on with the original maintainer, to continue their work.

So far i managed to make v4.8.0 run on a production system thanks to the clear work they left behind, it was quite easy to work on.

I'll keep you in touch.

TerohsLab commented 7 months ago

Much appreciated .. thank you.

SpidFightFR commented 7 months ago

So, tiny update:

Webcord is back on flathub, and i'll probably do most of the maintaining part of that side. @SpacingBat3 hey there, sorry for the ping. If you need to contact me, my email is on my profile. Don't hesitate ! :smile: Should be good for the most part: i'll keep an eye out for major releases and make the updates. But in case of a problem, now you know.

Have a great day everyone.