mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-14 23:47:04 +03:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be98dc7b73 | ||
|
|
3174eda29a | ||
|
|
6a4bb50006 | ||
|
|
2823e51b1d | ||
|
|
19efcb5a98 | ||
|
|
5c7e3b5cb3 | ||
|
|
c3cbc44d28 | ||
|
|
6965279d36 | ||
|
|
eb61ad76c1 | ||
|
|
7a1fa601da | ||
|
|
945ac5aad3 |
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "__MSG_fullName__",
|
"name": "__MSG_fullName__",
|
||||||
"short_name": "SponsorBlock",
|
"short_name": "SponsorBlock",
|
||||||
"version": "5.11.2",
|
"version": "5.11.6",
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"description": "__MSG_Description__",
|
"description": "__MSG_Description__",
|
||||||
"homepage_url": "https://sponsor.ajay.app",
|
"homepage_url": "https://sponsor.ajay.app",
|
||||||
|
|||||||
Submodule maze-utils updated: dc162b4e7d...de2cda1e75
Submodule public/_locales updated: a45cc387ca...464b48c2f0
@@ -697,7 +697,7 @@ class SkipNoticeComponent extends React.Component<SkipNoticeProps, SkipNoticeSta
|
|||||||
getFullDurationCountdown(index: number): () => number {
|
getFullDurationCountdown(index: number): () => number {
|
||||||
return () => {
|
return () => {
|
||||||
const sponsorTime = this.segments[index];
|
const sponsorTime = this.segments[index];
|
||||||
const duration = Math.round((sponsorTime.segment[1] - getCurrentTime()) * (1 / getVideo().playbackRate));
|
const duration = Math.round((sponsorTime.segment[1] - getCurrentTime()) * (1 / (getVideo()?.playbackRate ?? 1)));
|
||||||
|
|
||||||
return Math.max(duration, Config.config.skipNoticeDuration);
|
return Math.max(duration, Config.config.skipNoticeDuration);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -306,7 +306,8 @@ function messageListener(request: Message, sender: unknown, sendResponse: (respo
|
|||||||
for (const segment of importedSegments) {
|
for (const segment of importedSegments) {
|
||||||
if (!sponsorTimesSubmitting.some(
|
if (!sponsorTimesSubmitting.some(
|
||||||
(s) => Math.abs(s.segment[0] - segment.segment[0]) < 1
|
(s) => Math.abs(s.segment[0] - segment.segment[0]) < 1
|
||||||
&& Math.abs(s.segment[1] - segment.segment[1]) < 1)) {
|
&& Math.abs(s.segment[1] - segment.segment[1]) < 1
|
||||||
|
&& s.description === segment.description)) {
|
||||||
const hasChaptersPermission = (Config.config.showCategoryWithoutPermission
|
const hasChaptersPermission = (Config.config.showCategoryWithoutPermission
|
||||||
|| Config.config.permissions["chapter"]);
|
|| Config.config.permissions["chapter"]);
|
||||||
if (segment.category === "chapter" && (!utils.getCategorySelection("chapter") || !hasChaptersPermission)) {
|
if (segment.category === "chapter" && (!utils.getCategorySelection("chapter") || !hasChaptersPermission)) {
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ export default class Utils {
|
|||||||
|
|
||||||
getSponsorIndexFromUUID(sponsorTimes: SponsorTime[], UUID: string): number {
|
getSponsorIndexFromUUID(sponsorTimes: SponsorTime[], UUID: string): number {
|
||||||
for (let i = 0; i < sponsorTimes.length; i++) {
|
for (let i = 0; i < sponsorTimes.length; i++) {
|
||||||
if (sponsorTimes[i].UUID.startsWith(UUID) || UUID.startsWith(sponsorTimes[i].UUID)) {
|
if (sponsorTimes[i].UUID && (sponsorTimes[i].UUID.startsWith(UUID) || UUID.startsWith(sponsorTimes[i].UUID))) {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -320,6 +320,7 @@ export default class Utils {
|
|||||||
|
|
||||||
allDownvotes[hashedVideoID] = currentVideoData;
|
allDownvotes[hashedVideoID] = currentVideoData;
|
||||||
}
|
}
|
||||||
|
console.log(allDownvotes)
|
||||||
|
|
||||||
const entries = Object.entries(allDownvotes);
|
const entries = Object.entries(allDownvotes);
|
||||||
if (entries.length > 10000) {
|
if (entries.length > 10000) {
|
||||||
|
|||||||
@@ -34,9 +34,12 @@ function exportTime(segment: SponsorTime): string {
|
|||||||
|
|
||||||
export function importTimes(data: string, videoDuration: number): SponsorTime[] {
|
export function importTimes(data: string, videoDuration: number): SponsorTime[] {
|
||||||
const lines = data.split("\n");
|
const lines = data.split("\n");
|
||||||
|
const timeRegex = /(?:((?:\d+:)?\d+:\d+)+(?:\.\d+)?)|(?:\d+(?=s| second))/g;
|
||||||
|
const anyLineHasTime = lines.some((line) => timeRegex.test(line));
|
||||||
|
|
||||||
const result: SponsorTime[] = [];
|
const result: SponsorTime[] = [];
|
||||||
for (const line of lines) {
|
for (const line of lines) {
|
||||||
const match = line.match(/(?:((?:\d+:)?\d+:\d+)+(?:\.\d+)?)|(?:\d+(?=s| second))/g);
|
const match = line.match(timeRegex);
|
||||||
if (match) {
|
if (match) {
|
||||||
const startTime = getFormattedTimeToSeconds(match[0]);
|
const startTime = getFormattedTimeToSeconds(match[0]);
|
||||||
if (startTime !== null) {
|
if (startTime !== null) {
|
||||||
@@ -71,6 +74,18 @@ export function importTimes(data: string, videoDuration: number): SponsorTime[]
|
|||||||
|
|
||||||
result.push(segment);
|
result.push(segment);
|
||||||
}
|
}
|
||||||
|
} else if (!anyLineHasTime) {
|
||||||
|
// Adding chapters with placeholder times
|
||||||
|
const segment: SponsorTime = {
|
||||||
|
segment: [0, 0],
|
||||||
|
category: "chapter" as Category,
|
||||||
|
actionType: ActionType.Chapter,
|
||||||
|
description: line,
|
||||||
|
source: SponsorSourceType.Local,
|
||||||
|
UUID: generateUserID() as SegmentUUID
|
||||||
|
};
|
||||||
|
|
||||||
|
result.push(segment);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user