Make sure portal still exists when scheduling disappearing messages

This commit is contained in:
Tulir Asokan 2022-01-27 16:49:25 +02:00
parent e8c77c7ec6
commit 125ccd3dbb

View file

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