Update availible message after X day


We don’t have a central service that provides update information. We don’t have an check for updates mechanism because that could be used for tracking(as example an ISP could track when you started DC if we would contact a known server to check for updates on startup).
There was also an idea of sending a version code in the header in every message, but not only does this increase message size, it also could be used to find out whether a target has a specific old version that may contain a critical bug.

Solution idea

For the users that use an appstore the problem does not exist, because DC gets updated whenever the user decides to update all apps.

For our other users/Generally I suggest that DC send the user a device message after X days that says that a new Version might be available and links to get.delta.chat.
That way we are reminding our users with super old versions to update.

This could be implemented either only in desktop or even into the core?

i’d say we should go for that in the core, this also makes sense for manually installed apk. also users may have disabled auto-update. however 90 days may be faster than expected, and it is a bit annoying to point users to some updates if there is actually none.

wrt header: in fact, we already send the X-Mailer header - so, maybe just use that? i do not think that the increase in message size is a critical point, also not wrt exposed bugs. for the latter, however, we can mitigate this by moving the X-Mailer to the encrypted part.

however, as a first attempt, maybe a static time is fine - but, after all experience with that, i would go for sth. more than 90 days, maybe half a year at least.

1 Like

yeah a longer time would be wise, I replaced the 90 days with X for now.

1 Like

2 alternative solutions:

  • randomize the point of time when the client requests the server for the current version, and maybe use 2-3 sources of information for that, not one central domain
  • add a “check for new versions” button to the settings, which users can manually use.

that’s not a solution, because ‘nobody’ would find or press such a button. Its about reminding folks that are not checking actively about updates.

rely on Round Robin DNS?

Or literally multiple resolution options?

the latter, 2 or 3 different links which can be asked. It’s about obscuring the network request, to make tracking through ISPs harder. A DNS request to the same URL would not accomplish that.

Let’s don’t make it too complicated :grinning:
A message after x days after it was build is already better than nothing and comes with no risks and nearly no disadvantages.

I implemented a prototype in dc desktop https://github.com/deltachat/deltachat-desktop/pull/1672