Update deployment guidance for standard and Laya-profile Compose flows, and mark the Laya service as profile-gated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ensure Docker images keep their container-built native dependencies, wait for the Laya sidecar healthcheck, expose accurate Laya readiness, and treat empty AI language batches as fallback failures.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Add a languageDetectionMode setting (algo | laya | laya+algo) exposed
in Settings with three engine choices. When Laya is enabled, a laya
service (Dockerfile.laya, optional compose profile, models stored
outside the repo under ./data/models/laya) can be started, with model
download and deletion from the UI via /laya routes to manage disk
space. Add a channelLanguageFusion service combining Laya results
with the existing algorithm, and wire detection mode through
grouping, channel list and player. Cover engine selection, fusion
and laya service behavior with tests.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
docker-compose.yml referenced only the Gitea registry image, so
`docker compose up --build` ignored local source and never shipped
the channel variant grouping feature. Add a build section (root
context, local Dockerfile) alongside the registry image tag so
compose builds local code while keeping the published image name.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>