-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Something went wrong" after captcha #5846
Comments
I spent some more time digging into this bug today, and I have a theory of the case: it seems like the captcha verification codes are getting truncated on iOS. Here is the unreacted/unmodified contents of the body of the failing PATCH request to the
Here is the unredacted/unmodified contents of the same PATCH request on Android:
The iOS request body is 1624 bytes long, the Android one is 2040 bytes long. The difference in the length comes from the "captcha" field containing the captcha verification token getting seemingly truncated by the iOS app. The flow for getting this token in both apps goes like this:
When I try this flow in Chrome, the URL I am redirected to looks like this:
This is also about 2k characters long, so it seems to me like the proper full token should be about that length. I tried to Google around and see if the maximum length of format of a custom URL scheme for iOS is defined anywhere, but all I could really find is that around 2K characters for the base URL (i.e. hostname component) length start to get into the "there be dragons" territory. My next steps would be to try and modify the URL scheme slightly to see if a scheme where the token lives in the path of the URL instead of the host works better. |
It turns out this all comes down to the custom user agent string used in the CaptchaView on iOS. hCaptcha seems to not like it for some reason, and to return invalid captcha responses when it is used. I have a fix out here: #5865 (Although if Signal has a contact at hCaptcha, might be worth reaching out to them to figure out why they don't like the custom user agent string.) |
Bug description
I am presented with a captcha on registration. After I complete the captcha, I get a "something went wrong" popup, in the logs I can see the Signal server returning a 403 to the captcha.
I am not using a VPN, but I have tried using my cell connection to register and my home internet.
-> This might be an issue specific to my phone number, I tried emailing [email protected] last week but did not hear back.
Actual result: "Something went wrong" popup.
Expected result: it sends me a SMS code to complete registration.
Screenshots
Device info
Device: iPhone SE 3rd generation
iOS version: 17.5.1
Signal version: 7.22
Link to debug logs
https://debuglogs.org/ios/7.22.0/2c14f6d1deb45ab90a1157b7379da48bfb962fa3f0e81401410cd1364b8a2a2a.zip
Notably the below:
The text was updated successfully, but these errors were encountered: