Signal-android: App doesn't report 413 errors correctly

Created on 22 May 2018  路  11Comments  路  Source: signalapp/Signal-Android


Bug description

I've been fighting with restoring Signal from a Titanium Backup. There's a number of open and closed issues on that subject, but this is a side issue that has caused me to waste several hours flailing at getting my phone registered _at all_, much less with my data.

I discovered via signal-cli that I was getting rate limited (413) errors, presumably from attempting to re-register the same device several times. However, the app does not report this error, it just says "Unable to connect to service."

Steps to reproduce

  • uninstall the app
  • reinstall the app (from backup or fresh or an older apk (4.15.5 is the last known good for being able to import backed-up data...)
  • attempt to register the device
  • repeat first three steps multiple times. Eventually you'll get rate limited. It doesn't require a flood, just a half-dozen attempts in an hour.
  • See a very unhelpful error.

Actual result: A toast pops up with "Unable to connect to service." etc, etc.
Expected result: A toast pops up with something useful to say, like "You've attempted to register this number too many times, please wait an hour to try again."

Device info


Device: Oneplus X
Android version: Lineage 14.1
Signal version: 4.19.3 and 4.15.5.

help wanted

Most helpful comment

We've updated the error messaging to indicate when a rate limit occurs. This should be fixed in 4.64 by this commit https://github.com/signalapp/Signal-Android/commit/2915e4698c9e18ec980369b0450c8f838a6d8264.

All 11 comments

We don't typically support TiBackup, LineageOS, Xposed, signal-cli, or rooted shit. It is conceivable that someone would run into this under normal circumstances, so I've left it open, but it's most likely going to affect people who fuck with their phones, so I've added a "help wanted" tag. Thanks!

This bug is about the 413 error. I ran into it due to problems re-registering my device. "Rooted shit" might be the source of why I was having problems re-registering, but it's not the reported problem (that 413 errors are not communicated to the user).

Without a backup/restore app (which, by their nature, requires root), what's the path for migrating existing contacts and conversations to a new device?

There is now a backup Option wich is encrypted

a. that backup option never writes any messages anywhere. It forever reports the last backup time as Never, even if I run it manually. If there's an error causing that, it isn't reported.
b. where's the restore option?

You can only restore it with a fresh Installation

Then that is _also_ a bug, as with a completely fresh installation I am never given the option to restore from backup.

You have to make an encrypted backup with 4.19.3 >
Than you can import this to a fresh Installation. Look at the forum. There is one Person that might help here.

https://whispersystems.discoursehosting.net/t/howto-manual-backup-restore-if-full-backup-does-not-work/2462

I was able to reproduce this just by trying to get my encrypted signal backup restored. Fresh install restore didn't do shit when the sdcard was in, so I had to eject it and install signal a couple of times to get it restored. Tried registering with another number, since I figured my number got blacklisted or something. Getting a registration code worked fine when using another number. So please, make the error message more useful. "Unable to connect to service, please check network connection and try again" doesn't really help in this situation. Why tell the user to try again when the user should wait for the blacklist to be cleared instead?

Thanks for all your awesome work on Signal!

My phone is not rooted, I'm using the built-in backup and restore, and I've still [presumably] been rate limited because I had to uninstall and reinstall Signal multiple times. The message "Unable to connect to service, please check network connection and try again" additionally then sent me down the wrong path.

It would be very helpful if the message could be something like "Too many registration attempts. Try again in X minutes." for some specific value of X.

What is the value of X by the way? I currently don't know how long I should wait to retry, or if any subsequent failed attempts reset the timer.

What is the value of X by the way? I currently don't know how long I should wait to retry, or if any subsequent failed attempts reset the timer.

I would really like to know this, too - since I face this issue at the moment (when experimenting with MicroG I had to go through a re-registering process several times and now I'm blocked and find nowhere information about how long this lasts...)

We've updated the error messaging to indicate when a rate limit occurs. This should be fixed in 4.64 by this commit https://github.com/signalapp/Signal-Android/commit/2915e4698c9e18ec980369b0450c8f838a6d8264.

Was this page helpful?
0 / 5 - 0 ratings