fix: address second code review findings for rollover storage

- C3: Make retain_policy global-only by hiding from per-camera settings
  UI and removing from CameraConfig TypeScript type
- C4: Add missing units field to StorageBreakdown TypeScript type to
  match API response
- I3: Add 24-hour grace period for deleted camera recordings in rollover
  mode to prevent data loss if camera is temporarily removed from config
- I6: Deduplicate model_validator warning by using module-level flag to
  prevent N+1 duplicate warnings during config propagation
- S5: Add debug log when skipping time-based expiry in rollover mode and
  clean up redundant if/not-if to if/else
This commit is contained in:
jon
2026-03-01 16:46:16 -06:00
parent dad34a71cc
commit c98885ce20
4 changed files with 25 additions and 5 deletions
@@ -44,6 +44,7 @@ const record: SectionConfigOverrides = {
},
camera: {
restartRequired: [],
hiddenFields: ["retain_policy"],
},
};
+1 -1
View File
@@ -191,7 +191,6 @@ export interface CameraConfig {
record: {
enabled: boolean;
enabled_in_config: boolean;
retain_policy: "time" | "continuous_rollover";
alerts: {
post_capture: number;
pre_capture: number;
@@ -625,4 +624,5 @@ export type StorageBreakdown = {
overwritable: number;
event_retention: number;
protected: number;
units: string;
};