Release v2.0.0-rc11
Pre-release
Pre-release
·
27 commits
to main
since this release
v2.0.0-rc11
🐛 Fix
- Real snapshot no longer blocked by SOUND ONLY placeholder (#48)
Race inEventHistoryStore.async_record_call: the RTC offer push records the call before theincoming_callpush delivers the real snapshot URL. From rc8, the SEELE placeholder was generated immediately on that first record, settingsnapshot_file. The subsequent download of the real Azure snapshot was then short-circuited by the loop's existing-file check, leaving users stuck with the placeholder forever.
Fix: defer placeholder generation toasync_close_call. The placeholder represents "call ended without a snapshot ever being delivered" — that determination can only be made at call end. Voice-only intercoms still get the placeholder; cameras with real snapshots now show the real image.
🧪 Tests
- 4 new regression tests in
tests/test_history.pycovering:- No eager placeholder on offer-only record
- Real snapshot replaces eager record (the exact race)
- Voice-only call gets placeholder at close
- Real snapshot is never overwritten by placeholder
📞 Looking for testers
If you opened or commented on these issues, please update to rc11 and report whether the snapshot now shows correctly:
Open issues NOT addressed in rc11
These need more diagnostic data from users — please reply on the issue thread:
- #50 — Call from HA Android Companion: signaling works server-side, likely card/client-side or carrier NAT issue
- #52.4 — "Home Assistant authentication failed" from card (card-side bug, not integration)
- #53 — Spook ghost entity: hardcoded
state_attr('camera.bticino_intercom_<home>_last_event_snapshot', 'image url')is a custom modification, not from our blueprints. Multi-lock action is already supported viadoorbell_actionable_notification.yaml.
Full Changelog: v2.0.0-rc10...v2.0.0-rc11