Handle FCM events without ding IDs - #540
danielcolquitt wants to merge 1 commit into
Conversation
|
Brief follow-up after a couple of weeks: this fix remains in production use and ID-less FCM events are being handled correctly without the repeated callback failures. It has also since been referenced from Home Assistant Core issue #177118. Happy to adjust the fallback-ID approach if preferred. |
|
Seeing this too on Home Assistant Container 2026.9.1 with ring-doorbell 0.9.14 and Python 3.14. Same +1 for this fix. Keeping those notifications flowing through to HA would be useful so motion/doorbell events don't get dropped. I haven't tested the patch yet. |
|
Another confirmation from Home Assistant 2026.9.1 with What happened here on 2026-09-11: three notifications from the previous morning were still sitting unacked in the FCM queue. They were replayed on every connect, Two things that may save someone else time:
That second point is the reason the crash loop and the loss of delivery need separate fixes today. This PR removes the first one, which is the one that matters: it would have turned a day and a half of silence into a handful of ignored notifications. |
Summary
event.ding.id.created_at.KeyErrorcallback failures from shutting down real-time events for all devices.Fixes #537
Testing
uv run pre-commit run --files ring_doorbell/listen/eventlistener.py tests/test_listen.py --verboseuv run pytest tests/ --force-enable-socket --cov=ring_doorbell --cov-report=xml --cov-report=term-missing --import-mode importlib