Pārlūkot izejas kodu

Make sure portal still exists when scheduling disappearing messages

Tulir Asokan 3 gadi atpakaļ
vecāks
revīzija
125ccd3dbb
1 mainītis faili ar 5 papildinājumiem un 1 dzēšanām
  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)
+		}
 	}
 }