Signal-android: Signal website version no longer receives updates

Created on 21 Jul 2019  路  13Comments  路  Source: signalapp/Signal-Android


Bug description

Signal 4.41.6 direct download version does not receive update notification for new versions.

Steps to reproduce

  • Installed 4.41.6 via direct download from signal.org (not Play Store version)
  • Several new versions are released in the meantime
  • Signal does not offer any option of updating itself through the app.

Actual result: User is stuck on 4.41.6 and needs to manually download new versions from the website.

Expected result: There should be an option to update through the app, be it through a notification or through a button in the app to check for updates.

Device info


Device: Pixel 2
Android version: 9
Signal version: 4.41.6

Most helpful comment

Man, I could have sworn I updated the json before uploading, but I guess not. Just fixed it. (4.46+ will all output json with the proper version automatically -- the older one had to be updated by hand).

All 13 comments

Do you use a wifi connection?

Do you use a wifi connection?

Yes.

I have exactly the same situation here.
I never saw this log message Checking for APK update... in the last days.
I don't use Wifi every day, but I use it regularly.
Signal v4.41.5 is dated June 7th, I haven't received an update notification since.

Device info

Device: Fairphone FP2
Android version: 8.1.0
Signal version: 4.41.5

Same issue for me.
Got stuck on 4.41.5, installed 4.43.8 manually over it some weeks ago. Now https://updates.signal.org/android/latest.json says 4.44.7 is available. But again no update is initiated by the app.

Device: HTC One M7
Android version: 7
Signal version: 4.43.8

The problem is this method:
https://github.com/signalapp/Signal-Android/blob/e603162ee767d56fa16f56701cd29010f22ed22d/src/org/thoughtcrime/securesms/jobs/UpdateApkJob.java#L109
combining with this commit: https://github.com/signalapp/Signal-Android/commit/5ad02f724cbeb86fd3bb52a8687e7f20278097a8

I.e., when multi-arch APKs were added with independent versioning, the version code was multiplied by 10, plus some epsilon depending on the arch. Everywhere else in the code got a new method to check the version code, Util.getCanonicalVersionCode(), but that wasn't used in the APK update job. So that now, my Signal is reporting its version as 4935 (i.e., 493*10+5), but the update json is reporting "versionCode" : 515. If this had been found before the first update with this commit, it would have been a one-line fix to the android code, but we can't fix the android code because, well, that requires an update. :laughing:

I believe the best fix at this point is to multiply the version code in the json by 10 from now on (which should be sufficient, since after downloading your version will be greater than or equal to that number, but less than the next version, regardless of which version you're using -- similarly, there's no reason to refrain from bumping it immediately to 5150, since anyone who has 515 is already checking for some number greater than that). Until then, nobody with the website version will be receiving automatic updates.

Also worth noting, that release was first made 85 days ago, which means that in 5 days, Signal will stop working for those users :3

I think I've just run into this.

I originally installed the Signal APK from the website. I last updated it from 4.39.4 to 4.41.5 on 10 June, when prompted to do so. I've received no prompts since, but I see https://signal.org/android/apk/ is now advertising 4.44.7.
I've just today started getting a prompt:
"Your version of Signal is outdated
"Your version of Signal will expire in 9 days. Tap to update to the most recent version."
If I tap on that message, I get a toast "No such app found." and no update occurs.

I'm using a Fairphone 2 running Android 7.1.2.

Since it looks superficially like jtracey understands the problem, and I don't want it to stop working, I'm going to go ahead and update Signal manually.

@jtracey Thank you for looking into this!

I've been going through the various approaches. And given the weird scenarios we can get ourselves into, it's come down to two options:

1) Keep the version check the way it is, but multiply the versions in the json by 10. This should resume automatic updates for everyone, but we'll be stuck with json that has funny versions in it.
2) Fix the version check in the new release, but keep the json versions the way they are. This will require all web apk users to do a manual update, but things will be tidy afterwards.

I was considering doing a 10x version number for a single release (to get people to automatically update) and also fixing the version check (to allow us to go back to pretty version numbers), but if I did that, then that code would constantly think there's a new version :no_mouth:

Given those options, I think (1) is the most realistic. I don't want anyone getting stuck on old versions. I'll be updating the json manually today so people should get the update prompt. Thanks!

I have 4.41.6 and just received the "Your version of Signal will expire in 9 days" message. No prompt to download a new apk, yet.

@JanZerebecki Please manually close and re-open the app, and then take a debug log and post it here.

The current value at https://updates.signal.org/android/latest.json is still 518 (I.e. it's still on 4.45.2). Is there something that needs to be done to update it to the latest version?

Man, I could have sworn I updated the json before uploading, but I guess not. Just fixed it. (4.46+ will all output json with the proper version automatically -- the older one had to be updated by hand).

Was this page helpful?
0 / 5 - 0 ratings