diff --git a/changes/default-config-toggles.md b/changes/default-config-toggles.md new file mode 100644 index 00000000..d69683e7 --- /dev/null +++ b/changes/default-config-toggles.md @@ -0,0 +1,5 @@ +type: changed +area: overlay + +Changed fresh-install default config to keep texthooker and stats from auto-opening browser tabs. +Changed fresh-install default config to enable AnkiConnect, Discord Rich Presence, subtitle-sidebar, and Yomitan-popup auto-pause by default, while disabling controller input by default. diff --git a/config.example.jsonc b/config.example.jsonc index c8e2f9eb..e86fb86d 100644 --- a/config.example.jsonc +++ b/config.example.jsonc @@ -18,7 +18,7 @@ // ========================================== "texthooker": { "launchAtStartup": true, // Launch texthooker server automatically when SubMiner starts. Values: true | false - "openBrowser": true // Open browser setting. Values: true | false + "openBrowser": false // Open browser setting. Values: true | false }, // Configure texthooker startup launch and browser opening behavior. // ========================================== @@ -58,7 +58,7 @@ // Override controller.buttonIndices when your pad reports non-standard raw button numbers. // ========================================== "controller": { - "enabled": true, // Enable overlay controller support through the Chrome Gamepad API. Values: true | false + "enabled": false, // Enable overlay controller support through the Chrome Gamepad API. Values: true | false "preferredGamepadId": "", // Preferred controller id saved from the controller config modal. "preferredGamepadLabel": "", // Preferred controller display label saved for diagnostics. "smoothScroll": true, // Use smooth scrolling for controller-driven popup scroll input. Values: true | false @@ -225,7 +225,7 @@ "enableJlpt": false, // Enable JLPT vocabulary level underlines. When disabled, JLPT tagging lookup and underlines are skipped. Values: true | false "preserveLineBreaks": false, // Preserve line breaks in visible overlay subtitle rendering. When false, line breaks are flattened to spaces for a single-line flow. Values: true | false "autoPauseVideoOnHover": true, // Automatically pause mpv playback while hovering subtitle text, then resume on leave. Values: true | false - "autoPauseVideoOnYomitanPopup": false, // Automatically pause mpv playback while Yomitan popup is open, then resume when popup closes. Values: true | false + "autoPauseVideoOnYomitanPopup": true, // Automatically pause mpv playback while Yomitan popup is open, then resume when popup closes. Values: true | false "hoverTokenColor": "#f4dbd6", // Hex color used for hovered subtitle token highlight in mpv. "hoverTokenBackgroundColor": "rgba(54, 58, 79, 0.84)", // CSS color used for hovered subtitle token background highlight in mpv. "nameMatchEnabled": true, // Enable subtitle token coloring for matches from the SubMiner character dictionary. Values: true | false @@ -290,7 +290,7 @@ // Hot-reload: subtitle sidebar changes apply live without restarting SubMiner. // ========================================== "subtitleSidebar": { - "enabled": false, // Enable the subtitle sidebar feature for parsed subtitle sources. Values: true | false + "enabled": true, // Enable the subtitle sidebar feature for parsed subtitle sources. Values: true | false "autoOpen": false, // Automatically open the subtitle sidebar once during overlay startup. Values: true | false "layout": "overlay", // Render the subtitle sidebar as a floating overlay or reserve space inside mpv. Values: overlay | embedded "toggleKey": "Backslash", // KeyboardEvent.code used to toggle the subtitle sidebar open and closed. @@ -330,7 +330,7 @@ // Most other AnkiConnect settings still require restart. // ========================================== "ankiConnect": { - "enabled": false, // Enable AnkiConnect integration. Values: true | false + "enabled": true, // Enable AnkiConnect integration. Values: true | false "url": "http://127.0.0.1:8765", // Url setting. "pollingRate": 3000, // Polling interval in milliseconds. "proxy": { @@ -506,7 +506,7 @@ // Uses official SubMiner Discord app assets for polished card visuals. // ========================================== "discordPresence": { - "enabled": false, // Enable optional Discord Rich Presence updates. Values: true | false + "enabled": true, // Enable optional Discord Rich Presence updates. Values: true | false "presenceStyle": "default", // Presence card text preset: "default" (clean bilingual), "meme" (Mining and crafting), "japanese" (fully JP), or "minimal". "updateIntervalMs": 3000, // Minimum interval between presence payload updates. "debounceMs": 750 // Debounce delay used to collapse bursty presence updates. @@ -553,6 +553,6 @@ "markWatchedKey": "KeyW", // Key code to mark the current video as watched and advance to the next playlist entry. "serverPort": 6969, // Port for the stats HTTP server. "autoStartServer": true, // Automatically start the stats server on launch. Values: true | false - "autoOpenBrowser": true // Automatically open the stats dashboard in a browser when the server starts. Values: true | false + "autoOpenBrowser": false // Automatically open the stats dashboard in a browser when the server starts. Values: true | false } // Local immersion stats dashboard served on localhost and available as an in-app overlay. } diff --git a/docs-site/configuration.md b/docs-site/configuration.md index c2972d65..7a3bad57 100644 --- a/docs-site/configuration.md +++ b/docs-site/configuration.md @@ -252,7 +252,7 @@ See `config.example.jsonc` for detailed configuration options. { "texthooker": { "launchAtStartup": true, - "openBrowser": true + "openBrowser": false } } ``` @@ -260,7 +260,7 @@ See `config.example.jsonc` for detailed configuration options. | Option | Values | Description | | ---------------- | --------------- | ------------------------------------------------------------------------------------------------ | | `launchAtStartup`| `true`, `false` | Start texthooker automatically with SubMiner startup (default: `true`) | -| `openBrowser` | `true`, `false` | Open browser tab when texthooker starts (default: `true`) | +| `openBrowser` | `true`, `false` | Open browser tab when texthooker starts (default: `false`) | ## Subtitle Display @@ -307,7 +307,7 @@ See `config.example.jsonc` for detailed configuration options. | `enableJlpt` | boolean | Enable JLPT level underline styling (`false` by default) | | `preserveLineBreaks` | boolean | Preserve line breaks in visible overlay subtitle rendering (`false` by default). Enable to mirror mpv line layout. | | `autoPauseVideoOnHover` | boolean | Pause playback while mouse hovers subtitle text, then resume on leave (`true` by default). | -| `autoPauseVideoOnYomitanPopup` | boolean | Pause playback while the Yomitan popup is open, then resume when the popup closes (`false` by default). | +| `autoPauseVideoOnYomitanPopup` | boolean | Pause playback while the Yomitan popup is open, then resume when the popup closes (`true` by default). | | `hoverTokenColor` | string | Hex color used for hovered subtitle token highlight in mpv (default: catppuccin mauve) | | `hoverTokenBackgroundColor` | string | CSS color used for hovered subtitle token background highlight (default: semi-transparent dark) | | `nameMatchEnabled` | boolean | Enable subtitle token coloring for matches from the SubMiner character dictionary (`true` by default) | @@ -355,7 +355,7 @@ Configure the parsed-subtitle sidebar modal. ```json { "subtitleSidebar": { - "enabled": false, + "enabled": true, "autoOpen": false, "layout": "overlay", "toggleKey": "Backslash", @@ -369,7 +369,7 @@ Configure the parsed-subtitle sidebar modal. | Option | Values | Description | | --------------------------- | ---------------- | -------------------------------------------------------------------------------- | -| `enabled` | boolean | Enable subtitle sidebar support (`false` by default) | +| `enabled` | boolean | Enable subtitle sidebar support (`true` by default) | | `autoOpen` | boolean | Open sidebar automatically on overlay startup (`false` by default) | | `layout` | string | `"overlay"` floats over mpv; `"embedded"` reserves right-side player space to mimic browser-like layout | | `toggleKey` | string | `KeyboardEvent.code` used to open/close the sidebar (default: `"Backslash"`) | @@ -848,7 +848,7 @@ This example is intentionally compact. The option table below documents availabl | Option | Values | Description | | --------------------------------------- | --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | -| `enabled` | `true`, `false` | Enable AnkiConnect integration (default: `false`) | +| `enabled` | `true`, `false` | Enable AnkiConnect integration (default: `true`) | | `url` | string (URL) | AnkiConnect API URL (default: `http://127.0.0.1:8765`) | | `pollingRate` | number (ms) | How often to check for new cards in polling mode (default: `3000`; ignored for direct proxy `addNote`/`addNotes` updates) | | `proxy.enabled` | `true`, `false` | Enable local AnkiConnect-compatible proxy for push-based auto-enrichment (default: `true`) | @@ -1197,7 +1197,7 @@ Jellyfin remote auto-connect runs only when all three are `true`: `jellyfin.enab ### Discord Rich Presence -Discord Rich Presence is optional and disabled by default. When enabled, SubMiner publishes a polished activity card that reflects current media title, playback state, and session timer. +Discord Rich Presence is enabled by default. SubMiner publishes a polished activity card that reflects current media title, playback state, and session timer unless you turn it off. ```json { @@ -1212,14 +1212,14 @@ Discord Rich Presence is optional and disabled by default. When enabled, SubMine | Option | Values | Description | | ------------------ | ------------------------------------------------- | ---------------------------------------------------------- | -| `enabled` | `true`, `false` | Enable Discord Rich Presence updates (default: `false`) | +| `enabled` | `true`, `false` | Enable Discord Rich Presence updates (default: `true`) | | `presenceStyle` | `"default"`, `"meme"`, `"japanese"`, `"minimal"` | Card text preset (default: `"default"`) | | `updateIntervalMs` | number | Minimum interval between activity updates in milliseconds | | `debounceMs` | number | Debounce window for bursty playback events in milliseconds | Setup steps: -1. Set `discordPresence.enabled` to `true`. +1. Leave `discordPresence.enabled` as `true` or set it explicitly if you previously disabled it. 2. Optionally set `discordPresence.presenceStyle` to choose a card text preset. 3. Restart SubMiner. @@ -1323,7 +1323,7 @@ Configure the local stats UI served from SubMiner and the in-app stats overlay t "toggleKey": "Backquote", "serverPort": 6969, "autoStartServer": true, - "autoOpenBrowser": true + "autoOpenBrowser": false } } ``` @@ -1333,7 +1333,7 @@ Configure the local stats UI served from SubMiner and the in-app stats overlay t | `toggleKey` | Electron key code | Overlay-local key code used to toggle the stats overlay. Default `Backquote`. | | `serverPort` | integer | Localhost port for the browser stats UI. Default `6969`. | | `autoStartServer` | `true`, `false` | Start the local stats HTTP server automatically once immersion tracking is active. Default `true`. | -| `autoOpenBrowser` | `true`, `false` | When `subminer stats` starts the server on demand, also open the dashboard in your default browser. Default `true`. | +| `autoOpenBrowser` | `true`, `false` | When `subminer stats` starts the server on demand, also open the dashboard in your default browser. Default `false`. | Usage notes: diff --git a/docs-site/immersion-tracking.md b/docs-site/immersion-tracking.md index 9d38c263..357ee3fe 100644 --- a/docs-site/immersion-tracking.md +++ b/docs-site/immersion-tracking.md @@ -72,7 +72,7 @@ Stats server config lives under `stats`: "toggleKey": "Backquote", "serverPort": 6969, "autoStartServer": true, - "autoOpenBrowser": true + "autoOpenBrowser": false } } ``` diff --git a/docs-site/mining-workflow.md b/docs-site/mining-workflow.md index d4107863..683f65e1 100644 --- a/docs-site/mining-workflow.md +++ b/docs-site/mining-workflow.md @@ -51,7 +51,7 @@ The visible overlay renders subtitles as tokenized hoverable word spans. Each wo - Word-level hover targets for Yomitan lookup - Auto pause/resume on subtitle hover (enabled by default via `subtitleStyle.autoPauseVideoOnHover`) -- Optional pause while the Yomitan popup is open (`subtitleStyle.autoPauseVideoOnYomitanPopup`) +- Auto pause/resume while the Yomitan popup is open (enabled by default via `subtitleStyle.autoPauseVideoOnYomitanPopup`) - Right-click to pause/resume - Right-click + drag to reposition subtitles - Modal dialogs for Jimaku search, field grouping, subsync, and runtime options diff --git a/docs-site/public/config.example.jsonc b/docs-site/public/config.example.jsonc index c8e2f9eb..e86fb86d 100644 --- a/docs-site/public/config.example.jsonc +++ b/docs-site/public/config.example.jsonc @@ -18,7 +18,7 @@ // ========================================== "texthooker": { "launchAtStartup": true, // Launch texthooker server automatically when SubMiner starts. Values: true | false - "openBrowser": true // Open browser setting. Values: true | false + "openBrowser": false // Open browser setting. Values: true | false }, // Configure texthooker startup launch and browser opening behavior. // ========================================== @@ -58,7 +58,7 @@ // Override controller.buttonIndices when your pad reports non-standard raw button numbers. // ========================================== "controller": { - "enabled": true, // Enable overlay controller support through the Chrome Gamepad API. Values: true | false + "enabled": false, // Enable overlay controller support through the Chrome Gamepad API. Values: true | false "preferredGamepadId": "", // Preferred controller id saved from the controller config modal. "preferredGamepadLabel": "", // Preferred controller display label saved for diagnostics. "smoothScroll": true, // Use smooth scrolling for controller-driven popup scroll input. Values: true | false @@ -225,7 +225,7 @@ "enableJlpt": false, // Enable JLPT vocabulary level underlines. When disabled, JLPT tagging lookup and underlines are skipped. Values: true | false "preserveLineBreaks": false, // Preserve line breaks in visible overlay subtitle rendering. When false, line breaks are flattened to spaces for a single-line flow. Values: true | false "autoPauseVideoOnHover": true, // Automatically pause mpv playback while hovering subtitle text, then resume on leave. Values: true | false - "autoPauseVideoOnYomitanPopup": false, // Automatically pause mpv playback while Yomitan popup is open, then resume when popup closes. Values: true | false + "autoPauseVideoOnYomitanPopup": true, // Automatically pause mpv playback while Yomitan popup is open, then resume when popup closes. Values: true | false "hoverTokenColor": "#f4dbd6", // Hex color used for hovered subtitle token highlight in mpv. "hoverTokenBackgroundColor": "rgba(54, 58, 79, 0.84)", // CSS color used for hovered subtitle token background highlight in mpv. "nameMatchEnabled": true, // Enable subtitle token coloring for matches from the SubMiner character dictionary. Values: true | false @@ -290,7 +290,7 @@ // Hot-reload: subtitle sidebar changes apply live without restarting SubMiner. // ========================================== "subtitleSidebar": { - "enabled": false, // Enable the subtitle sidebar feature for parsed subtitle sources. Values: true | false + "enabled": true, // Enable the subtitle sidebar feature for parsed subtitle sources. Values: true | false "autoOpen": false, // Automatically open the subtitle sidebar once during overlay startup. Values: true | false "layout": "overlay", // Render the subtitle sidebar as a floating overlay or reserve space inside mpv. Values: overlay | embedded "toggleKey": "Backslash", // KeyboardEvent.code used to toggle the subtitle sidebar open and closed. @@ -330,7 +330,7 @@ // Most other AnkiConnect settings still require restart. // ========================================== "ankiConnect": { - "enabled": false, // Enable AnkiConnect integration. Values: true | false + "enabled": true, // Enable AnkiConnect integration. Values: true | false "url": "http://127.0.0.1:8765", // Url setting. "pollingRate": 3000, // Polling interval in milliseconds. "proxy": { @@ -506,7 +506,7 @@ // Uses official SubMiner Discord app assets for polished card visuals. // ========================================== "discordPresence": { - "enabled": false, // Enable optional Discord Rich Presence updates. Values: true | false + "enabled": true, // Enable optional Discord Rich Presence updates. Values: true | false "presenceStyle": "default", // Presence card text preset: "default" (clean bilingual), "meme" (Mining and crafting), "japanese" (fully JP), or "minimal". "updateIntervalMs": 3000, // Minimum interval between presence payload updates. "debounceMs": 750 // Debounce delay used to collapse bursty presence updates. @@ -553,6 +553,6 @@ "markWatchedKey": "KeyW", // Key code to mark the current video as watched and advance to the next playlist entry. "serverPort": 6969, // Port for the stats HTTP server. "autoStartServer": true, // Automatically start the stats server on launch. Values: true | false - "autoOpenBrowser": true // Automatically open the stats dashboard in a browser when the server starts. Values: true | false + "autoOpenBrowser": false // Automatically open the stats dashboard in a browser when the server starts. Values: true | false } // Local immersion stats dashboard served on localhost and available as an in-app overlay. } diff --git a/docs-site/subtitle-sidebar.md b/docs-site/subtitle-sidebar.md index 42be19a4..5028d884 100644 --- a/docs-site/subtitle-sidebar.md +++ b/docs-site/subtitle-sidebar.md @@ -2,7 +2,7 @@ The subtitle sidebar displays the full parsed cue list for the active subtitle file as a scrollable panel alongside mpv. It lets you review past and upcoming lines, click any cue to seek directly to that moment, and follow along without depending on the transient overlay subtitles. -The sidebar is opt-in and disabled by default. Enable it under `subtitleSidebar.enabled` in your config. +The sidebar is enabled by default. Set `subtitleSidebar.enabled` to `false` if you want to turn it off. ## How It Works @@ -29,7 +29,7 @@ Enable and configure the sidebar under `subtitleSidebar` in your config file: ```json { "subtitleSidebar": { - "enabled": false, + "enabled": true, "autoOpen": false, "layout": "overlay", "toggleKey": "Backslash", @@ -43,7 +43,7 @@ Enable and configure the sidebar under `subtitleSidebar` in your config file: | Option | Type | Default | Description | | --------------------------- | ------- | ------------ | -------------------------------------------------------------------------------------------------- | -| `enabled` | boolean | `false` | Enable subtitle sidebar support | +| `enabled` | boolean | `true` | Enable subtitle sidebar support | | `autoOpen` | boolean | `false` | Open the sidebar automatically on overlay startup | | `layout` | string | `"overlay"` | `"overlay"` floats over mpv; `"embedded"` reserves right-side player space | | `toggleKey` | string | `"Backslash"` | `KeyboardEvent.code` for the toggle shortcut | diff --git a/docs-site/usage.md b/docs-site/usage.md index 5823c1d6..722b2de6 100644 --- a/docs-site/usage.md +++ b/docs-site/usage.md @@ -297,7 +297,7 @@ See [Keyboard Shortcuts](/shortcuts) for the full reference, including mining sh Useful overlay-local default keybinding: `Ctrl+Alt+P` opens the playlist browser for the current video's parent directory and the live mpv queue so you can append, reorder, remove, or jump between episodes without leaving playback. -Hovering over subtitle text pauses mpv by default; leaving resumes it. Disable with `subtitleStyle.autoPauseVideoOnHover: false`. To also pause while the Yomitan popup is open, set `subtitleStyle.autoPauseVideoOnYomitanPopup: true`. +Hovering over subtitle text pauses mpv by default; leaving resumes it. Yomitan popups also pause playback by default. Set `subtitleStyle.autoPauseVideoOnHover: false` or `subtitleStyle.autoPauseVideoOnYomitanPopup: false` to disable either behavior. ### Drag-and-Drop diff --git a/docs-site/websocket-texthooker-api.md b/docs-site/websocket-texthooker-api.md index 01a22f79..bd51d4f0 100644 --- a/docs-site/websocket-texthooker-api.md +++ b/docs-site/websocket-texthooker-api.md @@ -34,7 +34,7 @@ SubMiner's integration ports are configured in `config.jsonc`. }, "texthooker": { "launchAtStartup": true, - "openBrowser": true + "openBrowser": false } } ``` diff --git a/src/config/config.test.ts b/src/config/config.test.ts index 13c54660..3da46b45 100644 --- a/src/config/config.test.ts +++ b/src/config/config.test.ts @@ -37,6 +37,9 @@ test('loads defaults when config is missing', () => { assert.equal(config.jellyfin.remoteControlDeviceName, 'SubMiner'); assert.equal(config.ai.enabled, false); assert.equal(config.ai.apiKeyCommand, ''); + assert.equal(config.texthooker.openBrowser, false); + assert.equal(config.controller.enabled, false); + assert.equal(config.ankiConnect.enabled, true); assert.deepEqual(config.ankiConnect.ai, { enabled: false, model: '', @@ -47,12 +50,13 @@ test('loads defaults when config is missing', () => { assert.equal(config.startupWarmups.yomitanExtension, true); assert.equal(config.startupWarmups.subtitleDictionaries, true); assert.equal(config.startupWarmups.jellyfinRemoteSession, true); - assert.equal(config.discordPresence.enabled, false); + assert.equal(config.discordPresence.enabled, true); assert.equal(config.discordPresence.updateIntervalMs, 3_000); assert.equal(config.subtitleStyle.backgroundColor, 'rgb(30, 32, 48, 0.88)'); assert.equal(config.subtitleStyle.preserveLineBreaks, false); assert.equal(config.subtitleStyle.autoPauseVideoOnHover, true); - assert.equal(config.subtitleStyle.autoPauseVideoOnYomitanPopup, false); + assert.equal(config.subtitleStyle.autoPauseVideoOnYomitanPopup, true); + assert.equal(config.subtitleSidebar.enabled, true); assert.equal(config.subtitleStyle.hoverTokenColor, '#f4dbd6'); assert.equal(config.subtitleStyle.hoverTokenBackgroundColor, 'rgba(54, 58, 79, 0.84)'); assert.equal( @@ -96,6 +100,7 @@ test('loads defaults when config is missing', () => { assert.equal(config.immersionTracking.lifetimeSummaries?.global, true); assert.equal(config.immersionTracking.lifetimeSummaries?.anime, true); assert.equal(config.immersionTracking.lifetimeSummaries?.media, true); + assert.equal(config.stats.autoOpenBrowser, false); }); test('throws actionable startup parse error for malformed config at construction time', () => { @@ -2122,7 +2127,23 @@ test('template generator includes known keys', () => { assert.match(output, /"port": 6678,? \/\/ Annotated subtitle websocket server port\./); assert.match( output, - /"enabled": false,? \/\/ Enable AnkiConnect integration\. Values: true \| false/, + /"openBrowser": false,? \/\/ Open browser setting\. Values: true \| false/, + ); + assert.match( + output, + /"enabled": false,? \/\/ Enable overlay controller support through the Chrome Gamepad API\. Values: true \| false/, + ); + assert.match( + output, + /"autoPauseVideoOnYomitanPopup": true,? \/\/ Automatically pause mpv playback while Yomitan popup is open, then resume when popup closes\. Values: true \| false/, + ); + assert.match( + output, + /"enabled": true,? \/\/ Enable the subtitle sidebar feature for parsed subtitle sources\. Values: true \| false/, + ); + assert.match( + output, + /"enabled": true,? \/\/ Enable AnkiConnect integration\. Values: true \| false/, ); assert.match( output, @@ -2136,6 +2157,14 @@ test('template generator includes known keys', () => { output, /"enabled": false,? \/\/ Enable shared OpenAI-compatible AI provider features\. Values: true \| false/, ); + assert.match( + output, + /"enabled": true,? \/\/ Enable optional Discord Rich Presence updates\. Values: true \| false/, + ); + assert.match( + output, + /"autoOpenBrowser": false,? \/\/ Automatically open the stats dashboard in a browser when the server starts\. Values: true \| false/, + ); assert.match( output, /"primarySubLanguages": \[\s*"ja",\s*"jpn"\s*\],? \/\/ Comma-separated primary subtitle language priority for managed subtitle auto-selection\./, diff --git a/src/config/definitions/defaults-core.ts b/src/config/definitions/defaults-core.ts index 302cfcec..9574b67b 100644 --- a/src/config/definitions/defaults-core.ts +++ b/src/config/definitions/defaults-core.ts @@ -31,10 +31,10 @@ export const CORE_DEFAULT_CONFIG: Pick< }, texthooker: { launchAtStartup: true, - openBrowser: true, + openBrowser: false, }, controller: { - enabled: true, + enabled: false, preferredGamepadId: '', preferredGamepadLabel: '', smoothScroll: true, diff --git a/src/config/definitions/defaults-integrations.ts b/src/config/definitions/defaults-integrations.ts index 104d17d8..f1a6bcb4 100644 --- a/src/config/definitions/defaults-integrations.ts +++ b/src/config/definitions/defaults-integrations.ts @@ -13,7 +13,7 @@ export const INTEGRATIONS_DEFAULT_CONFIG: Pick< | 'youtubeSubgen' > = { ankiConnect: { - enabled: false, + enabled: true, url: 'http://127.0.0.1:8765', pollingRate: 3000, proxy: { @@ -132,7 +132,7 @@ export const INTEGRATIONS_DEFAULT_CONFIG: Pick< transcodeVideoCodec: 'h264', }, discordPresence: { - enabled: false, + enabled: true, presenceStyle: 'default' as const, updateIntervalMs: 3_000, debounceMs: 750, diff --git a/src/config/definitions/defaults-stats.ts b/src/config/definitions/defaults-stats.ts index c3838d22..1b6a6bec 100644 --- a/src/config/definitions/defaults-stats.ts +++ b/src/config/definitions/defaults-stats.ts @@ -6,6 +6,6 @@ export const STATS_DEFAULT_CONFIG: Pick = { markWatchedKey: 'KeyW', serverPort: 6969, autoStartServer: true, - autoOpenBrowser: true, + autoOpenBrowser: false, }, }; diff --git a/src/config/definitions/defaults-subtitle.ts b/src/config/definitions/defaults-subtitle.ts index a581169f..88371974 100644 --- a/src/config/definitions/defaults-subtitle.ts +++ b/src/config/definitions/defaults-subtitle.ts @@ -5,7 +5,7 @@ export const SUBTITLE_DEFAULT_CONFIG: Pick { applyIntegrationConfig(context); - assert.equal(context.resolved.discordPresence.enabled, false); + assert.equal(context.resolved.discordPresence.enabled, true); assert.equal(context.resolved.discordPresence.updateIntervalMs, 3_000); assert.equal(context.resolved.discordPresence.debounceMs, 750); diff --git a/src/config/resolve/subtitle-sidebar.test.ts b/src/config/resolve/subtitle-sidebar.test.ts index 6b9b9c0f..b7cb6fb7 100644 --- a/src/config/resolve/subtitle-sidebar.test.ts +++ b/src/config/resolve/subtitle-sidebar.test.ts @@ -71,7 +71,7 @@ test('subtitleSidebar falls back and warns on invalid values', () => { applySubtitleDomainConfig(context); - assert.equal(context.resolved.subtitleSidebar.enabled, false); + assert.equal(context.resolved.subtitleSidebar.enabled, true); assert.equal(context.resolved.subtitleSidebar.autoOpen, false); assert.equal(context.resolved.subtitleSidebar.layout, 'overlay'); assert.equal(context.resolved.subtitleSidebar.maxWidth, 420); diff --git a/src/config/resolve/subtitle-style.test.ts b/src/config/resolve/subtitle-style.test.ts index da8ad28b..2090d741 100644 --- a/src/config/resolve/subtitle-style.test.ts +++ b/src/config/resolve/subtitle-style.test.ts @@ -56,7 +56,7 @@ test('subtitleStyle autoPauseVideoOnYomitanPopup falls back on invalid value', ( applySubtitleDomainConfig(context); - assert.equal(context.resolved.subtitleStyle.autoPauseVideoOnYomitanPopup, false); + assert.equal(context.resolved.subtitleStyle.autoPauseVideoOnYomitanPopup, true); assert.ok( warnings.some( (warning) =>