Kaynağa Gözat

Make sure portal still exists when scheduling disappearing messages

Tulir Asokan 3 yıl önce
ebeveyn
işleme
125ccd3dbb
1 değiştirilmiş dosya ile 5 ekleme ve 1 silme
  1. 5 1
      disappear.go

+ 5 - 1
disappear.go

@@ -53,7 +53,11 @@ func (portal *Portal) ScheduleDisappearing() {
 func (bridge *Bridge) SleepAndDeleteUpcoming() {
 	for _, msg := range bridge.DB.DisappearingMessage.GetUpcomingScheduled(1 * time.Hour) {
 		portal := bridge.GetPortalByMXID(msg.RoomID)
-		go portal.sleepAndDelete(msg)
+		if portal == nil {
+			msg.Delete()
+		} else {
+			go portal.sleepAndDelete(msg)
+		}
 	}
 }