Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add so.notion.Notion #1989

Closed
wants to merge 11 commits into from
Closed

Conversation

outergod
Copy link

Notion is a proprietary all-in-one productivity software that doesn't officially support Linux at the moment. This build extracts and patches their Windows Electron application to create a Linux Electron app from it.

My repository at https://github.com/e-user/so.notion.Notion has additional tools to generate new sources for newer versions of Notion but I wasn't sure whether they can or should be added, here.

@flathubbot
Copy link

Ignoring bot build request due to repo lookup error: Invalid id flathub.

@barthalion
Copy link
Member

bot, build so.notion.Notion

@flathubbot
Copy link

Queued test build for so.notion.Notion.

@flathubbot
Copy link

Started test build 34381

so.notion.Notion.yaml Show resolved Hide resolved
so.notion.Notion.yaml Outdated Show resolved Hide resolved
so.notion.Notion.yaml Outdated Show resolved Hide resolved
<component type="desktop-application">
<id>so.notion.Notion</id>
<metadata_license>CC-BY-SA-3.0</metadata_license>
<project_license>LicenseRef-proprietary</project_license>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem I see here is that we don't have rights to redistribution (unless Notion's EULA allows it or you have contacted them and they said it's ok).

It would need to be reworked to use extra-data and run the steps at https://github.com/flathub/flathub/pull/1989/files#diff-8916716d83ed8a4e8d742b7f20df159b50fd930948e3e2877aeb74f3c579147eR116 in apply_extra.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've been trying to make it work with extra-data and apply_extra for a while now, but it's a hot steaming mess - mostly because some of the npm stuff requires g++ to be available, the patch requires the patch tool, the npm cache needs to be preserved inside the image.. just preparing node_modules during the build however also doesn't work because there's an internal repository referenced inside Notion's package.json.

Hence I've reached out to the company and asked for permission. If they decline, I'll try to make it work somehow.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good news, they replied positively, saying that while they won't endorse Linux versions of Notion in the meantime, the current terms don't disallow this and they are fine ... to try it out. Would you like to continue the review based on my last pushed commits?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK I got another email, they revoked their initial statement and are not able to provide written permission to redistribute the program, as this creates potential issues with how we maintain, support, and troubleshoot the app. I'm not sure I still want to continue at this point after that kind of unsupportive exchange. I'll try a bit more with the extra-data approach and if I can't make it work, close the request.

@barthalion
Copy link
Member

My repository at https://github.com/e-user/so.notion.Notion has additional tools to generate new sources for newer versions of Notion but I wasn't sure whether they can or should be added, here.

Yes, it's fine to keep them here,

@flathubbot
Copy link

Build 34381 failed

@outergod
Copy link
Author

Is there a way of applying patches conditionally for different architectures? Otherwise, I'll limit this Flatpak to x86_64 for the time being because supporting aarch64 at least is out of my reach.

@nedrichards
Copy link
Member

You can put modules into specific archictures (e.g. have one for x86 and one for aarch64 with different patches). there's a few examples around flathub with this pattern.

@outergod
Copy link
Author

I'm closing this PR because Notion doesn't want unlicensed clients ATM and the extra-data approach is a time sink I can't afford to waste more into right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants