Explorar o código

Use consistent error message for media not found errors

Sometimes it's encrypted, sometimes it's not
Tulir Asokan %!s(int64=3) %!d(string=hai) anos
pai
achega
289d410a4b
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      portal.go

+ 5 - 1
portal.go

@@ -2304,7 +2304,11 @@ func (portal *Portal) handleMediaRetry(retry *events.MediaRetry, source *User) {
 		errorName := waProto.MediaRetryNotification_MediaRetryNotificationResultType_name[int32(retryData.GetResult())]
 		portal.log.Warnfln("Got error response in media retry notification for %s: %s", retry.MessageID, errorName)
 		portal.log.Debugfln("Error response contents: %s / %s", retryData.GetStanzaId(), retryData.GetDirectPath())
-		portal.sendMediaRetryFailureEdit(intent, msg, fmt.Errorf("phone sent error response: %s", errorName))
+		if retryData.GetResult() == waProto.MediaRetryNotification_NOT_FOUND {
+			portal.sendMediaRetryFailureEdit(intent, msg, whatsmeow.ErrMediaNotAvailableOnPhone)
+		} else {
+			portal.sendMediaRetryFailureEdit(intent, msg, fmt.Errorf("phone sent error response: %s", errorName))
+		}
 		return
 	}