浏览代码

Use consistent error message for media not found errors

Sometimes it's encrypted, sometimes it's not
Tulir Asokan 3 年之前
父节点
当前提交
289d410a4b
共有 1 个文件被更改,包括 5 次插入1 次删除
  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
 	}