refactor: make subsync manual-only, default opt-in features off, preserv

- Remove subsync.defaultMode; subsync always opens manual picker
- Default jellyfinRemoteSession warmup and nameMatchEnabled to false
- Stop rewriting config file during legacy migration (resolve in-memory only)
- Fix macOS quit on window-close for --setup launch mode
This commit is contained in:
2026-05-20 21:37:08 -07:00
parent 02a5d95542
commit 525cb7e1fd
35 changed files with 195 additions and 241 deletions
+11 -1
View File
@@ -258,7 +258,7 @@ test('computeWordClass preserves known and n+1 classes while adding JLPT classes
assert.equal(computeWordClass(nPlusOneJlpt), 'word word-n-plus-one word-jlpt-n2');
});
test('computeWordClass applies name-match class ahead of known, n+1, frequency, and JLPT classes', () => {
test('computeWordClass applies name-match class ahead of known, n+1, frequency, and JLPT classes when enabled', () => {
const token = createToken({
isKnown: true,
isNPlusOneTarget: true,
@@ -270,6 +270,7 @@ test('computeWordClass applies name-match class ahead of known, n+1, frequency,
assert.equal(
computeWordClass(token, {
nameMatchEnabled: true,
enabled: true,
topX: 100,
mode: 'single',
@@ -280,6 +281,15 @@ test('computeWordClass applies name-match class ahead of known, n+1, frequency,
);
});
test('computeWordClass skips name-match class by default', () => {
const token = createToken({
surface: 'アクア',
}) as MergedToken & { isNameMatch?: boolean };
token.isNameMatch = true;
assert.equal(computeWordClass(token), 'word');
});
test('computeWordClass skips name-match class when disabled', () => {
const token = createToken({
surface: 'アクア',