Merge pull request #129 from ajayyy/experimental-ajay

UserID undefined checks
This commit is contained in:
Ajay Ramachandran
2019-08-22 16:10:50 -04:00
committed by GitHub
3 changed files with 20 additions and 9 deletions

View File

@@ -56,7 +56,6 @@ chrome.runtime.onInstalled.addListener(function (object) {
// TODO (shownInstallPage): remove this if statement, but leave contents // TODO (shownInstallPage): remove this if statement, but leave contents
if (!shownInstallPage){ if (!shownInstallPage){
//open up the install page //open up the install page
chrome.tabs.create({url: chrome.extension.getURL("/help/"+chrome.i18n.getMessage("helpPage"))}); chrome.tabs.create({url: chrome.extension.getURL("/help/"+chrome.i18n.getMessage("helpPage"))});
} }
@@ -67,13 +66,10 @@ chrome.runtime.onInstalled.addListener(function (object) {
} }
//generate a userID //generate a userID
const newUserID = generateUUID(); const newUserID = generateUserID();
//save this UUID //save this UUID
chrome.storage.sync.set({ chrome.storage.sync.set({
"userID": newUserID, "userID": newUserID
//the last video id loaded, to make sure it is a video id change
"sponsorVideoID": null,
"previousVideoID": null
}); });
} }
}); });
@@ -117,6 +113,14 @@ function submitVote(type, UUID, callback) {
chrome.storage.sync.get(["userID"], function(result) { chrome.storage.sync.get(["userID"], function(result) {
let userID = result.userID; let userID = result.userID;
if (userID == undefined || userID === "undefined") {
//generate one
userID = generateUserID();
chrome.storage.sync.set({
"userID": userID
});
}
//publish this vote //publish this vote
sendRequestToServer("GET", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) { sendRequestToServer("GET", "/api/voteOnSponsorTime?UUID=" + UUID + "&userID=" + userID + "&type=" + type, function(xmlhttp, error) {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
@@ -201,10 +205,9 @@ function sendRequestToServer(type, address, callback) {
xmlhttp.send(); xmlhttp.send();
} }
function generateUUID(length = 36) { function generateUserID(length = 36) {
let charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; let charset = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
let result = ""; let result = "";
let isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';
if (window.crypto && window.crypto.getRandomValues) { if (window.crypto && window.crypto.getRandomValues) {
values = new Uint32Array(length); values = new Uint32Array(length);
window.crypto.getRandomValues(values); window.crypto.getRandomValues(values);

View File

@@ -548,12 +548,14 @@ function addPlayerControlsButton() {
let startSponsorButton = document.createElement("button"); let startSponsorButton = document.createElement("button");
startSponsorButton.id = "startSponsorButton"; startSponsorButton.id = "startSponsorButton";
startSponsorButton.draggable = false;
startSponsorButton.className = "ytp-button playerButton"; startSponsorButton.className = "ytp-button playerButton";
startSponsorButton.setAttribute("title", chrome.i18n.getMessage("sponsorStart")); startSponsorButton.setAttribute("title", chrome.i18n.getMessage("sponsorStart"));
startSponsorButton.addEventListener("click", startSponsorClicked); startSponsorButton.addEventListener("click", startSponsorClicked);
let startSponsorImage = document.createElement("img"); let startSponsorImage = document.createElement("img");
startSponsorImage.id = "startSponsorImage"; startSponsorImage.id = "startSponsorImage";
startSponsorImage.draggable = false;
startSponsorImage.className = "playerButtonImage"; startSponsorImage.className = "playerButtonImage";
startSponsorImage.src = chrome.extension.getURL("icons/PlayerStartIconSponsorBlocker256px.png"); startSponsorImage.src = chrome.extension.getURL("icons/PlayerStartIconSponsorBlocker256px.png");
@@ -675,12 +677,14 @@ function addInfoButton() {
//make a submit button //make a submit button
let infoButton = document.createElement("button"); let infoButton = document.createElement("button");
infoButton.id = "infoButton"; infoButton.id = "infoButton";
infoButton.draggable = false;
infoButton.className = "ytp-button playerButton"; infoButton.className = "ytp-button playerButton";
infoButton.setAttribute("title", "Open SponsorBlock Popup"); infoButton.setAttribute("title", "Open SponsorBlock Popup");
infoButton.addEventListener("click", openInfoMenu); infoButton.addEventListener("click", openInfoMenu);
let infoImage = document.createElement("img"); let infoImage = document.createElement("img");
infoImage.id = "infoButtonImage"; infoImage.id = "infoButtonImage";
infoImage.draggable = false;
infoImage.className = "playerButtonImage"; infoImage.className = "playerButtonImage";
infoImage.src = chrome.extension.getURL("icons/PlayerInfoIconSponsorBlocker256px.png"); infoImage.src = chrome.extension.getURL("icons/PlayerInfoIconSponsorBlocker256px.png");
@@ -709,6 +713,7 @@ function addDeleteButton() {
//make a submit button //make a submit button
let deleteButton = document.createElement("button"); let deleteButton = document.createElement("button");
deleteButton.id = "deleteButton"; deleteButton.id = "deleteButton";
deleteButton.draggable = false;
deleteButton.className = "ytp-button playerButton"; deleteButton.className = "ytp-button playerButton";
deleteButton.setAttribute("title", "Clear Sponsor Times"); deleteButton.setAttribute("title", "Clear Sponsor Times");
deleteButton.addEventListener("click", clearSponsorTimes); deleteButton.addEventListener("click", clearSponsorTimes);
@@ -717,6 +722,7 @@ function addDeleteButton() {
let deleteImage = document.createElement("img"); let deleteImage = document.createElement("img");
deleteImage.id = "deleteButtonImage"; deleteImage.id = "deleteButtonImage";
deleteImage.draggable = false;
deleteImage.className = "playerButtonImage"; deleteImage.className = "playerButtonImage";
deleteImage.src = chrome.extension.getURL("icons/PlayerDeleteIconSponsorBlocker256px.png"); deleteImage.src = chrome.extension.getURL("icons/PlayerDeleteIconSponsorBlocker256px.png");
@@ -745,6 +751,7 @@ function addSubmitButton() {
//make a submit button //make a submit button
let submitButton = document.createElement("button"); let submitButton = document.createElement("button");
submitButton.id = "submitButton"; submitButton.id = "submitButton";
submitButton.draggable = false;
submitButton.className = "ytp-button playerButton"; submitButton.className = "ytp-button playerButton";
submitButton.setAttribute("title", "Submit Sponsor Times"); submitButton.setAttribute("title", "Submit Sponsor Times");
submitButton.addEventListener("click", submitSponsorTimes); submitButton.addEventListener("click", submitSponsorTimes);
@@ -753,6 +760,7 @@ function addSubmitButton() {
let submitImage = document.createElement("img"); let submitImage = document.createElement("img");
submitImage.id = "submitButtonImage"; submitImage.id = "submitButtonImage";
submitImage.draggable = false;
submitImage.className = "playerButtonImage"; submitImage.className = "playerButtonImage";
submitImage.src = chrome.extension.getURL("icons/PlayerUploadIconSponsorBlocker256px.png"); submitImage.src = chrome.extension.getURL("icons/PlayerUploadIconSponsorBlocker256px.png");

View File

@@ -1,7 +1,7 @@
{ {
"name": "__MSG_fullName__", "name": "__MSG_fullName__",
"short_name": "__MSG_Name__", "short_name": "__MSG_Name__",
"version": "1.1.2", "version": "1.1.3",
"default_locale": "en", "default_locale": "en",
"description": "__MSG_Description__", "description": "__MSG_Description__",
"content_scripts": [ "content_scripts": [