From 10f3f200a03eb850c6734551dc094bed8df52143 Mon Sep 17 00:00:00 2001 From: Marc Vilanova Date: Tue, 1 Apr 2025 11:51:12 -0700 Subject: [PATCH] bug(signal filter): handles when filter fields are none more gracefully --- src/dispatch/signal/service.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/dispatch/signal/service.py b/src/dispatch/signal/service.py index 80e72f896420..1e12baa61796 100644 --- a/src/dispatch/signal/service.py +++ b/src/dispatch/signal/service.py @@ -766,12 +766,24 @@ def filter_snooze(*, db_session: Session, signal_instance: SignalInstance) -> Si SignalInstance: The filtered signal instance. """ for f in signal_instance.signal.filters: + if not f.mode: + log.warning(f"Signal filter {f.name} has no mode") + continue + if f.mode != SignalFilterMode.active: continue + if not f.action: + log.warning(f"Signal filter {f.name} has no action") + continue + if f.action != SignalFilterAction.snooze: continue + if not f.expiration: + log.warning(f"Signal filter {f.name} has no expiration date") + continue + if f.expiration.replace(tzinfo=timezone.utc) <= datetime.now(timezone.utc): continue