mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-21 02:08:40 +00:00
Have allowedToRequestCode take precendent in 429 reg responses.
This commit is contained in:
committed by
jeffrey-signal
parent
15677c663b
commit
b99fec4274
@@ -75,6 +75,7 @@ sealed class VerificationCodeRequestResult(cause: Throwable?) : RegistrationResu
|
||||
is RequestVerificationCodeRateLimitException -> {
|
||||
RequestVerificationCodeRateLimited(
|
||||
cause = cause,
|
||||
allowedToRequestCode = cause.sessionMetadata.metadata.allowedToRequestCode,
|
||||
nextSmsTimestamp = cause.sessionMetadata.deriveTimestamp(delta = cause.sessionMetadata.metadata.nextSms?.seconds),
|
||||
nextCallTimestamp = cause.sessionMetadata.deriveTimestamp(delta = cause.sessionMetadata.metadata.nextCall?.seconds)
|
||||
)
|
||||
@@ -111,8 +112,9 @@ sealed class VerificationCodeRequestResult(cause: Throwable?) : RegistrationResu
|
||||
|
||||
class MalformedRequest(cause: Throwable) : VerificationCodeRequestResult(cause)
|
||||
|
||||
class RequestVerificationCodeRateLimited(cause: Throwable, val nextSmsTimestamp: Duration, val nextCallTimestamp: Duration) : VerificationCodeRequestResult(cause) {
|
||||
val willBeAbleToRequestAgain: Boolean = nextSmsTimestamp > 0.seconds || nextCallTimestamp > 0.seconds
|
||||
class RequestVerificationCodeRateLimited(cause: Throwable, val allowedToRequestCode: Boolean, val nextSmsTimestamp: Duration, val nextCallTimestamp: Duration) : VerificationCodeRequestResult(cause) {
|
||||
val willBeAbleToRequestAgain: Boolean = allowedToRequestCode && (nextSmsTimestamp > 0.seconds || nextCallTimestamp > 0.seconds)
|
||||
|
||||
fun log(now: Duration = System.currentTimeMillis().milliseconds): String {
|
||||
val sms = if (nextSmsTimestamp > 0.seconds) {
|
||||
"${(nextSmsTimestamp - now).inWholeSeconds}s"
|
||||
|
||||
Reference in New Issue
Block a user