Skip to content

Tags

Tags

v1.5.0

Toggle v1.5.0's commit message
v1.5.0

- Reverse-proxy subpath support via BASE_PATH (#63)
- Match subtitles to .ts video files (#68)
- Never reprocess generated subtitle outputs when an engine is disabled (#66/#71)
- tini as PID 1 so orphaned engine processes are reaped (#67)
- Mobile-friendly web UI CSS (#64)

v1.4.1

Toggle v1.4.1's commit message
fix: detect sync timeouts case-insensitively

The timeout check looked for 'timed out' but execPromise reports
'Timed out after ...', so timeouts were reported as generic errors.

v1.4.0

Toggle v1.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: show error messages for failed files in WebUI (fixes #59) (#60)

v1.3.0

Toggle v1.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: add customizable suffix env vars for synced subtitle filenames (f…

…ixes #25) (#58)

Add FFSUBSYNC_SUFFIX, AUTOSUBSYNC_SUFFIX, and ALASS_SUFFIX env vars
so users can control the output filename suffix for Bazarr compatibility.
Includes duplicate suffix prevention (e.g., movie.en.cc.srt won't become
movie.en.cc.cc.srt when suffix is "cc").

v1.2.16

Toggle v1.2.16's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat: folder picker UI for "Scan Specific Path" modal (#56)

* chore: ignore JetBrains IDE folder and local AI overrides

Adds .idea/ (IntelliJ), CLAUDE.local.md, and .claude/CLAUDE.local.md
so personal IDE state and local-only AI prompt overrides don't leak
into the repo. The shared CLAUDE.md / .claude/ stay local-only via
.git/info/exclude rather than .gitignore.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

* feat: folder picker UI for "Scan Specific Path" modal

Replaces the free-text textarea in the Scan Specific Paths modal with
a clickable folder tree. Users browse the configured SCAN_PATHS roots,
expand subdirectories, and pick paths via a + button into a chip list.

Backend: new GET /api/browse?path=<abs> in src/server.ts. Returns the
configured SCAN_PATHS as virtual top-level entries when no path is
given, otherwise enumerates immediate children of the requested path.
Refuses any path that does not resolve (via realpath, on both the
request and the configured roots) inside one of the configured roots,
so the endpoint cannot be coaxed into leaking arbitrary filesystem
structure. Returns the user-supplied path in the response rather than
the realpath so the UI shows paths as the user clicked them.

Frontend: hand-rolled in vanilla JS to match the project's existing
no-build, no-deps frontend style — no jQuery, no tree-widget library.
Lazy-loads children on expand. Folder rows have a chevron, folder
icon, and + button (visible on hover). File rows are shown for context
but are display-only — file icon, dimmed text, no chevron, no + (the
sync engine still operates on directories, this just lets users see
what's inside before picking). Selected paths render as a chip list
with × to remove. Hovering a chip expands it inline so the full path
is visible even when truncated.

Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <[email protected]>

v1.2.15

Toggle v1.2.15's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Merge pull request #55 from johnpc/feat/sync-languages

feat: add SYNC_LANGUAGES env var to filter by language

v1.2.14

Toggle v1.2.14's commit message
fix: remove O(n²) bottleneck in large file scans (#46)

Removed redundant findMatchingVideoFile call and per-file WebSocket
broadcasts from the run:files_found handler. With 32k+ subtitle files,
the synchronous disk I/O and DB queries blocked the event loop entirely.

Video path matching now happens in processFile when the file is actually
processed, and video_path is stored in the DB at that point.

Co-authored-by: bridgemill-ch <[email protected]>

v1.2.13

Toggle v1.2.13's commit message
Add mobile-responsive CSS (fixes #45)

v1.2.12

Toggle v1.2.12's commit message
fix: bind to 0.0.0.0 instead of 127.0.0.1 for Docker compatibility

Fixes #44 - UI was not accessible from other hosts when using Docker
port mapping because the server only listened on localhost.

v1.2.11

Toggle v1.2.11's commit message
Fix changelog: use full git history for tag comparison