Newly registered account gets 428 rate limiter errors.
First reported by Schniki12 on the forum.
[2022-05-27T11:57:17Z DEBUG libsignal_service_actix::push_service] HTTP request PUT https://chat.signal.org/v1/messages/da3c83ad-8c45-4d14-87d5-xxxxxxxxxxxx
[2022-05-27T11:57:18Z DEBUG libsignal_service_actix::push_service] AwcPushService::put response:
ClientResponse HTTP/1.1 428 Precondition Required
headers:
"connection": "keep-alive"
"date": "Fri, 27 May 2022 11:57:18 GMT"
"content-type": "application/json"
"content-length": "88"
"retry-after": "86400"
"x-signal-timestamp": "1653652638324"
[2022-05-27T11:57:18Z TRACE libsignal_service_actix::push_service] Unhandled response with body: Ok(b"{\"token\":\"6090bb08-659a-47ea-824e-xxxxxxxxxxxx\",\"options\":[\"recaptcha\",\"pushChallenge\"]}")
[2022-05-27T11:57:18Z ERROR harbour_whisperfish::worker::client] Sending message: Error sending message: Unexpected response: HTTP 428
Suggested workaround, because captchas (#118 (closed), #378) still crash the webrender, is to (re)use the MessagePipe
that is already used for receiving messages for also sending messages. I feel like the PUT endpoint is rate limited only on new connections, and that Signal prefers the pipe at this point. This can first be checked in the Signal-Android sources.