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,8 +53,12 @@ func (portal *Portal) ScheduleDisappearing() {
func (bridge *Bridge) SleepAndDeleteUpcoming() {
for _, msg := range bridge.DB.DisappearingMessage.GetUpcomingScheduled(1 * time.Hour) {
portal := bridge.GetPortalByMXID(msg.RoomID)
if portal == nil {
msg.Delete()
} else {
go portal.sleepAndDelete(msg)
}
}
}
func (portal *Portal) sleepAndDelete(msg *database.DisappearingMessage) {