aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAjay Ramachandran <[email protected]>2020-01-10 22:22:24 -0500
committerGitHub <[email protected]>2020-01-10 22:22:24 -0500
commitd87cb7789503218abd2e1f21e21b89497ba51679 (patch)
treec490d3430ff0cfd56017286accce1ef0960bdc46
parent502bec55c45658525b5b316287c550cde3160f78 (diff)
parent36c4ebda65d24e5eaeefac92e17df9e56d6f5186 (diff)
downloadSponsorBlock-d87cb7789503218abd2e1f21e21b89497ba51679.tar.gz
SponsorBlock-d87cb7789503218abd2e1f21e21b89497ba51679.zip
Merge pull request #228 from ajayyy/experimental-ajay
Invidious support fixes
-rw-r--r--SB.js4
-rw-r--r--_locales/en/messages.json12
-rw-r--r--background.js63
-rw-r--r--content.css2
-rw-r--r--content.js10
-rw-r--r--help/index_en.html6
-rw-r--r--help/styles.css8
-rw-r--r--options/options.html17
-rw-r--r--package.json2
-rw-r--r--popup.js3
10 files changed, 89 insertions, 38 deletions
diff --git a/SB.js b/SB.js
index 9fa8f29e..a7f8d048 100644
--- a/SB.js
+++ b/SB.js
@@ -160,7 +160,9 @@ SB.defaults = {
"hideDeleteButtonPlayerControls": false,
"hideDiscordLaunches": 0,
"hideDiscordLink": false,
- "invidiousInstances": ["invidio.us", "invidiou.sh"]
+ "invidiousInstances": ["invidio.us", "invidiou.sh", "invidious.snopyta.org"],
+ "invidiousUpdateInfoShowCount": 0,
+ "autoUpvote": true
}
// Reset config
diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index 3dca55b5..eab70b4e 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -374,5 +374,17 @@
},
"currentInstances": {
"message": "Current Instances:"
+ },
+ "enableAutoUpvote": {
+ "message": "Auto Upvote"
+ },
+ "whatAutoUpvote": {
+ "message": "With this enabled, the extension will upvote all submissions you view if you do not report them. If the notice is disabled, this will not occur."
+ },
+ "invidiousInfo1": {
+ "message": "Invidious (the 3rd party YouTube site) support has been added!"
+ },
+ "invidiousInfo2": {
+ "message": "You MUST enable it in the options for it to work."
}
}
diff --git a/background.js b/background.js
index f6d1d533..1f7cdd70 100644
--- a/background.js
+++ b/background.js
@@ -16,9 +16,7 @@ chrome.tabs.onUpdated.addListener(function(tabId) {
}, () => void chrome.runtime.lastError ); // Suppress error on Firefox
});
-chrome.runtime.onMessage.addListener(async function (request, sender, callback) {
- await wait(() => SB.config !== undefined);
-
+chrome.runtime.onMessage.addListener(function (request, sender, callback) {
switch(request.message) {
case "submitTimes":
submitTimes(request.videoID, callback);
@@ -65,6 +63,8 @@ chrome.runtime.onMessage.addListener(async function (request, sender, callback)
//add help page on install
chrome.runtime.onInstalled.addListener(function (object) {
+ // This let's the config sync to run fully before checking.
+ // This is required on Firefox
setTimeout(function() {
const userID = SB.config.userID;
@@ -76,7 +76,11 @@ chrome.runtime.onInstalled.addListener(function (object) {
//generate a userID
const newUserID = generateUserID();
//save this UUID
- SB.config.userID = newUserID;
+ SB.config.userID = newUserID;
+
+ //TODO: Remove when invidious support is old
+ // Don't show this to new users
+ SB.config.invidiousUpdateInfoShowCount = 6;
}
}, 1500);
});
@@ -132,34 +136,35 @@ function addSponsorTime(time, videoID, callback) {
}
function submitVote(type, UUID, callback) {
- let userID = SB.config.userID;
+ let userID = SB.config.userID;
- if (userID == undefined || userID === "undefined") {
- //generate one
- userID = generateUserID();
- SB.config.userID = userID;
+ if (userID == undefined || userID === "undefined") {
+ //generate one
+ userID = generateUserID();
+ SB.config.userID = userID;
+ }
+
+ //publish this vote
+ sendRequestToServer("POST", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) {
+ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
+ callback({
+ successType: 1
+ });
+ } else if (xmlhttp.readyState == 4 && xmlhttp.status == 405) {
+ //duplicate vote
+ callback({
+ successType: 0,
+ statusCode: xmlhttp.status
+ });
+ } else if (error) {
+ //error while connect
+ callback({
+ successType: -1,
+ statusCode: xmlhttp.status
+ });
}
- //publish this vote
- sendRequestToServer("POST", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) {
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
- callback({
- successType: 1
- });
- } else if (xmlhttp.readyState == 4 && xmlhttp.status == 405) {
- //duplicate vote
- callback({
- successType: 0,
- statusCode: xmlhttp.status
- });
- } else if (error) {
- //error while connect
- callback({
- successType: -1,
- statusCode: xmlhttp.status
- });
- }
- })
+ });
}
async function submitTimes(videoID, callback) {
diff --git a/content.css b/content.css
index 525fedc3..c76484ad 100644
--- a/content.css
+++ b/content.css
@@ -71,7 +71,7 @@
}
.sponsorSkipNotice {
- min-width: 300px;
+ min-width: 350px;
background-color: rgba(28, 28, 28, 0.9);
position: absolute;
right: 5px;
diff --git a/content.js b/content.js
index b165dafd..f3b96fe0 100644
--- a/content.js
+++ b/content.js
@@ -556,8 +556,16 @@ function skipToTime(v, index, sponsorTimes, openNotice) {
//send out the message saying that a sponsor message was skipped
if (!SB.config.dontShowNotice) {
let skipNotice = new SkipNotice(this, currentUUID, SB.config.disableAutoSkip);
+
+ //TODO: Remove this when Invidious support is old
+ if (SB.config.invidiousUpdateInfoShowCount < 5) {
+ skipNotice.addNoticeInfoMessage(chrome.i18n.getMessage("invidiousInfo1"), chrome.i18n.getMessage("invidiousInfo2"));
+
+ SB.config.invidiousUpdateInfoShowCount += 1;
+ }
+
//auto-upvote this sponsor
- if (SB.config.trackViewCount && !SB.config.disableAutoSkip) {
+ if (SB.config.trackViewCount && !SB.config.disableAutoSkip && SB.config.autoUpvote) {
vote(1, currentUUID, null);
}
}
diff --git a/help/index_en.html b/help/index_en.html
index 5db3c81f..abeff075 100644
--- a/help/index_en.html
+++ b/help/index_en.html
@@ -27,6 +27,12 @@
Come contribute, make some suggestions and help out in the Discord: <a href="https://discord.gg/QnmVMpU">https://discord.gg/QnmVMpU</a>
</p>
+ <a class="bigText" href="/options/options.html">Enable Invidious Support</a>
+
+ <p>
+ Invidious is a third-party YouTube viewer. SponsorBlock now supports invidious along with YouTube. Please visit the options page to make sure everything is how you want it to be.
+ </p>
+
<h1>How skipping works</h1>
<p class="projectPreview">
diff --git a/help/styles.css b/help/styles.css
index 278d8c72..b71059d3 100644
--- a/help/styles.css
+++ b/help/styles.css
@@ -1,4 +1,8 @@
-:not(.hljs-keyword):not(.hljs-comment):not(.hljs-number):not(.hljs-string):not(pre):not(code) {
+.bigText {
+ font-size: 50px;
+}
+
+body {
background-color: #333333;
}
@@ -122,7 +126,7 @@ a {
text-decoration: none;
}
-p,li {
+p,li,a {
font-family: sans-serif;
font-size: 20;
color: #c4c4c4;
diff --git a/options/options.html b/options/options.html
index b76c3e0a..2278e4d3 100644
--- a/options/options.html
+++ b/options/options.html
@@ -181,6 +181,23 @@
<div class="small-description">__MSG_whatDeleteButton__</div>
</div>
+
+ <br/>
+ <br/>
+
+ <div option-type="toggle" sync-option="autoUpvote">
+ <label class="switch-container" label-name="__MSG_enableAutoUpvote__">
+ <label class="switch">
+ <input type="checkbox" checked>
+ <span class="slider round"></span>
+ </label>
+ </label>
+
+ <br/>
+ <br/>
+
+ <div class="small-description">__MSG_whatAutoUpvote__</div>
+ </div>
<br/>
<br/>
diff --git a/package.json b/package.json
index 2300f120..c5dadd4a 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
- "dev": "web-ext run",
+ "dev": "web-ext run --start-url https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm",
"build": "web-ext build --overwrite-dest -i \"*(package-lock.json|README.md|package.json|config.js.example|firefox_manifest-extra.json|manifest.json.original|ignored|crowdin.yml)\""
},
"repository": {
diff --git a/popup.js b/popup.js
index 9e9ccaeb..7be8235d 100644
--- a/popup.js
+++ b/popup.js
@@ -231,7 +231,6 @@ async function runThePopup() {
}
//load video times for this video
- setTimeout(()=> console.log( SB.config.sponsorTimes.set), 200 )
let sponsorTimesStorage = SB.config.sponsorTimes.get(currentVideoID);
if (sponsorTimesStorage != undefined && sponsorTimesStorage.length > 0) {
if (sponsorTimesStorage[sponsorTimesStorage.length - 1] != undefined && sponsorTimesStorage[sponsorTimesStorage.length - 1].length < 2) {
@@ -919,10 +918,8 @@ async function runThePopup() {
type: type,
UUID: UUID
}, function(response) {
- console.log(response)
if (response != undefined) {
//see if it was a success or failure
- console.log(response)
if (response.successType == 1 || (response.successType == -1 && response.statusCode == 429)) {
//success (treat rate limits as a success)
addVoteMessage(chrome.i18n.getMessage("voted"), UUID)