From 11a5cb74018182c6c91a9b132ffdfe5435d95d87 Mon Sep 17 00:00:00 2001
From: krateng <git.noreply@krateng.ch>
Date: Tue, 28 Mar 2023 00:06:59 +0200
Subject: [PATCH] Fixed scrobbler

---
 .../maloja-scrobbler/background.js                  |  7 +++++++
 .../maloja-scrobbler/manifest.json                  |  2 +-
 .../chromium_scrobbler/maloja-scrobbler/settings.js | 13 +++++++++----
 3 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/auxiliary/chromium_scrobbler/maloja-scrobbler/background.js b/auxiliary/chromium_scrobbler/maloja-scrobbler/background.js
index a45f81b..e0b4074 100644
--- a/auxiliary/chromium_scrobbler/maloja-scrobbler/background.js
+++ b/auxiliary/chromium_scrobbler/maloja-scrobbler/background.js
@@ -83,6 +83,13 @@ function onTabUpdated(tabId, changeInfo, tab) {
 				//console.log("Still on same page!")
 				tabManagers[tabId].update();
 
+				// check if the setting for this page is still active
+				chrome.storage.local.get(["service_active_" + page],function(result){
+					if (!result["service_active_" + page]) {
+						delete tabManagers[tabId];
+					}
+				});
+
 				return
 			}
 		}
diff --git a/auxiliary/chromium_scrobbler/maloja-scrobbler/manifest.json b/auxiliary/chromium_scrobbler/maloja-scrobbler/manifest.json
index 83e1853..de20664 100644
--- a/auxiliary/chromium_scrobbler/maloja-scrobbler/manifest.json
+++ b/auxiliary/chromium_scrobbler/maloja-scrobbler/manifest.json
@@ -1,6 +1,6 @@
 {
 	"name": "Maloja Scrobbler",
-	"version": "1.12",
+	"version": "1.13",
 	"description": "Scrobbles tracks from various sites to your Maloja server",
 	"manifest_version": 2,
 	"permissions": [
diff --git a/auxiliary/chromium_scrobbler/maloja-scrobbler/settings.js b/auxiliary/chromium_scrobbler/maloja-scrobbler/settings.js
index 3ebf833..a3c5db7 100644
--- a/auxiliary/chromium_scrobbler/maloja-scrobbler/settings.js
+++ b/auxiliary/chromium_scrobbler/maloja-scrobbler/settings.js
@@ -46,17 +46,22 @@ document.addEventListener("DOMContentLoaded",function() {
 	document.getElementById("serverurl").addEventListener("focusout",checkServer);
 	document.getElementById("apikey").addEventListener("focusout",checkServer);
 
-	document.getElementById("serverurl").addEventListener("input",saveConfig);
-	document.getElementById("apikey").addEventListener("input",saveConfig);
+	document.getElementById("serverurl").addEventListener("input",saveServer);
+	document.getElementById("apikey").addEventListener("input",saveServer);
 
 
 	chrome.runtime.onMessage.addListener(onInternalMessage);
 
 	chrome.storage.local.get(config_defaults,function(result){
+		console.log(result);
 		for (var key in result) {
+
+			// booleans
 			if (result[key] == true || result[key] == false) {
 				document.getElementById(key).checked = result[key];
 			}
+
+			// text
 			else{
 				document.getElementById(key).value = result[key];
 			}
@@ -95,8 +100,8 @@ function onInternalMessage(request,sender) {
 
 
 
-function saveConfig() {
-	for (var key in config_defaults) {
+function saveServer() {
+	for (var key of ["serverurl","apikey"]) {
 		var value = document.getElementById(key).value;
 		chrome.storage.local.set({ [key]: value });
 	}