Commit Graph
559 Commits
Author SHA1 Message Date
sudacode 152d2c0626 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-30 19:50:36 -07:00
sudacode 416cd7e9ac fix(overlay): keep Hyprland IPC env when forcing mpv X11 backend
- Stop stripping HYPRLAND_INSTANCE_SIGNATURE in applyX11EnvOverrides so the overlay can use hyprctl to lift Hyprland's fullscreen input block
- Fixes the overlay becoming unclickable over fullscreen mpv with mpv.backend: x11
- Update launcher and backend tests, add changelog fragment
2026-09-30 19:50:24 -07:00
sudacode bbb0e9b6a5 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-30 01:37:19 -07:00
sudacode eb749f8c19 fix(overlay): force packed float audio for macOS timing review preview
- Pass --audio-format=float to the preview mpv on darwin so coreaudio accepts Opus output on Bluetooth devices like AirPods instead of falling back to avfoundation
- Fixes the stuttering preview cursor that jumped to the end partway through the selection
- Thread the platform into buildMediaTimingPreviewArgs and add a test covering darwin vs linux args
2026-09-30 01:01:49 -07:00
sudacode e09a416422 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-29 23:00:07 -07:00
sudacode 65ac5a7728 fix(linux): skip AppImage mount keepalive on sandbox squashfs mounts (#277) 2026-09-29 22:59:01 -07:00
sudacode 42f86b0748 perf(subtitle-prefetch): sweep overlap spans instead of rescanning cues
- Track active cues with a single sorted start/end sweep across boundaries
- Join simultaneous cues in cue-list order to match mpv
- Skip empty or inverted cues
- Add test for multi-cue overlap spans with unsorted cue input
2026-09-29 22:17:10 -07:00
sudacode e69cd5ea06 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-29 20:31:17 -07:00
sudacode df675cfbfe build(deps): bump brace-expansion override to 5.0.11 2026-09-29 20:30:42 -07:00
sudacode 0cff52f8e4 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-29 20:27:55 -07:00
sudacode b52692d826 feat(hachidori): derive Docker management URL from the linked host
- Default character dictionary uploads to the linked host on port 8780; externalHostManagementUrl is now an optional override
- Warn when the override points at a different machine than the link
- Browser/app hosts report where to import the merged ZIP manually
- Name the management origin when the upload request cannot connect
- Update config descriptions, generated examples, docs, and changelog fragment
2026-09-29 20:22:07 -07:00
sudacode e49b5f6589 fix(overlay): send session help commands before closing the modal
- Closing help first could destroy the dedicated modal window on Linux/Windows, dropping the IPC for the selected command
- dispatchConfiguredMpvCommand now returns a promise so help closes only after subtitle seek + re-pause are sent
- Add test asserting IPC order for a paused subtitle seek
2026-09-29 20:22:01 -07:00
sudacode 4ab5e37bc5 build(hachidori): bump fork to 32e5346 2026-09-29 19:03:07 -07:00
sudacode f00b830054 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-29 18:49:49 -07:00
sudacode 0bbd8617f4 feat(overlay): run session help commands with Enter or double-click (#275) 2026-09-29 18:48:56 -07:00
sudacode 4e43c5c6e1 fix(overlay): keep overlay mapped during Hyprland/Sway fullscreen (#276) 2026-09-29 18:39:55 -07:00
sudacode 953abdf42a build(deps): bump electron to 42.10.0 and undici to 7.29.1
- Resolve security advisories blocking CI
- Add changelog fragment for patched dependencies
2026-09-29 18:37:16 -07:00
sudacode fdb0a31fff fix(overlay): drive timing review playhead from mpv playback position
- Preview session observes time-pos, waits for loaded media before seeking, and acks each command
- Forward positions to the modal over media-timing-review:preview-position
- Cursor follows the real position, pauses while buffering, and stays at the clip end when done
- Replace the fixed end-of-clip timer with a 15s stall timeout
- Document preview cursor behavior and ownership in docs
2026-09-29 18:07:07 -07:00
sudacode ec73157f37 build(deps): revert fast-uri override to 3.1.7
- Pin the fast-uri override in package.json and bun.lock back to 3.1.7 from 3.1.8
2026-09-28 22:37:29 -07:00
sudacode 04b878dd93 build(deps): bump fast-uri override to 3.1.7 2026-09-28 22:35:10 -07:00
sudacode 45212c7659 build(hachidori): bump fork to upstream 6faca95
Upstream dropped Firefox, so the overlay copy now turns off custom JavaScript
from its plain capability flag. The Anki audio fixture follows the removal of
media capture options.
2026-09-28 21:42:37 -07:00
sudacode b710822db2 build(deps): bump fast-uri override to 3.1.8 for audit advisories 2026-09-28 21:18:38 -07:00
sudacode b347fdf21a feat(youtube): add YouTube browser window and Whisper subtitle source
- Add `subminer youtube`/`yt` and tray "Browse YouTube" window that plays or queues picked videos in mpv
- Add `youtube.subtitleSource` (`youtube` | `whisper`) to transcribe YouTube audio via subtitle generation
- Allow the subtitle generation modal on YouTube videos
- Pick the real Japanese track over machine-translated ones and fall back to yt-dlp on HTTP 429
- Remove legacy launcher youtubeSubgen/whisper/AI args and `--youtube-mode`
- Fix EPIPE crash when the launching terminal is closed with Ctrl+C
- Thin media timing review handles with orange original-boundary bars
- Update docs and change fragments
2026-09-28 20:46:11 -07:00
sudacode 07b32626a6 feat(youtube): add YouTube browser window and Whisper subtitle source (#273) 2026-09-28 20:35:47 -07:00
sudacode c68b73c8c1 fix(overlay): thin centered trim handles and label-free subtitle boundaries in timing review (#274) 2026-09-28 19:53:38 -07:00
sudacode a4325740b7 fix(subtitle-prefetch): reuse startup runs and prefetch overlap lines
- Warm combined text for overlapping subtitle cues.
- Preserve valid in-flight tokenization across startup restarts while rejecting invalidated cache results.
2026-09-28 01:17:59 -07:00
sudacode 4648c5e5a1 chore(hachidori): update submodule to upstream 1a12326
Merge 8 upstream Hachidori commits into the subminer fork, including the
Google Docs experimental lookup, monochrome image palette colours and Anki
deferred-audio fixes.
2026-09-25 23:02:23 -07:00
sudacode 72d0b19d94 Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-24 21:33:27 -07:00
sudacode b24008237b fix(jellyfin): keep selecting subtitles when a track download fails (#272) 2026-09-24 21:32:56 -07:00
sudacode 63eb228e4f fix(jellyfin): use the current audio track for media generation (#271) 2026-09-24 21:14:34 -07:00
sudacode c627095e6e Merge remote-tracking branch 'origin/main' into add-hachidori-backend 2026-09-24 20:43:02 -07:00
sudacode ba0155e429 fix(jellyfin): select Japanese subtitles before slower tracks finish (#270) 2026-09-24 20:42:14 -07:00
sudacode dea1136170 Merge remote-tracking branch 'origin/main' into add-hachidori-backend
# Conflicts:
#	docs-site/anki-integration.md
#	docs-site/immersion-tracking.md
#	docs-site/shortcuts.md
#	docs-site/usage.md
2026-09-24 17:26:30 -07:00
sudacode 23af9c6464 docs: restore docs/architecture pointer in development page 2026-09-24 16:58:31 -07:00
sudacode 8825cca642 docs: rewrite docs site pages to be shorter and easier to scan
- Pages now start with setup and usage, and reference material is in compact tables
- Configuration reference gives each config block a short explanation and a key/default table
- Internal detail removed from user pages, and docs that had drifted from current behavior fixed
- The status line shows today's date, set on the client, instead of the page's last-updated date
- Add changelog fragment
2026-09-24 16:20:42 -07:00
sudacode bc73a02623 ci(docs): serve frozen version archives from R2 (#269) 2026-09-24 15:28:58 -07:00
sudacode 874d2c9f1a fix(hachidori): preserve setup completion while host connects
- Reopen setup only when a reachable host has no dictionaries
2026-09-24 14:02:27 -07:00
sudacode 52fc1b63e9 fix(launcher): validate login shell paths before execution
- Fall back to absolute default shells when configured values are relative
- Reject invalid shells before spawning them
2026-09-24 01:31:27 -07:00
sudacode da5074761f fix(launcher): load macOS login shell PATH for GUI launches 2026-09-24 01:10:15 -07:00
sudacode f7230db90c chore(release): prepare v0.20.0
- Build v0.20.0 changelog and release notes from changes/ fragments
- Remove package-size JSON reports and previous-release size comparisons from CI
- Download AUR release assets via curl with retries and skip publish on failure
- Update release docs, verification lanes, and workflow tests to match
2026-09-24 00:01:03 -07:00
sudacode 92ef305e8c chore(hachidori): update submodule to fork subminer 441971b
Pull in the fork fix that looks up popup definition text only when the
pointer is on a glyph, so hovering beside a short glossary row no longer
opens a nested popup for the next row's word.
2026-09-23 22:59:10 -07:00
sudacode 5096ca217b chore(release): remove package size reports
- Drop the afterAllArtifactBuild size reporting hook and the previous-release baseline downloads in CI
- Stop uploading, checksumming, and publishing package-size-*.json
- Keep the afterPack package content audit, now without size tracking
- Update RELEASING.md and the verification docs, and add a changelog fragment
2026-09-23 21:50:19 -07:00
sudacode 504faa51e0 fix(anki): honor overlay pause that races timing review setup
- Track overlay pauses per review request so a pause arriving while setup reads mpv's pause state still cancels the playback restore
- Ignore cancelPlaybackResume when no review request is in flight
- Add a test covering the pause-read race and reset between requests
2026-09-23 20:08:01 -07:00
sudacode c10174f9cd fix(dictionary): pin Hachidori extension ID with a static manifest key
Electron derives an unpacked extension's ID from its directory, so a changed
userData path gave Hachidori a new storage origin and an empty library. The
staged copy now carries a fixed key, like the bundled Yomitan.
2026-09-23 09:15:33 -07:00
sudacode 285b19ccc3 fix(ci): download AUR assets without release metadata 2026-09-23 01:43:40 -07:00
sudacode 33e694bc61 fix(anki): keep playback paused after overlay pause during timing review
- Treat overlay pause requests during an open media timing review as final: drop held resumes and the review's own playback restore
- Add cancelPlaybackResume to the media timing review runtime
- Test both paused and playing starting states
2026-09-23 01:36:11 -07:00
sudacode 7fbc36dc41 chore(release): prepare v0.20.0 v0.20.0 2026-09-23 01:15:20 -07:00
sudacode 430120cc63 fix(anki): hold playback paused while media timing review is open
- Defer overlay resume requests (popup closed, hover left) during an active review and apply them when the review closes
- Add deferPlaybackResume to the media timing review runtime and gate sendRendererMpvCommand on it
- Document the paused-playback behavior and add a changelog fragment
2026-09-23 00:32:35 -07:00
sudacode 294e3a777e chore(hachidori): update submodule to upstream d68089e
Merge 104 upstream Hachidori commits into the subminer fork, including
rebuilt engine artifacts and upstream glyph hover hit-testing.
2026-09-22 22:42:05 -07:00
sudacode e93b696e71 chore(release): prepare v0.20.0-beta.2 v0.20.0-beta.2 2026-09-22 22:24:10 -07:00