From 11637a784f2f408eb4209703a187630cc2ff2c80 Mon Sep 17 00:00:00 2001 From: Ingan121 Date: Sat, 30 Aug 2025 19:56:39 +0900 Subject: [PATCH] * Fix the collapse button bar in dark mode * Fix mks.remove() and the session remover in panel UI ignoring the origin * Misc logic changes --- background.js | 11 ++++---- content_script.js | 2 +- pages/panel/panel.css | 61 +++++++++++++++++++++---------------------- pages/panel/panel.js | 2 +- 4 files changed, 38 insertions(+), 38 deletions(-) diff --git a/background.js b/background.js index 2aa0500..8d7b8dc 100644 --- a/background.js +++ b/background.js @@ -106,9 +106,9 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { // Find first log that contains the requested KID const logs = Object.values(await AsyncLocalStorage.getStorage()); const log = logs.find(log => - log.keys.some(k => k.kid.toLowerCase() === kidHex.toLowerCase()) + log.origin === origin && log.keys.some(k => k.kid.toLowerCase() === kidHex.toLowerCase()) ); - if (!log || log.origin !== origin) { + if (!log) { console.warn("[Vineless] Lookup failed: no log found for KID", kidHex); sendResponse(); return; @@ -263,6 +263,7 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { } } existing.url = tab_url; + existing.keys = res.keys; existing.manifests = manifests.has(tab_url) ? manifests.get(tab_url) : []; existing.title = sender.tab?.title; existing.timestamp = Math.floor(Date.now() / 1000); @@ -317,8 +318,8 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { } const logs = Object.values(await AsyncLocalStorage.getStorage()); - const log = logs.find(log => log.sessions.includes(sessionId)); - if (log && log.origin === origin) { + const log = logs.find(log => log.origin === origin && log.sessions.includes(sessionId)); + if (log) { sendResponse(JSON.stringify({ pssh: log.pssh, keys: log.keys @@ -343,7 +344,7 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { if (log && log.origin === origin) { const idx = log.sessions.indexOf(sessionId); log.sessions.splice(idx, 1); - await AsyncLocalStorage.setStorage({ [log.pssh]: log }); + await AsyncLocalStorage.setStorage({ [log.pssh + origin]: log }); } sendResponse(); break; diff --git a/content_script.js b/content_script.js index 9b38530..6da8e85 100644 --- a/content_script.js +++ b/content_script.js @@ -569,7 +569,7 @@ data.serverCert = mediaKeySession._mediaKeys._emeShim.serverCert; } const challenge = await emitAndWaitForResponse("REQUEST", JSON.stringify(data)); - if (!challenge) { + if (!challenge || challenge === "null") { throw new Error("No challenge received from the background script"); } const challengeBytes = base64toUint8Array(challenge); diff --git a/pages/panel/panel.css b/pages/panel/panel.css index 987bd86..b1ac075 100644 --- a/pages/panel/panel.css +++ b/pages/panel/panel.css @@ -28,37 +28,6 @@ a:hover { text-decoration: underline; } -/* Dark mode */ -@media (prefers-color-scheme: dark) { - body { - background-color: #1b1b1b; - color: #d5d5d5; - } - a { - color: dodgerblue; - } - fieldset { - border-color: #535353; - } - input, button, select { - color-scheme: dark; - } - option { - color: #d5d5d5; - } - .expandableDiv { - background-color: #1b2027 !important; - } - .slider { - background-color: gray !important; - } - - .collapsible-section > summary { - background: #23272e; - color: #ffffff; - } -} - /* Switch */ #scopeToggleArea { margin-left: 10px; @@ -310,3 +279,33 @@ select[id*="-combobox"] { pointer-events: auto; filter: none; } + +/* Dark mode */ +@media (prefers-color-scheme: dark) { + body { + background-color: #1b1b1b; + color: #d5d5d5; + } + a { + color: dodgerblue; + } + fieldset { + border-color: #535353; + } + input, button, select { + color-scheme: dark; + } + option { + color: #d5d5d5; + } + .expandableDiv { + background-color: #1b2027; + } + .slider { + background-color: gray !important; + } + .collapsible-section > summary { + background: #23272e; + color: #ffffff; + } +} \ No newline at end of file diff --git a/pages/panel/panel.js b/pages/panel/panel.js index 3991095..e267561 100644 --- a/pages/panel/panel.js +++ b/pages/panel/panel.js @@ -432,7 +432,7 @@ async function appendLog(result, testDuplicate) { if (sessionSelect.selectedIndex === 0) return; event.preventDefault(); result.sessions.splice(sessionSelect.selectedIndex - 1, 1); - AsyncLocalStorage.setStorage({ [pssh]: result }); + AsyncLocalStorage.setStorage({ [pssh + result.origin]: result }); }); }