Skip to content

feat(jobs): report in-memory translation progress - #221

Merged
kfstorm merged 3 commits into
mainfrom
calm-walrus
Oct 18, 2026
Merged

kfstorm merged 3 commits into
mainfrom
calm-walrus

Conversation

@kfstorm

@kfstorm kfstorm commented Oct 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Report Scene, Batch, and Line snapshots from PySubtrans's existing events. Use native translation_complete when available, with an equivalent fallback for the pinned 1.6.0 dependency.
  • Keep progress in attempt-scoped memory and expose it through the Jobs list and detail APIs. Clear it on termination or deletion and initialize it again on retry.
  • Show a line-based progress bar and all three counts using the existing 2-second polling. Line counts follow GUI-Subtrans 1.6.0: original lines with a translation count even in partial or errored batches; Scene and Batch counts indicate successful completion.
  • Keep callbacks optional, support existing translators, and isolate observer failures from translation and checkpoint saving.

Verification

  • Backend: 458 tests passed; frontend: 191 tests passed.
  • Backend and frontend static checks and production Web build passed.
  • Agent Browser: 402 rendered layout checks passed, plus desktop/mobile and intermediate-width visual checks in light and dark themes. Accessibility audits reported no WCAG A/AA violations.
  • Repository duplication check: 0 clones.

Derive runtime Scene, Batch, and translated-line snapshots from PySubtrans events and expose them through the existing Jobs polling APIs. Scope progress to each attempt and clear it when execution ends.

Show line-based progress in the Jobs list and details, following GUI-Subtrans's translated-line counting. Prefer native completion properties with a fallback for PySubtrans 1.6.0, and keep optional observers isolated from translation and checkpoint saving.
Place the Job progress block across both grid columns so its bar and counts use the full card content width.
Snapshot skipped batches before each attempt mutates translation state. Follow legacy scene and batch selection, including the empty-selection fallback, and prefer translation_complete when available.

Count skipped lines as processed while retaining actual translated-line counts for active batches. Recompute resume skips on retries and cover partial translations, saved errors, skipped scenes, and capability-based completion.
@kfstorm
kfstorm merged commit 5d4668e into main Oct 18, 2026
3 checks passed
@kfstorm
kfstorm deleted the calm-walrus branch October 18, 2026 09:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant