Skip to content

Commit 53d5135

Browse files
committed
fix: mv2 options blank
1 parent 756ba99 commit 53d5135

2 files changed

Lines changed: 37 additions & 2 deletions

File tree

src/pages/background/request-handler/dnr-handler.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -278,7 +278,6 @@ class DNRRequestHandler {
278278
if (detectRunner(target) === 'dnr' && target.enable) {
279279
this.addRule(
280280
createDNR(target, getRuleId(target.id, undefined, target.ruleType)),
281-
282281
target,
283282
);
284283
}

src/share/core/storage.ts

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,41 @@ export function getLocal() {
2323
}
2424

2525
export function getSession() {
26-
return browser.storage.session;
26+
if ('session' in browser.storage) {
27+
return browser.storage.session;
28+
}
29+
30+
const mapKey = (key: string) => `sess_${key}`;
31+
32+
const session = new Proxy(getLocal(), {
33+
get(target, prop) {
34+
if (prop === 'set') {
35+
return (items: Record<string, any>) => {
36+
target.set(
37+
Object.fromEntries(
38+
Object.entries(items).map(([key, value]) => [
39+
mapKey(key),
40+
{ value },
41+
]),
42+
),
43+
);
44+
};
45+
}
46+
if (prop === 'get') {
47+
return (keys: string | string[]) => {
48+
return target.get(
49+
Array.isArray(keys) ? keys.map(mapKey) : mapKey(keys),
50+
);
51+
};
52+
}
53+
if (prop === 'remove') {
54+
return (keys: string | string[]) => {
55+
target.remove(Array.isArray(keys) ? keys.map(mapKey) : mapKey(keys));
56+
};
57+
}
58+
return Reflect.get(target, prop);
59+
},
60+
});
61+
62+
return session;
2763
}

0 commit comments

Comments
 (0)