mirror of
https://github.com/ksyasuda/SubMiner.git
synced 2026-03-06 19:57:26 -08:00
fix: improve yomitan keyboard navigation and payload handling
This commit is contained in:
@@ -166,7 +166,9 @@ test('buildSubminerScriptOpts includes aniskip payload fields', () => {
|
||||
assert.match(opts, /subminer-aniskip_intro_end=62/);
|
||||
assert.match(opts, /subminer-aniskip_lookup_status=ready/);
|
||||
assert.ok(payloadMatch !== null);
|
||||
const payload = JSON.parse(decodeURIComponent(payloadMatch[1]));
|
||||
assert.equal(payloadMatch[1].includes('%'), false);
|
||||
const payloadJson = Buffer.from(payloadMatch[1], 'base64url').toString('utf-8');
|
||||
const payload = JSON.parse(payloadJson);
|
||||
assert.equal(payload.found, true);
|
||||
const first = payload.results?.[0];
|
||||
assert.equal(first.skip_type, 'op');
|
||||
|
||||
@@ -532,7 +532,9 @@ function buildLauncherAniSkipPayload(aniSkipMetadata: AniSkipMetadata): string |
|
||||
},
|
||||
],
|
||||
};
|
||||
return encodeURIComponent(JSON.stringify(payload));
|
||||
// mpv --script-opts treats `%` as an escape prefix, so URL-encoding can break parsing.
|
||||
// Base64url stays script-opts-safe and is decoded by the plugin launcher payload parser.
|
||||
return Buffer.from(JSON.stringify(payload), 'utf-8').toString('base64url');
|
||||
}
|
||||
|
||||
export function buildSubminerScriptOpts(
|
||||
|
||||
Reference in New Issue
Block a user