mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-06 11:37:02 +03:00
Add invidious instances by default for safari
https://github.com/ajayyy/SponsorBlock/issues/798
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import * as CompileConfig from "../config.json";
|
||||
import * as invidiousList from "../ci/invidiouslist.json";
|
||||
import { Category, CategorySelection, CategorySkipOption, NoticeVisbilityMode, PreviewBarOption, SponsorTime, StorageChangesObject, Keybind, HashedValue, VideoID, SponsorHideType } from "./types";
|
||||
import { keybindEquals } from "./utils/configUtils";
|
||||
import { isSafari, keybindEquals } from "./utils/configUtils";
|
||||
|
||||
export interface Permission {
|
||||
canSubmit: boolean;
|
||||
@@ -180,7 +180,7 @@ const Config: SBObject = {
|
||||
hideDiscordLaunches: 0,
|
||||
hideDiscordLink: false,
|
||||
invidiousInstances: ["invidious.snopyta.org"], // leave as default
|
||||
supportInvidious: false,
|
||||
supportInvidious: isSafari(),
|
||||
serverAddress: CompileConfig.serverAddress,
|
||||
minDuration: 0,
|
||||
skipNoticeDuration: 4,
|
||||
@@ -550,7 +550,8 @@ function migrateOldSyncFormats(config: SBConfig) {
|
||||
}
|
||||
|
||||
// populate invidiousInstances with new instances if 3p support is **DISABLED**
|
||||
if (!config["supportInvidious"] && config["invidiousInstances"].length !== invidiousList.length) {
|
||||
// for safari, update it immediately
|
||||
if ((isSafari() || !config["supportInvidious"]) && config["invidiousInstances"].length !== invidiousList.length) {
|
||||
config["invidiousInstances"] = invidiousList;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import { CategorySelection, SponsorTime, FetchResponse, BackgroundScriptContaine
|
||||
import * as CompileConfig from "../config.json";
|
||||
import { findValidElement, findValidElementFromSelector } from "./utils/pageUtils";
|
||||
import { waitFor } from "@ajayyy/maze-utils";
|
||||
import { isSafari } from "./utils/configUtils";
|
||||
|
||||
export default class Utils {
|
||||
|
||||
@@ -236,6 +237,8 @@ export default class Utils {
|
||||
}
|
||||
|
||||
containsInvidiousPermission(): Promise<boolean> {
|
||||
if (isSafari()) return Promise.resolve(true);
|
||||
|
||||
return new Promise((resolve) => {
|
||||
let permissions = ["declarativeContent"];
|
||||
if (this.isFirefox()) permissions = [];
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
const webpack = require("webpack");
|
||||
const path = require('path');
|
||||
const { validate } = require('schema-utils');
|
||||
const invidiousList = require("../ci/invidiouslist.json");
|
||||
|
||||
const fs = require('fs');
|
||||
|
||||
@@ -49,6 +50,11 @@ class BuildManifest {
|
||||
mergeObjects(manifest, chromeManifestExtra);
|
||||
} else if (this.options.browser.toLowerCase() === "safari") {
|
||||
mergeObjects(manifest, safariManifestExtra);
|
||||
|
||||
// Add all invidious instances as options for the content script
|
||||
for (const instance of invidiousList) {
|
||||
manifest.content_scripts[0].matches.push(`*://*.${instance}/*`);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.options.stream === "beta") {
|
||||
|
||||
Reference in New Issue
Block a user