From ef70e710511dfd977f6d53ef8d34b1ff748e70ee Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Fri, 1 Oct 2021 18:07:15 -0400 Subject: [PATCH] Fix segments not appearing when loaded early --- src/content.ts | 8 +++++++- src/types.ts | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/content.ts b/src/content.ts index 6d1dab93..1762eb54 100644 --- a/src/content.ts +++ b/src/content.ts @@ -386,6 +386,12 @@ function createPreviewBar(): void { function durationChangeListener(): void { updateAdFlag(); updatePreviewBar(); + + sponsorTimes = sponsorTimes.filter(segmentDurationFilter); +} + +function segmentDurationFilter(segment: SponsorTime): boolean { + return segment.videoDuration === 0 || video.duration === 0 || Math.abs(video.duration - segment.videoDuration) < 2; } function cancelSponsorSchedule(): void { @@ -669,7 +675,7 @@ async function sponsorsLookup(id: string, keepOldSubmissions = true) { const recievedSegments: SponsorTime[] = JSON.parse(response.responseText) ?.filter((video) => video.videoID === id) ?.map((video) => video.segments)[0] - ?.filter((segment) => segment.videoDuration === 0 || Math.abs(video.duration - segment.videoDuration) < 2); + ?.filter(segmentDurationFilter); if (!recievedSegments || !recievedSegments.length) { // return if no video found retryFetch(); diff --git a/src/types.ts b/src/types.ts index cb5cc0e2..c60e52bb 100644 --- a/src/types.ts +++ b/src/types.ts @@ -80,6 +80,7 @@ export interface SponsorTime { hidden?: SponsorHideType; source?: SponsorSourceType; + videoDuration?: number; } export interface ScheduledTime extends SponsorTime {