04682a02cc
feat: improve stats dashboard and annotation settings
2026-03-17 20:05:07 -07:00
650e95cdc3
Feature/renderer performance ( #24 )
2026-03-17 20:05:07 -07:00
46fbea902a
Harden stats APIs and fix Electron Yomitan debug runtime
...
- Validate stats session IDs/limits and add AnkiConnect request timeouts
- Stabilize stats window/runtime lifecycle and tighten window security defaults
- Fix Electron CLI debug startup by unsetting `ELECTRON_RUN_AS_NODE` and wiring Yomitan session state
- Expand regression coverage for tracker queries/events ordering and session aggregates
- Update docs for stats dashboard usage and Yomitan lookup troubleshooting
2026-03-17 20:05:07 -07:00
ff2d9141bc
feat(stats): add episodes completed and anime completed to tracking snapshot
...
- Query watched videos count and anime with all episodes watched
- Display in overview tracking snapshot
- Remove efficiency section from trends
2026-03-17 20:05:07 -07:00
9530445a95
feat: add AniList rate limiter and remaining backlog tasks
2026-03-17 20:05:07 -07:00
ffe5c6e1c6
feat(stats): add stats server, API endpoints, config, and Anki integration
...
- Hono HTTP server with 20+ REST endpoints for stats data
- Stats overlay BrowserWindow with toggle keybinding
- IPC channel definitions and preload bridge
- Stats config section (toggleKey, serverPort, autoStartServer, autoOpenBrowser)
- Config resolver for stats section
- AnkiConnect proxy endpoints (guiBrowse, notesInfo)
- Note ID passthrough in card mining callback chain
- Stats CLI command with autoOpenBrowser respect
2026-03-17 20:04:40 -07:00
fe8bb167c4
feat(immersion): add anime metadata, occurrence tracking, and schema upgrades
...
- Add imm_anime table with AniList integration
- Add imm_subtitle_lines, imm_word_line_occurrences, imm_kanji_line_occurrences
- Add POS fields (part_of_speech, pos1, pos2, pos3) to imm_words
- Add anime metadata parsing with guessit fallback
- Add video duration tracking and watched status
- Add episode, streak, trend, and word/kanji detail queries
- Deduplicate subtitle line recording within sessions
- Pass Anki note IDs through card mining callback chain
2026-03-17 20:01:23 -07:00
50b45cac0b
Summarize JLPT duplicate term conflicts into a single startup log ( #26 )
2026-03-16 01:08:40 -07:00
478869ff28
feat(controller): add inline remap modal with descriptor-based bindings ( #21 )
2026-03-15 15:55:45 -07:00
9eed37420e
Automate AUR publish in tagged release workflow ( #22 )
2026-03-14 19:49:46 -07:00
1b56360a24
feat(yomitan): add read-only external profile support for shared dictionaries ( #18 )
2026-03-12 01:17:34 -07:00
4d7c80f2e4
Add overlay gamepad support for keyboard-only mode ( #17 )
2026-03-11 20:34:46 -07:00
fed60c265d
style: restore repo formatting
2026-03-09 18:10:32 -07:00
e59192bbe1
Improve startup dictionary progress and fix overlay/plugin input handlin
...
- show a dedicated startup OSD "building" phase for character dictionary sync
- forward bare `Tab` from visible overlay to mpv so AniSkip works while focused
- fix Windows plugin env override resolution for `SUBMINER_BINARY_PATH`
2026-03-09 02:35:03 -07:00
e0f82d28f0
Improve startup dictionary sync UX and default playback keybindings
...
- Add default `f` fullscreen overlay binding and switch default AniSkip skip key to `Tab`
- Make character-dictionary auto-sync non-blocking at startup with tokenization gating for Yomitan mutations
- Add ordered startup OSD progress (checking/generating/updating/importing), refresh current subtitle on sync completion, and extend regression tests
2026-03-09 00:50:32 -07:00
2127f759ca
fix: correct guessit title parsing for character dictionary sync
2026-03-08 23:03:48 -07:00
c799a8de3c
Prepare Windows release and signing process ( #16 )
2026-03-08 19:51:30 -07:00
9e46176519
feat(ai): split shared provider config from Anki runtime
2026-03-08 16:10:51 -07:00
a6ece5388a
fix(launcher): remove youtube subtitle mode
2026-03-08 16:03:24 -07:00
93cd688625
fix: harden AI subtitle fix response parsing
2026-03-08 16:01:40 -07:00
d0c11d347b
refactor: remove root node and npm workflow deps
2026-03-07 21:19:14 -08:00
e18985fb14
Enhance AniList character dictionary sync and subtitle features ( #15 )
2026-03-07 18:30:59 -08:00
0cac446725
fix: preserve keyboard subtitle navigation state
2026-03-05 18:39:40 -08:00
beeeee5ebd
fix(core): recopy Yomitan extension when patched scripts drift
2026-03-04 23:04:11 -08:00
fdbf769760
feat(renderer): add keyboard-driven yomitan navigation and popup controls
2026-03-04 23:04:11 -08:00
0a36d1aa99
fix(anki): force Yomitan proxy server sync for card auto-enhancement
2026-03-04 23:04:11 -08:00
9a30419a23
fix(tokenizer): tighten frequency highlighting exclusions
2026-03-04 23:04:11 -08:00
10ef535f9a
feat(subsync): add replace option and deterministic retimed naming
2026-03-03 00:26:31 -08:00
be4db24861
make pretty
2026-03-02 02:45:51 -08:00
83d21c4b6d
fix: narrow fallback frequency filter type predicate
2026-03-02 02:44:07 -08:00
e744fab067
fix: unblock autoplay on tokenization-ready and defer annotation loading
2026-03-02 02:43:09 -08:00
aff4e91bbb
fix(startup): async dictionary loading and unblock first tokenization
...
- move JLPT/frequency dictionary init off sync fs APIs and add cooperative yielding during entry processing
- decouple first tokenization from full warmup by gating only on Yomitan readiness while MeCab/dictionary warmups continue in parallel
- update mpv pause-until-ready OSD copy to tokenization-focused wording and refresh gate regression assertions
2026-03-02 01:48:17 -08:00
737101fe9e
fix(tokenizer): lazy yomitan term-only frequency fallback
2026-03-02 01:45:37 -08:00
629fe97ef7
chore(tokenizer): align enrichment regression notes and test typing
2026-03-02 01:45:23 -08:00
fa97472bce
perf(tokenizer): optimize mecab POS enrichment lookups
2026-03-02 01:39:44 -08:00
83f13df627
perf(tokenizer): skip known-word lookup in MeCab POS enrichment
2026-03-02 01:38:37 -08:00
cde231b1ff
fix(tokenizer): avoid repeated yomitan anki sync checks on no-change
2026-03-02 01:36:22 -08:00
9a91951656
perf(tokenizer): cut annotation latency with persistent mecab
2026-03-02 01:15:21 -08:00
11e9c721c6
feat(subtitles): add no-jump subtitle-delay shift commands
2026-03-02 01:12:26 -08:00
17a417e639
fix(subtitle): improve frequency highlight reliability
2026-03-01 20:12:42 -08:00
68e5a7fef3
fix: sanitize jellyfin misc info formatting
2026-03-01 20:05:19 -08:00
7023a3263f
Jellyfin and Subsync Fixes ( #13 )
2026-03-01 16:13:16 -08:00
44c7761c7c
Overlay 2.0 ( #12 )
2026-03-01 02:36:51 -08:00
a2735eaedc
feat(anilist): enforce encrypted token storage and default gnome-libsecret
2026-02-23 23:53:53 -08:00
978cb8c401
Ensure overlay modal grabs input
2026-02-23 19:54:58 -08:00
d3fd47f0ec
feat(core): add Electron runtime, services, and app composition
2026-02-22 21:43:43 -08:00