Dermot Duffy
3f0d2ef14d
chore: Add worktree deployment support ( #2491 )
2026-06-30 17:45:13 -07:00
Dermot Duffy
f21a46297a
fix: Improve visual styling for transmitting/triggering ( #2490 )
2026-06-30 17:45:13 -07:00
Dermot Duffy
090138a01e
fix: Lock the grid when the UI is locked ( #2489 )
2026-06-30 17:45:13 -07:00
Dermot Duffy
881ba51e9f
feat: Escape ends calls ( #2488 )
2026-06-30 17:45:13 -07:00
Dermot Duffy
9b750953ae
fix: Lock thumbnails and timeline when UX is locked for calls ( #2487 )
2026-06-30 17:45:13 -07:00
Dermot Duffy
abcba884e5
feat: Add 'call' support to improve 2-way audio experience ( #2486 )
...
Draws significant inspiration (and direct styling) from
https://github.com/dermotduffy/advanced-camera-card/pull/2447 . Thank
you @Maudfer !
BREAKING CHANGE:
The microphone condition previously bundled two unrelated signals —
whether a two-way-audio session was connected and whether the microphone
was muted. Connection state is now its own dedicated call condition, and
microphone is reserved purely for mute state. Configs are upgraded
automatically (the card rewrites affected conditions under overrides,
elements, and automations). If you maintain config by hand, convert as
follows:
If you only used connected:
# Before
```yaml
condition: microphone
connected: true
```
# After
```yaml
condition: call
call: true
```
If you used both connected and muted — they must be split into two
conditions, since they no longer live together:
# Before
```yaml
condition: microphone
connected: true
muted: false
```
# After
```yaml
condition: and
conditions:
- condition: call
call: true
- condition: microphone
muted: false
```
2026-06-30 17:45:13 -07:00
Dermot Duffy
be7e7d79dc
feat: Add UI optional UI locking when microphone is hot ( #2484 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
9a763db1f3
fix: Avoid go2rtc renegotiation on camera selection change ( #2483 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
a68b665f03
feat: Add live.microphone.auto_mute / auto_unmute ( #2482 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
9eb503deff
feat: Add casting capability to user_agent condition ( #2480 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
261a7e1a92
feat: Auto-resolve Frigate client_id from camera entity ( #2475 )
...
Credit goes to @Eduardo-Jaramillo for the inspiration and contribution
of https://github.com/dermotduffy/advanced-camera-card/pull/2474 .
2026-06-30 17:45:12 -07:00
Dermot Duffy
9d088d7bcb
fix: Add support for synchronously reseting go2rtc sessions ( #2478 )
...
This is part 1 of
https://docs.google.com/document/d/1zbHYWqulEUaNLeX0fK3rfIiLugMlCQo_SFg3hcgiRRw/edit?tab=t.0
.
There is a significant chance this will improve issues people have been
experiencing with poorly designed doorbells that can only open a single
stream at a time.
2026-06-30 17:45:12 -07:00
Dermot Duffy
31d0c9322f
fix: Always respect the returned MIME type ( #2473 )
...
- Closes #2449
2026-06-30 17:45:12 -07:00
Dermot Duffy
591f466b92
fix: Render sub-labels for Frigate reviews ( #2468 )
...
- Closes : #2438
2026-06-30 17:45:12 -07:00
Dermot Duffy
056a038e81
fix: Improve folder icon rendering ( #2467 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
d8ad347dfa
fix: Preload should reliably preload initial load ( #2466 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
bc366626f1
refactor: Refactor media loading manager for improved robustness ( #2464 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
47bcce93d3
feat: Add hardened error handling and retries ( #2451 )
...
- Closes #1830
- Closes #2099
2026-06-30 17:45:12 -07:00
Dermot Duffy
4bc787e2b7
chore: Compress AI instructions ( #2434 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
eb72a97fb7
fix: Various tiny fixes/improvements ( #2433 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
31f13f40cf
fix: Remove unused localization keys ( #2432 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
a1202e8b8f
fix: Improve en strings ( #2431 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
e2cceb55c8
feat: Updated screensaver image mode fetches random images ( #2430 )
...
BREAKING CHANGE: The `screensaver` image mode now shows a random image
from [picsum.photos](picsum.photos) instead of the embedded default
image. If you previously set `image.mode: screensaver`, change it to
`image.mode: default` to restore the previous behavior.
2026-06-30 17:45:12 -07:00
Dermot Duffy
9535bb8aa0
fix: Don't detect audio from stale webrtc connection ( #2429 )
...
- Closes : #2417
2026-06-30 17:45:12 -07:00
Dermot Duffy
55732ead1d
fix: Don't allow gallery to scroll horizontally ( #2428 )
...
- Closes : #2424
2026-06-30 17:45:12 -07:00
Dermot Duffy
1cd5520154
feat: Add proxying support for images ( #2427 )
...
- Closes #2418
2026-06-30 17:45:12 -07:00
Dermot Duffy
9384785d37
test: Further improve test coverage ( #2422 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
050c2f7c1a
test: Add tests for localization ( #2421 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
62fe65556e
test: Expand testing to cover 100% of camera manager files ( #2420 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
abf1d8defe
test: Add full testing for the frigate engine ( #2419 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
415a3e0886
test: Improve test coverage of various camera engine files ( #2415 )
2026-06-30 17:45:12 -07:00
Dermot Duffy
16ca8d79d2
fix: Log problems to the console as warnings (once) ( #2414 )
2026-06-30 17:45:12 -07:00
Dermot Duffy and Yannik Lieblinger
3f5a35c7f6
fix: prevent infinite resize loop in media grid Masonry layout ( #2413 )
...
- Credit to @lieblinger.
---------
Co-authored-by: Yannik Lieblinger <yannik@lieblinger.de >
2026-06-30 17:44:49 -07:00
Dermot Duffy
ab683df5e8
feat: add problem detection framework for common problems ( #2412 )
...
Introduces a ProblemManager that detects and surfaces actionable issues
(stale config, legacy frigate-hass-card resources, slow/failed streams)
via status bar indicators and notification popups with fix actions.
2026-03-13 20:00:59 -07:00
Dermot Duffy
95faddd9a0
fix: Add support for Reolink number based zooming ( #2408 )
...
- Closes #2034
2026-03-13 19:55:27 -07:00
Dermot Duffy
ebe6b2f8c6
fix: Status actions should not be clickable when status bar is hidden ( #2406 )
2026-03-08 21:00:54 -07:00
Dermot Duffy
ae90b1ec1f
chore: Merge main changes into dev (no-op) ( #2405 )
2026-03-08 20:47:06 -07:00
Dermot Duffy
ae8b1134c9
fix: Don't show presets menu when there's a single preset ( #2404 )
...
- Closes : #2398
2026-03-08 12:55:01 -07:00
Dermot Duffy
6c46e36a87
docs: Improve doc interlinking ( #2402 )
2026-03-07 21:35:27 -08:00
Dermot Duffy
24c6b98948
feat: Allow user generated notifications ( #2401 )
2026-03-07 20:47:24 -08:00
Dermot Duffy
1d81e03b04
fix: Should faithfully use WebRTC card PTZ format data_* ( #2396 )
...
- Closes : #2385
BREAKING CHANGE: Requires configuration change (automatic upgrade
offered) to move from (e.g.) `data_left_stop` to `data_end_left`
2026-03-07 10:00:39 -08:00
Dermot Duffy
8223cae501
fix: Button style issue introduced by HA 2026.3 ( #2392 ) ( #2394 )
...
- Closes : #2390
2026-03-06 07:39:32 -08:00
Dermot Duffy
d5b40254b4
chore: Minor formatting and AI instructions update ( #2393 )
2026-03-06 07:28:37 -08:00
Dermot Duffy
c398562d40
feat: Add PIP (Picture-in-Picture) support ( #2391 )
...
- Closes : #1657
2026-03-05 20:19:20 -08:00
Dermot Duffy
ecc8ecfd7e
fix: Change the not condition to exactly match the HA not condition ( #2387 )
...
BREAKING CHANGE: Changes the behavior of the `not` condition when there
is more than one condition present. Users who desire the previous
behavior should wrap their conditions in an `and` first.
- Closes : #2383
2026-03-01 20:39:03 -08:00
Dermot Duffy
526acf7688
docs: Various small documentation improvements ( #2386 )
2026-03-01 20:23:59 -08:00
Dermot Duffy
db0a747729
docs: Various minor doc improvements ( #2384 )
2026-03-01 14:49:01 -08:00
Dermot Duffy
37004f91fa
chore: Improve AI instructions ( #2381 )
2026-02-28 21:16:12 -08:00
Dermot Duffy
9ac7fa3383
docs: Improve clarity of labels and zones parameters ( #2380 )
2026-02-28 20:55:28 -08:00
Dermot Duffy
5dc5e45631
chore: Update vscode task to kill previous instance ( #2379 )
2026-02-28 20:45:28 -08:00
Dermot Duffy
ea86ad0016
feat: Implement support for gesture-based PTZ control ( #2378 )
...
- Closes : #1839
2026-02-28 20:36:53 -08:00
Dermot Duffy
40ad3b4460
fix: Issue with height not adjusting (downwards) to aspect ratio ( #2375 )
...
- Closes #2341
2026-02-23 19:54:43 -08:00
Dermot Duffy
753cf02d90
docs: Add special case warning for fullscreen condition ( #2373 )
2026-02-23 18:59:41 -08:00
Dermot Duffy
d5e1e02328
fix: Add editor support for go2rtc metadata fetch timeout ( #2372 )
2026-02-22 19:39:55 -08:00
Dermot Duffy
dd25e191ce
fix: Propagate review filtered status ( #2370 )
2026-02-22 15:50:20 -08:00
Dermot Duffy
191b5a289a
chore: Create initial Claude permissions ( #2369 )
2026-02-22 15:13:59 -08:00
Dermot Duffy
497e6e88a0
perf: Variety of small type and performance fixes ( #2367 )
2026-02-22 15:02:14 -08:00
dermotduffy
0f8c758d38
chore: Add AI instructions.
2026-02-21 20:39:15 -08:00
Dermot Duffy
87a85ce8d9
fix: Add missing capabilities to editor ( #2366 )
2026-02-21 19:58:15 -08:00
Dermot Duffy
5e867a8334
docs: Include reviews in examples update ( #2365 )
2026-02-21 16:26:02 -08:00
dermotduffy
615209fbde
Merge branch 'main' into dev
2026-02-21 11:28:58 -08:00
Dermot Duffy
504b027854
fix: Fix off-by-one thumbnail for folder media ( #2364 )
...
- Closes:
https://github.com/dermotduffy/advanced-camera-card/issues/2326
2026-02-21 11:17:07 -08:00
Dermot Duffy
df3614f793
fix: Various editor / diagnostic improvements ( #2363 )
...
- Closes : #2360
- Closes : #2328
2026-02-21 09:31:10 -08:00
Dermot Duffy
6d5a76ac0a
feat: Add documentation links from editor ( #2362 )
2026-02-20 10:07:38 -08:00
Dermot Duffy
46868ce08e
perf: Various rendering performance improvements ( #2359 )
2026-02-19 21:25:33 -08:00
Dermot Duffy
0a67df9a25
refactor: Convert protected methods to private ( #2358 )
2026-02-19 20:47:59 -08:00
Dermot Duffy
529500ed94
refactor: Migrate config schema from Zod v3 to Zod v4 ( #2357 )
2026-02-18 21:47:43 -08:00
Dermot Duffy
a15376602f
feat: Allow 2-way audio detection to be skipped and timed ( #2355 )
...
- For #2313
2026-02-16 19:47:56 -08:00
dermotduffy
f34c7e8ee1
Merge branch 'main' into dev
2026-02-16 15:01:17 -08:00
Dermot Duffy
d90b062719
chore: Add support for next release branch ( #2354 )
2026-02-16 15:00:49 -08:00
Dermot Duffy
3ecd7eba3b
chore: Add support for next release branch ( #2354 )
2026-02-16 14:58:19 -08:00
Dermot Duffy
7dbf058ab2
fix: Seek to the start of review media ( #2353 )
2026-02-16 14:52:11 -08:00
Dermot Duffy
282983cbba
fix: Fix styling and severity in status bar ( #2352 )
2026-02-16 13:57:45 -08:00
Dermot Duffy
47880e4306
feat: Add ability to untrigger after fixed number of seconds ( #2350 )
...
- Related: #2342
BREAKING CHANGE: Renames: `untrigger_seconds` to
`untrigger_delay_seconds`
2026-02-16 12:25:56 -08:00
dermotduffy
584521c78e
Merge branch 'main' into dev
2026-02-15 19:28:38 -08:00
Dermot Duffy
b1467dc4bd
fix: Improve state handling to avoid stuck triggered cameras ( #2348 )
...
- Related:
https://github.com/dermotduffy/advanced-camera-card/issues/2342
2026-02-15 19:26:56 -08:00
Dermot Duffy
c297bf801a
test: Clarify testing configuration ( #2347 )
2026-02-14 14:55:17 -08:00
dermotduffy
ef1766e604
Merge branch 'main' into dev
2026-02-14 13:35:05 -08:00
Dermot Duffy
be61d7fa24
fix: Adjust media size to take maximum available space ( #2346 )
...
- Closes #2109
2026-02-14 13:33:05 -08:00
Dermot Duffy
93f1f08e51
feat: Make cameras optional ( #2343 )
2026-02-13 20:21:05 -08:00
Dermot Duffy
0b7917ef70
fix: Increase go2rtc metadata fetch timeout ( #2336 )
...
- Related: #2313
2026-02-08 08:39:15 -08:00
Dermot Duffy
21f9469784
fix: Expose gallery and media views as media type agnostic ( #2335 )
2026-02-08 08:04:11 -08:00
dermotduffy
0a099b95f7
Merge branch 'main' into dev
2026-02-07 21:59:50 -08:00
Dermot Duffy
49073fee48
fix: Update components and styles to work with >= HA 2026.2 ( #2333 )
...
Caution: Requires HA >= `2026.2`
- Closes #2329
- Closes #2332
2026-02-07 20:32:05 -08:00
Dermot Duffy
045d15d5ce
feat: Escape should dismiss overlay messages ( #2324 )
2026-01-24 21:39:21 -08:00
Dermot Duffy
c03ddd9a13
feat: Add severity media filter ( #2323 )
2026-01-24 21:25:10 -08:00
Dermot Duffy
f4e905a7fb
fix: Improve review media filtering ( #2322 )
2026-01-24 16:22:12 -08:00
Dermot Duffy
fc32727860
feat: Add support for Frigate reviews / detections [initial PR] ( #2315 )
...
- Add support for Frigate reviews / detections.
- Add support for GenAI metadata.
- Significant internal refactor to more flexible "UnifiedQuery" to allow
mixing cameras with simple metadata and review metadata (e.g. a timeline
view of a Frigate camera with reviews, and a Reolink camera with simple
metadata).
- Add support for folder media as camera media.
There are a few more PRs to commit prior to this going live, but
commiting this for now due to the scale of the change.
BREAKING CHANGE: `media_type` and `events_type` are retired under
`live`, `viewer` and `timeline` configuration sections, instead media
type is associated (once) with the camera under `media`.
2026-01-19 13:32:50 -08:00
Dermot Duffy
de42a1652f
feat: Add support for overriding card border radius ( #2298 )
...
- Closes #2287
[skip ci]
2025-12-20 17:00:04 -08:00
Dermot Duffy
d17ecd6c12
fix: Small (rare) bug in Frigate PTZ identification capability ( #2296 )
...
[skip ci]
2025-12-20 14:52:07 -08:00
Dermot Duffy
b06e0aea4d
feat: Add de localization ( #2295 )
...
All credit for strings go to @Matthias84 . This PR replaces #2283 .
[skip ci]
2025-12-20 14:28:12 -08:00
Dermot Duffy
b75513789b
refactor: Remove empty translation strings ( #2294 )
2025-12-20 13:57:52 -08:00
Dermot Duffy
1e821f09c6
fix: Improve 2-way audio detection ( #2293 )
...
- For Frigate cameras, you must be running at least [integration
v5.12.0](https://github.com/blakeblackshear/frigate-hass-integration/releases/tag/v5.12.0 ).
- Closes : #2191
Includes a significant refactor of cameras, and the introduction of a
`2-way-audio` capability that is dynamically fetched from `go2rtc`. One
gotcha is if you previously had a substream with 2-way audio, you may
need to modify
```yaml
- camera_entity: camera.foo
capabilities:
disable_except:
- substream
```
... to ...
```yaml
- camera_entity: camera.foo
capabilities:
disable_except:
- substream
- 2-way-audio
```
2025-12-20 13:06:09 -08:00
Dermot Duffy
588ed6c98a
fix: Improve audio channel detection for WebRTC ( #2280 )
...
- Related: #2191
2025-12-11 05:48:43 -08:00
Dermot Duffy
f64690335b
test: Improve timezone resilience / cleanliness of tests ( #2279 )
...
- Related: https://github.com/dermotduffy/advanced-camera-card/pull/2278
- Reported by @0x464e
2025-12-11 05:33:48 -08:00
Dermot Duffy
639c5c3e4b
fix: Fix z-index rendering issue when card is expanded ( #2274 )
...
- Closes #2155
2025-12-09 23:45:07 -08:00
Dermot Duffy
252ead62dc
feat: Allow per-camera customization of grid width ( #2273 )
...
- Closes #2271
2025-12-09 22:18:56 -08:00
Dermot Duffy
c9c7e93e19
fix: Ignore URL actions for other card IDs ( #2272 )
...
- Closes #2190
2025-12-09 20:22:22 -08:00
Dermot Duffy
dacde91f3a
fix: Experimental fix for pan issues on slower devices ( #2270 )
...
- Related: #2223
2025-12-09 07:23:18 -08:00
Dermot Duffy
f41454580c
feat: Add support for overriding button border radius styling ( #2269 )
...
- Closes #2229
2025-12-08 22:59:41 -08:00