Prechádzať zdrojové kódy

checkpoints: send UNSUPPORTED for broadcast list unsupported

Sumner Evans 3 rokov pred
rodič
commit
ef24e20902
1 zmenil súbory, kde vykonal 7 pridanie a 1 odobranie
  1. 7 1
      portal.go

+ 7 - 1
portal.go

@@ -2212,7 +2212,13 @@ func (portal *Portal) HandleMatrixMessage(sender *User, evt *event.Event) {
 	if err != nil {
 	if err != nil {
 		portal.log.Errorfln("Error sending message: %v", err)
 		portal.log.Errorfln("Error sending message: %v", err)
 		portal.sendErrorMessage(err.Error(), true)
 		portal.sendErrorMessage(err.Error(), true)
-		portal.bridge.AS.SendErrorMessageSendCheckpoint(evt, appservice.StepRemote, err, true, 0)
+		status := appservice.StatusPermFailure
+		if errors.Is(err, whatsmeow.ErrBroadcastListUnsupported) {
+			status = appservice.StatusUnsupported
+		}
+		checkpoint := appservice.NewMessageSendCheckpoint(evt, appservice.StepRemote, status, 0)
+		checkpoint.Info = err.Error()
+		go checkpoint.Send(portal.bridge.AS)
 	} else {
 	} else {
 		portal.log.Debugfln("Handled Matrix event %s", evt.ID)
 		portal.log.Debugfln("Handled Matrix event %s", evt.ID)
 		portal.bridge.AS.SendMessageSendCheckpoint(evt, appservice.StepRemote, 0)
 		portal.bridge.AS.SendMessageSendCheckpoint(evt, appservice.StepRemote, 0)