Miscellaneous Fixes (0.17 beta) (#21474)

* disable modal on dropdown menu in explore

* add another example case for when classification overrides a sub label

* update ollama docs link

* Improve handling of automatic playback for recordings

* Improve ollama documentation

* Don't fall out when all recording segments exist

* clarify coral docs

* improve initial scroll to active item in detail stream

* i18n fixes

* remove console warning

* detail stream scrolling fixes for HA/iOS

* Improve usability of GenAI summary dialog and make clicking on the description directly open it

* Review card too

* Use empty card with dynamic text for review based on the user's config

---------

Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
This commit is contained in:
Josh Hawkins
2025-12-31 05:48:56 -07:00
committed by GitHub
co-authored by Nicolas Mowen
parent fb9604fbcc
commit e0d6365f62
15 changed files with 172 additions and 51 deletions
+22 -7
View File
@@ -66,7 +66,10 @@ import {
import { CameraNameLabel } from "@/components/camera/FriendlyNameLabel";
import { useAllowedCameras } from "@/hooks/use-allowed-cameras";
import { DetailStreamProvider } from "@/context/detail-stream-context";
import { GenAISummaryDialog } from "@/components/overlay/chip/GenAISummaryChip";
import {
GenAISummaryDialog,
GenAISummaryChip,
} from "@/components/overlay/chip/GenAISummaryChip";
const DATA_REFRESH_TIME = 600000; // 10 minutes
@@ -309,10 +312,18 @@ export function RecordingView({
currentTimeRange.after <= currentTime &&
currentTimeRange.before >= currentTime
) {
mainControllerRef.current?.seekToTimestamp(
currentTime,
mainControllerRef.current.isPlaying(),
);
if (mainControllerRef.current != undefined) {
let shouldPlayback = true;
if (timelineType == "detail") {
shouldPlayback = mainControllerRef.current.isPlaying();
}
mainControllerRef.current.seekToTimestamp(
currentTime,
shouldPlayback,
);
}
} else {
updateSelectedSegment(currentTime, true);
}
@@ -731,7 +742,9 @@ export function RecordingView({
<GenAISummaryDialog
review={activeReviewItem}
onOpen={onAnalysisOpen}
/>
>
<GenAISummaryChip review={activeReviewItem} />
</GenAISummaryDialog>
)}
<DynamicVideoPlayer
@@ -989,7 +1002,9 @@ function Timeline({
)}
>
{isMobile && timelineType == "timeline" && (
<GenAISummaryDialog review={activeReviewItem} onOpen={onAnalysisOpen} />
<GenAISummaryDialog review={activeReviewItem} onOpen={onAnalysisOpen}>
<GenAISummaryChip review={activeReviewItem} />
</GenAISummaryDialog>
)}
{timelineType != "detail" && (