fix(#462): 修复直通模式下水印静默失效 - 配置格式不兼容 #739

Merged
xiaoxia merged 2 commits from fix/462-pass-through-watermark into develop 2026-07-22 22:42:15 +08:00

2 Commits

Author SHA1 Message Date
CI Auto Fix Bot fadc3c7378 fix(ci): auto-fix lint/format issues
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 20s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 36s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 27s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 41s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 1m55s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 47s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 46s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 36s
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 3m8s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 48s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Failing after 2m39s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
AI Code Review / AI Code Review (pull_request) Successful in 5m19s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 10m40s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 16m37s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 1m10s
2026-07-22 20:09:20 +08:00
CI Bot 25c9af5daa fix(#462): 修复直通模式下水印静默失效 - 配置格式不兼容
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m11s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 25s
CI/CD Pipeline / Validate - Code Quality (pull_request) Failing after 2m20s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 11s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 8s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 25s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 35s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 33s
AI Code Review / AI Code Review (pull_request) Successful in 5m40s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 24s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 9m17s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m0s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 2m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
根因:API层水印配置存在 config.export.watermark_enabled/text(扁平格式),
但渲染引擎只从 config.watermark(嵌套格式)读取,两套格式不兼容导致
水印配置永远读不到,所有模式下水印都静默失效,单clip直通模式更隐蔽。

修复:
1. 新增 _resolve_watermark_config 静态方法,统一解析水印配置
2. 同时支持两种存储格式:
   - 嵌套格式(优先):config.watermark = {enabled, mode, ...}
   - 扁平格式:config.export.watermark_enabled + watermark_text
3. _can_use_pass_through 和 _build_filter_complex 两处均使用统一方法
4. 补充 9 个单测覆盖两种格式及边界情况
2026-07-22 19:36:04 +08:00