aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAjay Ramachandran <[email protected]>2019-12-29 00:29:51 -0500
committerGitHub <[email protected]>2019-12-29 00:29:51 -0500
commit1abc1b9b28d59d2020d26810156cbdfbe3e8f7fa (patch)
tree35fdfcdb01dceaf4ef5ffb7f62aa787e1b606b96
parent85a591c9846a4675d9ccc40953dba6d2732aab59 (diff)
parentd10c8041bf68e6e1ab14325a8c09aad48a48341c (diff)
downloadSponsorBlock-1.2.2.tar.gz
SponsorBlock-1.2.2.zip
Merge pull request #212 from ajayyy/experimental-ajay1.2.2
UserID import, ID fixes, view count fix, embed error fix
-rw-r--r--_locales/en/messages.json12
-rw-r--r--background.js2
-rw-r--r--content.js17
-rw-r--r--manifest.json2
-rw-r--r--popup.html22
-rw-r--r--popup.js31
6 files changed, 71 insertions, 15 deletions
diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index c0cb80bf..d5684bb0 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -320,5 +320,17 @@
},
"statusReminder": {
"message": "Check status.sponsor.ajay.app for server status."
+ },
+ "changeUserID": {
+ "message": "Import/Export Your UserID"
+ },
+ "whatChangeUserID": {
+ "message": "This should be kept private. This is like a password and should not be shared with anyone. If someone has this, they can impersonate you."
+ },
+ "setUserID": {
+ "message": "Set UserID"
+ },
+ "userIDChangeWarning": {
+ "message": "Warning: Changing the UserID is permanent. Are you sure you would like to do this? Make sure to backup your old one just in case."
}
}
diff --git a/background.js b/background.js
index ae1f7e45..f2759f1f 100644
--- a/background.js
+++ b/background.js
@@ -109,7 +109,7 @@ function submitVote(type, UUID, callback) {
}
//publish this vote
- sendRequestToServer("GET", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) {
+ sendRequestToServer("POST", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
callback({
successType: 1
diff --git a/content.js b/content.js
index 55f2a3ca..0a829e51 100644
--- a/content.js
+++ b/content.js
@@ -498,12 +498,11 @@ function updatePreviewBar() {
function getChannelID() {
//get channel id
- let channelNameContainer = document.getElementById("channel-name");
-
let channelURLContainer = null;
- if (channelNameContainer !== null) {
- channelURLContainer = channelNameContainer.querySelector("#container").querySelector("#text-container").querySelector("#text").firstElementChild;
+ channelURLContainer = document.querySelector("#channel-name > #container > #text-container > #text");
+ if (channelURLContainer !== null) {
+ channelURLContainer = channelURLContainer.firstElementChild;
} else {
//old YouTube theme
let channelContainers = document.getElementsByClassName("yt-user-info");
@@ -652,9 +651,9 @@ function skipToTime(v, index, sponsorTimes, openNotice) {
}
}
- //send telemetry that a this sponsor was skipped happened
+ //send telemetry that a this sponsor was skipped
if (trackViewCount && !sponsorSkipped[index]) {
- sendRequestToServer("GET", "/api/viewedVideoSponsorTime?UUID=" + currentUUID);
+ sendRequestToServer("POST", "/api/viewedVideoSponsorTime?UUID=" + currentUUID);
if (!disableAutoSkip) {
// Count this as a skip
@@ -941,11 +940,13 @@ function vote(type, UUID, skipNotice) {
let sponsorIndex = UUIDs.indexOf(UUID);
- // See if the local time saved count and skip count should be reverted
+ // See if the local time saved count and skip count should be saved
if (type == 0 && sponsorSkipped[sponsorIndex] || type == 1 && !sponsorSkipped[sponsorIndex]) {
let factor = 1;
if (type == 0) {
factor = -1;
+
+ sponsorSkipped[sponsorIndex] = false;
}
// Count this as a skip
@@ -959,8 +960,6 @@ function vote(type, UUID, skipNotice) {
chrome.storage.sync.set({"skipCount": result.skipCount + factor * 1 });
});
-
- sponsorSkipped[sponsorIndex] = !sponsorSkipped[sponsorIndex];
}
chrome.runtime.sendMessage({
diff --git a/manifest.json b/manifest.json
index 8b1e6e64..611376a4 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "__MSG_fullName__",
"short_name": "__MSG_Name__",
- "version": "1.2.1",
+ "version": "1.2.2",
"default_locale": "en",
"description": "__MSG_Description__",
"content_scripts": [
diff --git a/popup.html b/popup.html
index a9130680..dffd393d 100644
--- a/popup.html
+++ b/popup.html
@@ -253,6 +253,28 @@
<br/>
<br/>
+
+ <button id="changeUserIDButton" class="warningButton popupElement">__MSG_changeUserID__</button>
+ <br/>
+ <sub class="popupElement">
+ __MSG_whatChangeUserID__
+ </sub>
+
+ <div id="changeUserID" class="popupElement" style="display: none">
+ <br/>
+ <br/>
+
+ <input id="userIDInput" hint="userID"></input>
+
+ <br/>
+ <br/>
+
+ <button id="setUserID" class="warningButton popupElement">__MSG_setUserID__</button>
+ </div>
+
+ <br/>
+ <br/>
+
<button id="disableSponsorViewTracking" class="warningButton popupElement">__MSG_disableViewTracking__</button>
<button id="enableSponsorViewTracking" style="display: none" class="warningButton popupElement">__MSG_enableViewTracking__</button>
<br/>
diff --git a/popup.js b/popup.js
index 713863e5..af4d3f26 100644
--- a/popup.js
+++ b/popup.js
@@ -82,6 +82,11 @@ function runThePopup() {
"setUsername",
"usernameInput",
"submitUsername",
+ // UserID
+ "changeUserID",
+ "changeUserIDButton",
+ "userIDInput",
+ "setUserID",
// More
"submissionSection",
"mainControls",
@@ -118,6 +123,8 @@ function runThePopup() {
SB.enableSponsorViewTracking.addEventListener("click", enableSponsorViewTracking);
SB.setUsernameButton.addEventListener("click", setUsernameButton);
SB.submitUsername.addEventListener("click", submitUsername);
+ SB.changeUserIDButton.addEventListener("click", changeUserIDButton);
+ SB.setUserID.addEventListener("click", setUserID);
SB.optionsButton.addEventListener("click", openOptions);
SB.reportAnIssue.addEventListener("click", reportAnIssue);
SB.hideDiscordButton.addEventListener("click", hideDiscordButton);
@@ -740,8 +747,8 @@ function runThePopup() {
tabs[0].id,
{message: "getCurrentTime"},
function (response) {
- let minutes = document.getElementById(idStartName + chrome.i18n.getMessage("Mins") + index);
- let seconds = document.getElementById(idStartName + chrome.i18n.getMessage("Secs") + index);
+ let minutes = document.getElementById(idStartName + "Minutes" + index);
+ let seconds = document.getElementById(idStartName + "Seconds" + index);
minutes.value = getTimeInMinutes(response.currentTime);
seconds.value = getTimeInFormattedSeconds(response.currentTime);
@@ -752,8 +759,8 @@ function runThePopup() {
//id start name is whether it is the startTime or endTime
//gives back the time in seconds
function getSponsorTimeEditTimes(idStartName, index) {
- let minutes = document.getElementById(idStartName + chrome.i18n.getMessage("Mins") + index);
- let seconds = document.getElementById(idStartName + chrome.i18n.getMessage("Secs") + index);
+ let minutes = document.getElementById(idStartName + "Minutes" + index);
+ let seconds = document.getElementById(idStartName + "Seconds" + index);
return parseInt(minutes.value) * 60 + parseFloat(seconds.value);
}
@@ -1158,6 +1165,22 @@ function runThePopup() {
SB.setUsernameContainer.style.display = "none";
SB.setUsername.style.display = "unset";
}
+
+ function changeUserIDButton() {
+ //get the user ID
+ chrome.storage.sync.get(["userID"], function(result) {
+ SB.userIDInput.value = result.userID;
+ SB.setUserID.style.display = "unset";
+ SB.userIDInput.style.display = "unset";
+ SB.changeUserID.style.display = "unset";
+ });
+ }
+
+ function setUserID() {
+ if (!confirm(chrome.i18n.getMessage("userIDChangeWarning"))) return;
+
+ chrome.storage.sync.set({"userID": SB.userIDInput.value});
+ }
//this is not a YouTube video page
function displayNoVideo() {