Automatically update check

I think it would be great if the desktop client automatically check for update (e.g. weekly) and redirect to download page (after click on “download”).

Of course while you in preview state it’s not useful.
But if you reach v.1.0 people would not miss new features or even bug fixes.

Libre Office do it this way to keep users up to date.

Whats about Flatpak version on Flathub? --> https://flathub.org/apps/details/chat.delta.desktop

Even it is needed an upgrade as I posted here --> Delta Chat on Flathub a bit outdated?

Thats an interesting problem, because we don’t want to have centralization by default.
How about an opt in feature and a button to check now?

Another idea would be to tell delta-chat version via gossip but that would be bad for 2 reasons:

  1. If you know the version you can target an theoretical exploit/bug that was in an older version (The reason why so many outdated wordpress instances are hacked is because they broadcast their version in their SEO meta data)
  2. It would add on data usage in every message.
2 Likes

that’s a point. we’re currently exposing the version in the X-Mailer header - which is useful for debugging at least while in beta state.
maybe we should just remove it from there - on the other hand, we can use these information as a distributed version info that might ask the user to update if it sees a mail from someone else - which adds some security that may outweigh the disadvantage of exposing the version.

we could also add the version only to the encrypted part - this way we can avoid gossiping the version to everyone and the recipient can still check if his version is outdated.

just some ideas :slight_smile:

3 Likes

IMHO there is no need to send any informations.

My idea is:

You could host on your download page a XML file which contains the current newest version number.

Now the client could (e.g.weekly) contact this file and compare the version numbers.

If there are different numbers, the client could ask the user: “There are a newer version of DC. Do you like it update?”

Is this to easy to work?

Or create this to much traffic on your server?

Could you host this XML file on GitHub?

The guix package manager (flatpack done right) just mentioned starting to work on peer to peer package sharing of their reproducable builds.
https://www.gnu.org/software/guix/blog/2019/substitutes-are-now-available-as-lzip/

In own test one likely knows the version, debugging other installs likely needs a log anyway, so I see not so much need nor benefit from gossiping the version.

Github is a proprietary, central service provider.

sure this would work, and the traffic would probably be not be that much. but as @Simon mentioned, this is centralized and can theoretically also be used for some sort of tracking.

but maybe all this is not really needed - already in the current version, we check if the apk was installed by f-droid or gplay - and if not, we show an annoying warning after a fixed timeout (90 days or so). at least this will mitigate the situation that many old versions hang around “forever”.

so, from this point of view, the problem is solved. and people who are interested in new features etc. will probably also follow other channels to get versions updates - this forum, blog, github etc.

I talk about the desktop client.

I’m sure, not so much windows users will follow this forum.

For “paranoid” users it could be a option to switch it off.

I know it from myself as I used windows.
Very often I used old versions of software because I didn’t check for updates manually :wink:

a 90 day time out and releasing every 60 days should do the trick I’d say.

1 Like

It would be great if you could guarantee to release every 60 days a new version.

But can you?

If not, users would be annoyed if the software would say “I’m outdated” but on the server is no newer version.

And what about hot fixes for critical bugs?

Have the (not informed) users to use a not patched version up to 59 days?

IMHO the risk of tracking is less critical if you would realize it a way as I said before.
More less risky then use a not patched software.

And the thing about centralizing:
I download the software also centralized from your GitHub account :yum:

And as I said before. You could add a option to switch off checking for updates.

If you like to be absolutely sure the user will not loose the control over this, you could ask on first start (maybe after every update if you like) “check for updates automatically?” [Yes]. [No].
And a check mark “never ask again” to store my choice for ever.

Let me comment on this, I must remember that there are more and more people using the application and that they use alternative ways to update, because they do not have access to the Internet.

Still I think it would be good if users (with internet access-probably the most) would informed if there is a new version os out.
Maybe with critical security patches.

And for users who have no or less internet access e.g. in Cuba it would not hurt.

As I said before, this could be a option to switch it off if you don’t need it or if you think someone could track you.

1 Like

What ways are these?

In case of f-droid’s feature to provide installed apps to other users from within the local f-droid app, I think it might make sense to raise the question of the updates with f-droid. Maybe the users with internet access could get a notice to inform and send a message to users that got a copy of an app from them, I mean something lilke that that could solve the problem for the entire distribution method.