Sync translated subtitles with alass too #217

Closed
opened 2026-08-25 01:50:43 +01:00 by naps62-yolo · 1 comment
Owner

DESIGN.md §15 says alass runs on "every fetched and every translated
subtitle". #214 wired it into the manual grab endpoint, which was all its
issue body asked for. The translate endpoint still records every machine
translation with sync: "not_run".

Syncer::settle — the seam #214 added in arr-subs precisely so more than
one caller could use it — applies here unchanged. This is a call, not a
design.

Found while implementing #214.

Depends on: #214

DESIGN.md §15 says `alass` runs on "every fetched and every translated subtitle". #214 wired it into the manual grab endpoint, which was all its issue body asked for. The translate endpoint still records every machine translation with `sync: "not_run"`. `Syncer::settle` — the seam #214 added in `arr-subs` precisely so more than one caller could use it — applies here unchanged. This is a call, not a design. Found while implementing #214. Depends on: #214
naps62-yolo added this to the Subtitles milestone 2026-08-25 01:50:43 +01:00
naps62-yolo added the area/apidifficulty/easytype/bugphase/9-subtitles labels 2026-08-25 01:50:43 +01:00
naps62-yolo added a new dependency 2026-08-25 01:50:50 +01:00
Author
Owner

Implemented: the translate handler now calls Syncer::settle after writing the .mt sidecar, same as #214 wired into grab. An accepted alass shift replaces the sidecar content before the row is recorded; an implausible result keeps the unsynced translation and records sync: "rejected". NewSubtitleFile::translated now goes through .sync(db_sync_state(...)) like the fetched path already did.

Branch: subtitles/217-sync-translated

just ci passed (678 tests).

Findings

None outside this issue's scope.

Implemented: the `translate` handler now calls `Syncer::settle` after writing the `.mt` sidecar, same as #214 wired into `grab`. An accepted `alass` shift replaces the sidecar content before the row is recorded; an implausible result keeps the unsynced translation and records `sync: "rejected"`. `NewSubtitleFile::translated` now goes through `.sync(db_sync_state(...))` like the fetched path already did. Branch: `subtitles/217-sync-translated` `just ci` passed (678 tests). ## Findings None outside this issue's scope.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#217