From 0f561d4a5a18fbef1fbadb1559fced1786d47622 Mon Sep 17 00:00:00 2001 From: Ajay Ramachandran Date: Tue, 23 Jul 2019 21:06:36 -0400 Subject: [PATCH] Added option to disable the view count tracking. --- content.js | 19 +++++++++++++++++- firefox_manifest.json | 2 +- manifest.json | 2 +- popup.html | 22 ++++++++++++++++++++- popup.js | 45 +++++++++++++++++++++++++++++++++++++++++++ 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 @@ +
+ + 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. + + +
+
+ + + +
+ + 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. :) +

- + 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) {