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

Remove Nativefier apps #1791

Closed
theofficialgman opened this issue May 9, 2022 · 15 comments
Closed

Remove Nativefier apps #1791

theofficialgman opened this issue May 9, 2022 · 15 comments
Labels
suggestion New feature or request

Comments

@theofficialgman
Copy link
Collaborator

theofficialgman commented May 9, 2022

Cool ideas?

Maintaining nativefier apps requires extra burden (keeping electron updated, making sure it doesn't break) for little benefit.

I personally see zero benefit to using nativefier to packaging webpages into their own electron app. All that does it increase the bloat on a users install (more space taken up by now multiple redundant chromium versions, electron is over 100MB).

there are legitimate uses for electron where other libraries are also used to build the application (eg: tabby, github-desktop, lunar client, webcord, etc), but taking a webpage and just throwing it into a separate electron instance isn't one of them.

If you want to keep these apps that use nativefier in pi-apps, my suggestion would be to make install scripts that depend on chromium to be installed, and create .desktop files that launch a unique instance of chromium with tabs disabled and its own folder for settings/passwords/etc (like an electron app would have). you can do this like so:

chromium-browser %U --user-data-dir=$HOME/.config/webapps/WhatsApp --app=https://web.whatsapp.com

this also gives you the benefit of any optimizations that the package maintainer might have done on the chromium-browser package included with your distro

@theofficialgman theofficialgman added the suggestion New feature or request label May 9, 2022
@Itai-Nelken
Copy link
Contributor

Itai-Nelken commented May 10, 2022

We did do this for whatsapp a long time ago when nativefier was broken on arm.
Personally I agree, chromium webapps are much faster than nativefier apps.

@theofficialgman
Copy link
Collaborator Author

theofficialgman commented May 15, 2022

correct me if I'm missing anything but I think the only nativefier app left in pi-apps is whatsapp.

I thought there was at least one more but I can't find one.

@ryanfortner
Copy link
Collaborator

I thought there was at least one more but I can't find one.

Snapdrop is also a Nativefier app.

@ryanfortner
Copy link
Collaborator

ryanfortner commented May 15, 2022

I agree with you on Electron apps' unnecessarily high resource usage and frequent update requirements. However, I don't really think there's much of a point to having the script simply add a Chromium desktop shortcut. After all, the user could just go to snapdrop.net or whatsapp.com on their own. Also, Nativefier apps have added features like an optional tray icon.

I'm just saying I don't think simple chromium desktop shortcuts should be considered apps. I personally think Snapdrop and Whatsapp should either be left as they are, or removed entirely.

@theofficialgman
Copy link
Collaborator Author

After all, the user could just go to snapdrop.net or whatsapp.com on their own.

right, ofc, but I figured this was better than removing them.

I personally think Snapdrop and Whatsapp should either be left as they are, or removed entirely.

I do not think outdated apps that never get updated should stay in pi-apps, especially electron based which are full of bugs that could have security issues for the user.

Also, Nativefier apps have added features like an optional tray icon.

did either of these apps use this? I didn't notice it but I could have missed it.

@ryanfortner
Copy link
Collaborator

Also, Nativefier apps have added features like an optional tray icon.

did either of these apps use this? I didn't notice it but I could have missed it.

Yes, I know WhatsApp definitely uses it but I'm not sure about Snapdrop.

@Botspot
Copy link
Owner

Botspot commented May 16, 2022

IIRC, the advantage to making Snapdrop a Nativefier app was that @Itai-Nelken managed to package the website into the app for first launch. Consequently, if two RPis have snapdrop installed and are connected to the local network but don't have access to the entire Internet, Snapdrop would still work.
This was a bit of an edge case but I think it makes Snapdrop more similar to Apple's Airdrop, which also doesn't require an internet connection. (AFAIK)

@Itai-Nelken
Copy link
Contributor

Itai-Nelken commented May 16, 2022

IIRC, the advantage to making Snapdrop a Nativefier app was that @Itai-Nelken managed to package the website into the app for first launch. Consequently, if two RPis have snapdrop installed and are connected to the local network but don't have access to the entire Internet, Snapdrop would still work.
This was a bit of an edge case but I think it makes Snapdrop more similar to Apple's Airdrop, which also doesn't require an internet connection. (AFAIK)

Nativefier simply caches the website it loads, so it can be loaded with no internet connection.

@Botspot
Copy link
Owner

Botspot commented May 16, 2022

Nativefier simply caches the website it loads, so it can be loaded with no internet connection.

In addition to that, I just tested the proposed Snapdrop Chromium webapp and the Nativefier one - the nativefier one finished loading faster than the Chromium could.

@theofficialgman
Copy link
Collaborator Author

I'm fine either way. I just don't want this: "should either be left as they are". electron updates are important for security reasons. also old versions get blacklisted by sites once they user agent is too old.

@ryanfortner
Copy link
Collaborator

I am requesting that Snapdrop be left as-is. If and when Electron needs updating, I will repackage it.

@Botspot
Copy link
Owner

Botspot commented May 16, 2022

What timing. I just tried to use snapdrop.net in the web browser and the servers are down. But the Nativefier still works!

@theofficialgman
Copy link
Collaborator Author

theofficialgman commented May 16, 2022

What timing. I just tried to use snapdrop.net in the web browser and the servers are down. But the Nativefier still works!

I guess the question here now is... do old snapdrop clients (like the one cached in the nativefier) still work with newer ones (like loading directly from the website)? they should be the same right now at least, since the last update (as seen at the github) was in march https://github.com/RobinLinus/snapdrop

edit: actually I guess the nativefier one is a bit out of date 20220226
edt2: actually never mind, just a german readme link was edited since then

@cycool29
Copy link
Contributor

I do not think outdated apps that never get updated should stay in pi-apps, especially electron based which are full of bugs that could have security issues for the user.

WhatsApp debs hosted on my repo are automatically rebuilt every month.

@theofficialgman
Copy link
Collaborator Author

ok I think for both of these apps the usecase for nativefier is clear. lets keep in mind everything said here for future nativefier apps that might be wanted in pi-apps to make sure they actually add significant features (like offline usage, notifications, etc)

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

Successfully merging a pull request may close this issue.

5 participants