From be441a314f5ab3269f1b819969f6d0aade39c165 Mon Sep 17 00:00:00 2001 From: Ajay Date: Thu, 6 Jan 2022 14:54:27 -0500 Subject: [PATCH] Fix locked segment filtering for highlight and full video --- src/routes/getSkipSegments.ts | 4 ++++ src/types/segments.model.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/src/routes/getSkipSegments.ts b/src/routes/getSkipSegments.ts index 3001414..93c68e7 100644 --- a/src/routes/getSkipSegments.ts +++ b/src/routes/getSkipSegments.ts @@ -183,6 +183,10 @@ function getWeightedRandomChoice(choices: T[], amountOf const splitArray = partition(choices, predicate); filteredChoices = splitArray[0]; forceIncludedChoices = splitArray[1]; + + if (filteredChoices.some((value) => value.locked)) { + filteredChoices = filteredChoices.filter((value) => value.locked); + } } //assign a weight to each choice diff --git a/src/types/segments.model.ts b/src/types/segments.model.ts index 45822c3..b3c4356 100644 --- a/src/types/segments.model.ts +++ b/src/types/segments.model.ts @@ -85,6 +85,7 @@ export interface OverlappingSegmentGroup { export interface VotableObject { votes: number; reputation: number; + locked: boolean; } export interface VotableObjectWithWeight extends VotableObject {