Fix skip notice deleting segments causing issues

Fixes #1105
This commit is contained in:
Ajay
2021-12-22 12:13:31 -05:00
parent d42862541b
commit 8ade66d7b3
3 changed files with 7 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
import * as React from "react"; import * as React from "react";
import * as CompileConfig from "../../config.json"; import * as CompileConfig from "../../config.json";
import Config from "../config" import Config from "../config"
import { Category, ContentContainer, CategoryActionType, SponsorHideType, SponsorTime, NoticeVisbilityMode, ActionType } from "../types"; import { Category, ContentContainer, CategoryActionType, SponsorHideType, SponsorTime, NoticeVisbilityMode, ActionType, SponsorSourceType, SegmentUUID } from "../types";
import NoticeComponent from "./NoticeComponent"; import NoticeComponent from "./NoticeComponent";
import NoticeTextSelectionComponent from "./NoticeTextSectionComponent"; import NoticeTextSelectionComponent from "./NoticeTextSectionComponent";
import SubmissionNotice from "../render/SubmissionNotice"; import SubmissionNotice from "../render/SubmissionNotice";
@@ -534,10 +534,10 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
const sponsorVideoID = this.props.contentContainer().sponsorVideoID; const sponsorVideoID = this.props.contentContainer().sponsorVideoID;
const sponsorTimesSubmitting : SponsorTime = { const sponsorTimesSubmitting : SponsorTime = {
segment: this.segments[index].segment, segment: this.segments[index].segment,
UUID: null, UUID: utils.generateUserID() as SegmentUUID,
category: this.segments[index].category, category: this.segments[index].category,
actionType: this.segments[index].actionType, actionType: this.segments[index].actionType,
source: 2 source: SponsorSourceType.Local
}; };
const segmentTimes = Config.config.segmentTimes.get(sponsorVideoID) || []; const segmentTimes = Config.config.segmentTimes.get(sponsorVideoID) || [];

View File

@@ -123,7 +123,7 @@ class SubmissionNoticeComponent extends React.Component<SubmissionNoticeProps, S
const timeRef = React.createRef<SponsorTimeEditComponent>(); const timeRef = React.createRef<SponsorTimeEditComponent>();
elements.push( elements.push(
<SponsorTimeEditComponent key={i} <SponsorTimeEditComponent key={sponsorTimes[i].UUID}
idSuffix={this.state.idSuffix + i} idSuffix={this.state.idSuffix + i}
index={i} index={i}
contentContainer={this.props.contentContainer} contentContainer={this.props.contentContainer}

View File

@@ -1448,7 +1448,7 @@ function startOrEndTimingNewSegment() {
if (!isSegmentCreationInProgress()) { if (!isSegmentCreationInProgress()) {
sponsorTimesSubmitting.push({ sponsorTimesSubmitting.push({
segment: [roundedTime], segment: [roundedTime],
UUID: null, UUID: utils.generateUserID() as SegmentUUID,
category: Config.config.defaultCategory, category: Config.config.defaultCategory,
actionType: ActionType.Skip, actionType: ActionType.Skip,
source: SponsorSourceType.Local source: SponsorSourceType.Local
@@ -1654,7 +1654,7 @@ function vote(type: number, UUID: SegmentUUID, category?: Category, skipNotice?:
const sponsorIndex = utils.getSponsorIndexFromUUID(sponsorTimes, UUID); const sponsorIndex = utils.getSponsorIndexFromUUID(sponsorTimes, UUID);
// Don't vote for preview sponsors // Don't vote for preview sponsors
if (sponsorIndex == -1 || sponsorTimes[sponsorIndex].UUID === null) return; if (sponsorIndex == -1 || sponsorTimes[sponsorIndex].source === SponsorSourceType.Local) return;
// See if the local time saved count and skip count should be saved // See if the local time saved count and skip count should be saved
if (type === 0 && sponsorSkipped[sponsorIndex] || type === 1 && !sponsorSkipped[sponsorIndex]) { if (type === 0 && sponsorSkipped[sponsorIndex] || type === 1 && !sponsorSkipped[sponsorIndex]) {
@@ -1784,6 +1784,7 @@ async function sendSubmitMessage() {
if (recievedNewSegments?.length === newSegments.length) { if (recievedNewSegments?.length === newSegments.length) {
for (let i = 0; i < recievedNewSegments.length; i++) { for (let i = 0; i < recievedNewSegments.length; i++) {
newSegments[i].UUID = recievedNewSegments[i].UUID; newSegments[i].UUID = recievedNewSegments[i].UUID;
newSegments[i].source = SponsorSourceType.Server;
} }
} }
} catch(e) {} // eslint-disable-line no-empty } catch(e) {} // eslint-disable-line no-empty