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

Auto Update Feature #491

Open
oxmc opened this issue Nov 26, 2023 · 5 comments
Open

Auto Update Feature #491

oxmc opened this issue Nov 26, 2023 · 5 comments
Assignees
Labels
type:feat New feature or request

Comments

@oxmc
Copy link

oxmc commented Nov 26, 2023

Description

I think having webcord auto update like the offical discord app does would be nice instead of having to download a new version each time, i'd be more than happy to help with this idea.

Suggestions

No response

Alternatives

No response

Additional Context

No response

@oxmc oxmc added the type:feat New feature or request label Nov 26, 2023
@SpacingBat3
Copy link
Owner

SpacingBat3 commented Nov 26, 2023

I mean, Discord kinda doesn't trully auto-update as well (at least on Linux), only a modules that it installs during update but the client stays intact.

As of Windows and macOS, Electron supports auto-updating these, but I guess in case of Windows my hate over Squirrel format won't make it happen (I'm not sure if NSIS supports auto-updates over Electron) and AFAIK macOS has also required the binary signing for auto-updates to be supported, so yeah… this is kinda problematic right now.

Also as of Linux, I thought of setting up the OBS (OpenSuse Build Service) in order to have some kind of CI to automatically build the binaries for multiple Linux distros. But right now I have no clue how to set it up, so it is still uncertain when and if that'll happen.

@oxmc
Copy link
Author

oxmc commented Nov 27, 2023

I have this inplace for my own app:
image

I could modify it for your purpose and have it handle appimages and other stuff, and it can be contained in the update.ts file for the main logic.

@SpacingBat3
Copy link
Owner

SpacingBat3 commented Nov 27, 2023

I could modify it for your purpose and have it handle appimages and other stuff, and it can be contained in the update.ts file for the main logic.

This logic is too simple for WebCord; with many platforms being available for the same platform or even distro, it is quite hard to handle updates like this, especially on Linux. Moreover, using sudo is a bad idea for GUI apps, I would preffer using Polkit for that and eventually fall back to other sollutions, maybe make a GUI to pass password to CLI, although I'm not sure about the security implications about storing passwords in JavaScript memory (given it is really hard to enforce a cleanup and zeroing of such data).

And as of Windows (Squirrel instalations), I don't really want to invest any time around implementing auto-updates, I'll drop Squirrel as soon as I start working on NSIS installers for Forge.

@SpacingBat3
Copy link
Owner

SpacingBat3 commented Nov 27, 2023

Also, I believe the support for auto-updates could be implemented in the AppImage maker directly, as AppImages are designed to hold an update information and official toolkit is also able to generate delta images based on old and new version of the package, allowing for updates without need of redownloading same data if it is similar between the binaries of different version.

@oxmc
Copy link
Author

oxmc commented Nov 29, 2023

Was not aware appimages could do that

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

No branches or pull requests

2 participants