Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Unable to re-register if registration lock is enabled, works once registration lock is disabled #13816

Open
3 tasks done
ported-pw opened this issue Nov 23, 2024 · 0 comments
Open
3 tasks done

Comments

@ported-pw
Copy link

Guidelines

  • I have searched searched open and closed issues for duplicates
  • I am submitting a bug report for existing functionality that does not work as intended
  • This isn't a feature request or a discussion topic

Bug description

I attempted to move Signal to a new device.

Some prerequisites:

  • My account has registration lock enabled
  • I know the PIN, and the PIN is correct. The old device prompted me for it at some point during the process and confirmed that it was correct.
  • The SIM card was still in the old phone

Versions involved were:

  • [1] v7.24.2 Play Store (but not sure, I think I was using Website APK before and then updated?)
  • [2] v7.25.0 or v7.25.1 Website APK downloaded from GitHub releases (whichever was latest at around 18:00 UTC on the 22nd of November), initially used on new device
  • [3] v7.24.2 Website APK (downgraded/reinstalled to on new device)
  • [4] v7.25.2 Website APK on further attempts
  • [5] v7.25.2 Play Store APK

Steps I took:

  • I initially started the device-to-device transfer from version [1] on the old device to version [2] on the new device
  • The chat transfer succeeded
  • I then proceeded to the registration on the new device. It prompted me:
    1. for the phone number, which I entered manually, and confirmed the prompt that costs may be incurred. No SMS was sent at this point.
    2. Immediately the Signal PIN (without completing the phone number verification first), which I entered
    3. then back to the phone number screen, with the number still filled in, I confirmed the same prompt. The verification screen now opened, an SMS was sent to the number, and I manually copied the code.
    4. it then went back to a slightly different looking Signal PIN input, where I input the PIN again
    5. I was then sent to the "Account locked" screen that you get when trying to register only with the number against a number that has registration lock enabled
  • After Step 3, my old device had been unregistered (which I understand to be by design).
  • My old device had a prompt like "Registration failed on new device, go back to this one?" (I don't remember the exact wording), and I pressed this. However, both the old and new devices remained unregistered.
  • I then considered if the GitHub release APK [2] I installed on the new device might have been defective/buggy, and uninstalled it (since it was a downgrade), replacing it with [3].
  • I tried to register the account there (on the device device), without a chat migration that was now impossible, and ran into the same exact flow issue
  • I tried to register the account on the old device that still had my chats, and ran into the exact same flow issue
  • I then had the idea to try out the Play Store APK [5] which I installed on the new device. I then tried registering the account there, which went flawlessly. I was first prompted for the number, then the PIN (without the weird double prompting), and got into my account despite the registration lock.
  • I then disabled the registration lock using that app
  • Now I was able to re-register the old device (which I in the meantime had upgraded to version v7.25.2 from the website as well). That flow looked as follows:
    • Phone number prompt, like described above
    • PIN input again immediately after, except I pressed "Skip" there this time
    • Phone number prompt again like above, except automatic on this phone
    • PIN input again, this time I entered it

TL;DR is: The re-registration flow in the website APK version seems quite buggy, it seems as though some activities/screens are competing for when they should be shown, and in the end, the PIN is not actually used to solve the registration lock. It works fine in the same version installed from the Play Store.

Screenshots

Short screencap showing the flow issue:
https://github.com/user-attachments/assets/817d1223-dbc4-45a0-a548-1f7fca6a24ec

Device

Google Pixel 7a (lynx)

Android version

15, GrapheneOS 2024111800

Signal version

At least from 7.24.2 to 7.25.2, see text for all versions used

Link to debug log

https://debuglogs.org/android/7.24.2/d5bb7fbe7f5857529047b50bfc4ac4b850a8391f2f2b0abb7e1a26fd8feaf879

From the logs, it looks like somehow the app thinks that there is no registration lock, and then fails because it was indeed set.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Development

No branches or pull requests

1 participant