* Fix the collapse button bar in dark mode

* Fix mks.remove() and the session remover in panel UI ignoring the origin
* Misc logic changes
This commit is contained in:
Ingan121
2025-08-30 19:56:39 +09:00
parent 55a910e4fe
commit 11637a784f
4 changed files with 38 additions and 38 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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;
}
}

View File

@@ -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 });
});
}