Files
SubMiner/backlog/tasks/task-359 - Update-default-startup-and-subtitle-style-options.md
T
sudacode bc8d1edf6f feat(config): update default startup and subtitle style options
- Disable texthooker, websocket, and annotationWebsocket servers by default
- Update primary subtitle font family to include Hiragino Sans
- Switch subtitle backgrounds to transparent for primary and secondary
- Unify text shadow to stronger two-layer value for both subtitle tracks
- Set JLPT N4 default color to #8bd5ca
- Keep Yomitan popup auto-pause enabled and secondary font stack unchanged
- Update tests, generated config examples, and docs-site to match
2026-05-12 23:29:36 -07:00

5.1 KiB

id, title, status, assignee, created_date, updated_date, labels, dependencies, priority
id title status assignee created_date updated_date labels dependencies priority
TASK-359 Update default startup and subtitle style options Done
Codex
2026-05-13 06:16 2026-05-13 06:28
config
medium

Description

Change fresh-install defaults so texthooker and associated subtitle websocket servers are disabled unless explicitly enabled, Yomitan popup auto-pause remains enabled by default, and primary/secondary subtitle style defaults match the requested font, transparent background, and stronger shadow. Keep generated example config and docs aligned with resolved defaults.

Acceptance Criteria

  • #1 Fresh default config has texthooker startup disabled by default.
  • #2 Fresh default config disables associated subtitle websocket servers by default, or exposes/uses an existing config option that does so.
  • #3 Fresh default config keeps subtitleStyle.autoPauseVideoOnYomitanPopup enabled by default.
  • #4 Fresh default config uses fontFamily Hiragino Sans, M PLUS 1, Source Han Sans JP, Noto Sans CJK JP for primary subtitles.
  • #5 Fresh default config keeps secondary subtitle fontFamily as Inter, Noto Sans, Helvetica Neue, sans-serif.
  • #6 Fresh default config uses textShadow 0 2px 6px rgba(0,0,0,0.9), 0 0 12px rgba(0,0,0,0.55) for primary and secondary subtitles.
  • #7 Fresh default config uses transparent subtitle backgrounds for primary and secondary subtitles.
  • #8 Tests and generated/docs config examples are updated for the new defaults.
  • #9 Fresh default config uses #8bd5ca for the fourth frequency band and JLPT N4 subtitle color.

Implementation Plan

  1. Update focused config tests first for the requested fresh-install defaults.

  2. Change default config values in src/config/definitions/defaults-core.ts and src/config/definitions/defaults-subtitle.ts.

  3. Regenerate generated config examples with the repo generator.

  4. Update docs-site configuration prose/snippets for the new defaults.

  5. Run focused config/example tests and mark acceptance criteria when verified.

  6. Include the requested JLPT N4 default color adjustment and verify the existing fourth frequency band default remains #8bd5ca.

  7. Restore the secondary subtitle font default to its previous Inter, Noto Sans, Helvetica Neue, sans-serif stack while keeping the new primary subtitle font default.

Implementation Notes

Context: existing config already has websocket.enabled (true | false | "auto") and annotationWebsocket.enabled (boolean), so disabling associated websockets can be handled by default changes instead of adding a new config surface.

Scope update from user: also set JLPT N4 default color to #8bd5ca; fourth frequency band is already #8bd5ca in current defaults and has existing regression coverage.

Verification: bun run test:config, bun run docs:test, bun run docs:build, bun run changelog:lint, bun run format:check:src, bun run typecheck, bun run build, bun run test:smoke:dist, and git diff --check passed. Earlier full fast/env suites also passed during this task (bun run test:fast, bun run test:env) before the final N4-only default tweak; focused config/docs/build/smoke checks were rerun after that tweak.

Scope correction from user: secondary subtitles should keep the previous font stack. Interpreting the typo snas-serif as the previous literal default sans-serif.

Correction verification: restored secondary subtitle default font to Inter, Noto Sans, Helvetica Neue, sans-serif. Passed bun run test:config, bun run docs:test, bun run changelog:lint, bun run format:check:src, bun run typecheck, and git diff --check. Verified generated examples and docs contain the restored secondary font.

Final Summary

Updated fresh-install defaults so texthooker startup, the regular subtitle websocket, and the annotation websocket are disabled by default while preserving Yomitan popup auto-pause. Updated primary subtitle defaults to the requested Japanese font stack, kept secondary subtitle font at the prior Inter, Noto Sans, Helvetica Neue, sans-serif stack, and applied shared stronger text shadow, transparent backgrounds, and teal N4/fourth-band color. Regenerated config examples, updated docs-site configuration docs, and added a changelog fragment.

Verification passed: bun run test:config, bun run docs:test, bun run docs:build, bun run changelog:lint, bun run format:check:src, bun run typecheck, bun run build, bun run test:smoke:dist, and git diff --check. After the secondary-font correction, reran bun run test:config, bun run docs:test, bun run changelog:lint, bun run format:check:src, bun run typecheck, and git diff --check. bun run test:fast and bun run test:env also passed during the task before the final small default corrections; affected focused checks were rerun afterward.