Commit Graph
71 Commits
Author SHA1 Message Date
Dermot Duffy 497e6e88a0 perf: Variety of small type and performance fixes (#2367) 2026-02-22 15:02:14 -08:00
Dermot Duffy 46868ce08e perf: Various rendering performance improvements (#2359) 2026-02-19 21:25:33 -08:00
Dermot Duffy 529500ed94 refactor: Migrate config schema from Zod v3 to Zod v4 (#2357) 2026-02-18 21:47:43 -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 21f9469784 fix: Expose gallery and media views as media type agnostic (#2335) 2026-02-08 08:04:11 -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 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 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 252ead62dc feat: Allow per-camera customization of grid width (#2273)
- Closes #2271
2025-12-09 22:18:56 -08:00
Dermot Duffy 3279481b0e feat: Add festive visual effects (#2252)
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Introduces an effects system (fireworks, ghost, hearts, shamrocks,
snow), a new `effect` action, and optional date-based loading effects,
integrated into the card with docs, schema, editor, and tests.
> 
> - **Effects System**:
> - Add `EffectsController` and `advanced-camera-card-effects` host with
lazy-loaded effect modules (`fireworks`, `ghost`, `hearts`, `shamrocks`,
`snow`).
> - New base effect component with fade-in/out; SCSS and z-index
updates.
> - **Actions**:
> - New custom action `advanced_camera_card_action: effect` with
`effect_action` (`start`|`stop`|`toggle`).
>   - Wire into `ActionFactory` and add `EffectAction` executor.
> - **Card Integration**:
> - Mount effects host in `advanced-camera-card` and expose
`getEffectsControllerAPI()` via `CardController`.
> - Loading component can trigger date-based effects (e.g., New Year
fireworks) when enabled.
> - **Configuration & Editor**:
> - Add `performance.features.card_loading_effects` (default `true`)
alongside `card_loading_indicator`.
> - Update schemas, defaults, low-performance profile (disables
effects), and editor toggles.
> - **Docs & Examples**:
>   - Document `effect` action parameters and add menu example.
>   - Update performance docs with new option.
> - **Localization & Tests**:
>   - Update i18n strings for new performance option.
> - Add comprehensive tests for effects controller, action, factory,
config defaults/profiles, and utilities.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
cffd4304fe3bd22340316f9cec53e341379b1756. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-12-06 18:21:44 -08:00
Dermot Duffy 993e288c14 fix: Preserve parsers/matches on folder navigation (#2249)
- Closes #2231
2025-11-26 10:00:34 -08:00
Dermot Duffy 1f6a4ddce2 fix: Fix folder media in timeline when camera is not timeline supported (#2246)
- Closes: #2205
2025-11-24 14:33:06 -08:00
Dermot Duffy 7edaac079e fix: Timeline should should show folder media even without camera support (#2216)
- Closes #2205
2025-10-13 21:15:32 -07:00
Dermot Duffy 78dee9194f feat: Add timeline support for folder media (#2197)
- Closes #2106
2025-10-04 15:47:39 -07:00
Dermot Duffy 4d4b64232a feat: Add support for rotating camera streams (#2149)
* Closes #1307
2025-08-23 17:30:53 -07:00
Dermot Duffy 69ae80d6f1 fix: fit parameter should apply to entire container when aspect_ratio is not set (#2126)
* Closes #2125
2025-07-15 21:10:03 -07:00
Dermot Duffy c3e7cef9cf fix: Camera aspect-ratio should always apply (#2114)
- Closes #2073
2025-07-13 14:56:03 -07:00
Dermot Duffy 2b92f84665 perf: Improve performance of the carousel auto-height functionality (#2094) 2025-06-08 15:05:40 -07:00
Dermot Duffy 956a2e523c feat: Add folder view to view folder media (#2077)
- Closes: #2068

Note: Renames existing `folder` view to `folders` [experimental
functionality]
2025-05-31 17:13:39 -07:00
Dermot Duffy c077f8bf70 feat: Add folder title matching and parsing (#2067)
This is a breaking change for users of the [experimental 'folder'
functionality](https://card.camera/#/configuration/folders).

Related: #1748
2025-05-27 07:50:51 -07:00
Dermot Duffy c342c5d529 fix: Fix thumbnail rendering issues (#2058)
- Closes #2054
2025-05-22 21:21:04 -07:00
Dermot Duffy c6a4c8aea2 feat: Implement basic general folder support (#2051)
- Related: #1748
2025-05-21 19:59:21 -07:00
Dermot Duffy 168b9b0c90 fix: Fix issues with lazy loading and overridden configuration (#2012)
- Closes #2011
2025-04-15 17:10:18 +01:00
Dermot Duffy a5ffd51728 fix: Lazy unloading should not leave dangling connections (#2004)
- Closes #1992
2025-04-12 10:48:37 +01:00
Dermot Duffy b5eee5878a feat: Add out of the box support for Reolink PTZ (#1982)
- Closes: #1964
2025-03-26 21:26:02 -07:00
Dermot Duffy f140f6a653 feat: Allow control of where selected item is in grid (#1979)
- Closes: #1946
2025-03-23 14:49:47 -07:00
Dermot Duffy d6225fefda refactor: Break apart monolithic configuration schema (#1977)
[skip ci]
2025-03-22 15:06:11 -07:00
Dermot Duffy 75ae7720d3 fix: Confirmations should apply to all actions (#1959)
This also refactors how generic HA actions are handled, and improves
typing of actions.


[skip ci]
2025-03-15 14:32:48 -07:00
Dermot Duffy a79ffa6edc refactor: Retire the use of unmaintained custom-card-helpers (#1956)
- Closes #1295
2025-03-09 16:02:33 -07:00
Dermot Duffy 3b77b11196 fix: Increase reliability of media auto actions (e.g. play) (#1934)
Refactors media player handling entirely to make the code more
consistent and less boilerplate. Add testing for media player actions.

- Closes #1921
- Closes #1916
2025-03-03 20:59:01 -08:00
Dermot Duffy 0432eea4b8 feat: Add UI support for PTZ presets (#1920)
- Closes #1889

Whilst a simple change theoretically, the card has such a collection of
surfaces that can overlap other surfaces, it's challenging to get this
to work right! There's a real chance this will have broken something
z-index related (e.g. X overlaps Y when it should not), or (for related
reasons) broken curver corners on the card.
2025-02-27 20:22:12 -08:00
Dermot Duffy c66c3ec919 feat: Add control/output of selected camera via an entity (#1895)
- Closes #1871
2025-02-17 13:33:10 -08:00
Dermot Duffy cc376a8be1 feat: Rename the card to advanced-camera-card (#1873)
Whilst the Frigate support in this card is the best among camera
engines, the name incorrectly suggests that Frigate is a requirement.
Instead, to broaden the appeal, change to more camera agnostic name.
This does not suggest any change in priority, role or support for
Frigate.

This change is likely to be bug prone, due to the size of the rename --
the code contains 1500+ references to "Frigate" most of which make sense
to rename, some which do not, all of which needed human assessment.

- Closes #1298


BREAKING CHANGE: References to `frigate-card` in all kinds of
configuration need to be updated to `advanced-camera-card`. An automated
config upgrade should take care of the majority of usecases (click `Edit
-> Upgrade -> Save`), though may not be perfect.
2025-02-06 19:32:32 -08:00
Dermot Duffy 3e8e688b36 feat: Add basic fullscreen support for iPhone (#1857)
- Closes #1444
2025-01-27 07:23:07 -08:00
Dermot Duffy faa5ec3eec refactor: Refactor internal error / info message components (#1842) 2025-01-20 15:26:53 -08:00
Dermot Duffy 3003f82170 fix: Microphone should still work after a view change (#1835)
- Closes #1810
2025-01-18 14:54:40 -08:00
Dermot Duffy addf6edb30 fix: Don't hide PTZ control menu button unnecessarily (#1823)
- Closes: #1819
2025-01-11 15:30:41 -08:00
Dermot Duffy 278560b5ac feat: Add richer card theme support (#1809) 2025-01-07 19:54:13 -08:00
Dermot Duffy 9d812af9f4 fix: Use HA style and coloring for all icons (#1790) 2024-12-23 15:22:27 -08:00
Dermot Duffy dab9ff3045 fix: Substantially reduce cases where errors block whole card (#1764) 2024-12-15 20:39:18 -08:00
Dermot Duffy 241719c14e fix: Column sizing may calculate incorrectly in grid mode (#1695) 2024-11-27 12:45:42 -08:00
Dermot Duffy f473cae6b5 refactor: Split live.ts into multiple files (#1644) 2024-10-13 20:00:38 -07:00
Dermot Duffy 7895de96d2 fix: Rationalize custom icons to avoid duplication (#1639) 2024-10-13 16:24:51 -07:00
Dermot Duffy 0ec9afbad2 feat: Add permanent menu items for hidden menus (#1636) 2024-10-13 11:05:33 -07:00
Dermot Duffy 323d1ff7c4 fix: Treat a un/selection of grid items as selected for auto media actions (#1623)
This is a slight behavioral change vs earlier v6 betas, but makes the media actions less surprising. This also allows for automated unmuting in a grid when a camera is selected, without having _every_ camera automatically unmuted.
2024-10-06 16:32:16 -07:00
Dermot Duffy b5c2f00128 fix: Do not show the cameras menu with <= 1 camera (#1616) 2024-10-04 18:41:02 -07:00