aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAjay Ramachandran <[email protected]>2019-07-23 21:09:36 -0400
committerGitHub <[email protected]>2019-07-23 21:09:36 -0400
commitc7da0f0c65b09b0a8b40ef19283a2df914181507 (patch)
treecff8de427fd3ca9ddacdc6f0a3b5056c9ba8fff7
parent55c7529731c4c4a2175ae66eb738ef25ea2680d8 (diff)
parent0f561d4a5a18fbef1fbadb1559fced1786d47622 (diff)
downloadSponsorBlock-c7da0f0c65b09b0a8b40ef19283a2df914181507.tar.gz
SponsorBlock-c7da0f0c65b09b0a8b40ef19283a2df914181507.zip
Merge pull request #5 from ajayyy/experimentalv1.0.2
Added option to disable view count tracking
-rw-r--r--content.js19
-rw-r--r--firefox_manifest.json2
-rw-r--r--manifest.json2
-rw-r--r--popup.html22
-rw-r--r--popup.js45
5 files changed, 86 insertions, 4 deletions
diff --git a/content.js b/content.js
index 970ab199..238f6f19 100644
--- a/content.js
+++ b/content.js
@@ -36,6 +36,17 @@ var showingStartSponsor = true;
//should the video controls buttons be added
var hideVideoPlayerControls = false;
+//should view counts be tracked
+var trackViewCount = false;
+chrome.storage.sync.get(["trackViewCount"], function(result) {
+ let trackViewCountStorage = result.trackViewCount;
+ if (trackViewCountStorage != undefined) {
+ trackViewCount = trackViewCountStorage;
+ } else {
+ trackViewCount = true;
+ }
+});
+
//if the notice should not be shown
//happens when the user click's the "Don't show notice again" button
var dontShowNotice = false;
@@ -86,6 +97,10 @@ chrome.runtime.onMessage.addListener( // Detect URL Changes
updateVisibilityOfPlayerControlsButton();
}
+
+ if (request.message == "trackViewCount") {
+ trackViewCount = request.value;
+ }
});
function videoIDChange(id) {
@@ -177,7 +192,9 @@ function sponsorCheck(sponsorTimes) { // Video skipping
setTimeout(() => closeSkipNotice(currentUUID), 7000);
//send telemetry that a this sponsor was skipped happened
- sendRequestToServer("GET", "/api/viewedVideoSponsorTime?UUID=" + currentUUID);
+ if (trackViewCount) {
+ sendRequestToServer("GET", "/api/viewedVideoSponsorTime?UUID=" + currentUUID);
+ }
}
}
lastTime = v.currentTime;
diff --git a/firefox_manifest.json b/firefox_manifest.json
index 642c4a3e..5c15bb4c 100644
--- a/firefox_manifest.json
+++ b/firefox_manifest.json
@@ -1,7 +1,7 @@
{
"name": "SponsorBlock - YouTube Sponsorship Blocker",
"short_name": "SponsorBlock",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Skip over sponsorship on YouTube videos. Report sponsors on videos you watch to save the time of others.",
"content_scripts": [
{
diff --git a/manifest.json b/manifest.json
index 25c1104f..f13e4b65 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "SponsorBlock - YouTube Sponsorship Blocker",
"short_name": "SponsorBlock",
- "version": "1.0.1",
+ "version": "1.0.2",
"description": "Skip over sponsorship on YouTube videos. Report sponsors on videos you watch to save the time of others.",
"content_scripts": [
{
diff --git a/popup.html b/popup.html
index 99f7b099..de5a0ae9 100644
--- a/popup.html
+++ b/popup.html
@@ -112,10 +112,30 @@
<button id="hideVideoPlayerControls" class="warningButton">Hide Button On YouTube Player</button>
<button id="showVideoPlayerControls" style="display: none" class="warningButton">Show Button On YouTube Player</button>
+ <br/>
+ <sub>
+ This hides the button that appears on the YouTube player to submit sponsors. I can see this being annoying for some
+ people. Instead of using the button there, this popup can be used to submit sponsors. To hide the notice that appears,
+ use the button that appears on the notice saying "Don't show this again". You can always enable these settings again
+ later.
+ </sub>
+
+ <br/>
+ <br/>
+
+ <button id="disableSponsorViewTracking" class="warningButton">Disable Sponsor View Tracking</button>
+ <button id="enableSponsorViewTracking" style="display: none" class="warningButton">Enable Sponsor View Tracking</button>
+ <br/>
+ <sub>
+ This feature tracks which sponsors you have skipped to let users know how much their submission has helped others and
+ used as a metric along with upvotes to ensure that spam doesn't get into the database. The extension sends a message
+ to the server each time you skip a sponsor. Hopefully most people don't change this setting so that the view numbers
+ are accurate. :)
+ </sub>
<br/>
<br/>
-
+
<button id="showNoticeAgain" style="display: none" class="dangerButton">Show Notice Again</button>
</div>
</div>
diff --git a/popup.js b/popup.js
index 47f2d156..98c2024f 100644
--- a/popup.js
+++ b/popup.js
@@ -5,6 +5,8 @@ document.getElementById("submitTimes").addEventListener("click", submitTimes);
document.getElementById("showNoticeAgain").addEventListener("click", showNoticeAgain);
document.getElementById("hideVideoPlayerControls").addEventListener("click", hideVideoPlayerControls);
document.getElementById("showVideoPlayerControls").addEventListener("click", showVideoPlayerControls);
+document.getElementById("disableSponsorViewTracking").addEventListener("click", disableSponsorViewTracking);
+document.getElementById("enableSponsorViewTracking").addEventListener("click", enableSponsorViewTracking);
document.getElementById("optionsButton").addEventListener("click", openOptions);
document.getElementById("reportAnIssue").addEventListener("click", reportAnIssue);
@@ -38,6 +40,15 @@ chrome.storage.sync.get(["hideVideoPlayerControls"], function(result) {
}
});
+//show proper tracking option
+chrome.storage.sync.get(["trackViewCount"], function(result) {
+ let trackViewCount = result.trackViewCount;
+ if (trackViewCount != undefined && !trackViewCount) {
+ document.getElementById("disableSponsorViewTracking").style.display = "none";
+ document.getElementById("enableSponsorViewTracking").style.display = "unset";
+ }
+});
+
//get the amount of times this user has contributed and display it to thank them
chrome.storage.sync.get(["sponsorTimesContributed"], function(result) {
if (result.sponsorTimesContributed != undefined) {
@@ -398,6 +409,40 @@ function showVideoPlayerControls() {
document.getElementById("showVideoPlayerControls").style.display = "none";
}
+function disableSponsorViewTracking() {
+ chrome.storage.sync.set({"trackViewCount": false});
+
+ chrome.tabs.query({
+ active: true,
+ currentWindow: true
+ }, function(tabs) {
+ chrome.tabs.sendMessage(tabs[0].id, {
+ message: "trackViewCount",
+ value: false
+ });
+ });
+
+ document.getElementById("disableSponsorViewTracking").style.display = "none";
+ document.getElementById("enableSponsorViewTracking").style.display = "unset";
+}
+
+function enableSponsorViewTracking() {
+ chrome.storage.sync.set({"trackViewCount": true});
+
+ chrome.tabs.query({
+ active: true,
+ currentWindow: true
+ }, function(tabs) {
+ chrome.tabs.sendMessage(tabs[0].id, {
+ message: "trackViewCount",
+ value: true
+ });
+ });
+
+ document.getElementById("enableSponsorViewTracking").style.display = "none";
+ document.getElementById("disableSponsorViewTracking").style.display = "unset";
+}
+
function updateStartTimeChosen() {
//update startTimeChosen variable
if (!startTimeChosen) {