mirror of
https://github.com/tulir/mautrix-whatsapp
synced 2024-06-02 02:59:04 +02:00
Make sure portal still exists when scheduling disappearing messages
This commit is contained in:
parent
e8c77c7ec6
commit
125ccd3dbb
|
@ -53,9 +53,13 @@ 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)
|
||||||
|
if portal == nil {
|
||||||
|
msg.Delete()
|
||||||
|
} else {
|
||||||
go portal.sleepAndDelete(msg)
|
go portal.sleepAndDelete(msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (portal *Portal) sleepAndDelete(msg *database.DisappearingMessage) {
|
func (portal *Portal) sleepAndDelete(msg *database.DisappearingMessage) {
|
||||||
sleepTime := msg.ExpireAt.Sub(time.Now())
|
sleepTime := msg.ExpireAt.Sub(time.Now())
|
||||||
|
|
Loading…
Reference in a new issue