Skip to content

Flathub publishing #99

@tinywrkb

Description

@tinywrkb

I submitted a draft Notion Enhanced Flatpak packaging to distribute the app to Linux users via Flathub.org.
Like other Flatpak packaging, it would be best, and it's even the official policy that the application's developer(s) will maintain its Flatpak packaging, but seeing the low activity here, I decided to move forward and at least submit a proof-of-concept packaging. Please let me know if any of the developers here would like to take over the Flathub submission.

I'm still evaluating the application, the maintainability of the Flatpak packaging, and if this is something I would be able to maintain in the long run, and these are why the submission is a draft.
In its current state, packaged with Electron 11, it's not going in. I need Electron 14 or newer to display CJK characters correctly with my system CJK font.
I'm running locally Electron 18 with Notion 2.0.27, though not without issues, and I'm not sure yet if I can resolve all of them. Anyway, I'm digressing.

To avoid possible license restrictions, this Flatpak packaging does not distribute the sources of the original Notion application. Instead, it uses the apply_extra step to download the original application from Notion's servers during the installation of the Flatpak app on the user's system, extract the needed files, and apply the enhancements.

The packaging need to comply with Flathub's policy of sandboxed compilation/packaging without network, so we carry package.json and package-lock.json for the enhancer and Notion, and install Node modules in offline mode.
This added complication is why the Flatpak packaging of some Electron apps just repackage a binary release instead of building from source, but that's not really an option here, considering the usage of Notion's sources.

To avoid a large download to the user's machine with unoptimized Notion's node_modules folder, and refrain from running an electron-builder packaging operation on every update on the user's machine, I limited the apply_extra step to mainly extracting Notion's sources and running the enhancer. So far, I don't see any drawbacks using this method.

Only Notion Enhanced is packaged. I don't see any benefit of having vanilla Notion repackaged, which even might confuse users to think that there's some official Linux Notion app.

Please let me know what you think. Should I move forward with this? Does anyone want to take over the submission?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions