diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java index 9d174a1ac8..577c2f1efe 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java @@ -492,7 +492,11 @@ public final class PushGroupSendJob extends PushSendJob { } else if (!networkFailures.isEmpty()) { long retryAfter = results.stream() .filter(r -> r.getRateLimitFailure() != null) - .map(r -> r.getRateLimitFailure().getRetryAfterMilliseconds().orElse(-1L)) + .map(r -> { + long milliseconds = r.getRateLimitFailure().getRetryAfterMilliseconds().orElse(-1L); + return (milliseconds > 0) ? milliseconds : -1L; + } + ) .max(Long::compare) .orElse(-1L); Log.w(TAG, "Retrying because there were " + networkFailures.size() + " network failures. retryAfter: " + retryAfter);