Commit Graph

683 Commits

Author SHA1 Message Date
xiaoxia d3fce20921 fix(compose): remove conflicting mem_limit, consolidate to deploy.resources.limits
Deploy / Deploy Staging (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Production (push) Failing after 245h20m33s
Deploy / Build Production Runtime Images (push) Failing after 245h36m44s
v0.1.87
2026-06-29 04:18:41 +08:00
xiaoxia c47e4769ed ci: remove push trigger, keep PR trigger only
Deploy / Deploy Staging (push) Has been skipped
Deploy / Build Production Runtime Images (push) Failing after 248h57m10s
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
v0.1.86 v0.1.83 v0.1.84 v0.1.85
2026-06-29 03:52:11 +08:00
xiaoxia 772b6ba731 ci: remove push trigger, keep PR trigger only 2026-06-29 03:52:10 +08:00
xiaoxia 16465e9dce ci: restrict deploy to tag-only triggers 2026-06-29 03:52:09 +08:00
xiaoxia dd99702f99 fix(ci): remove SSH debug verbose, use simple test
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 27s
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Deploy / Build Production Runtime Images (push) Waiting to run
Deploy / Deploy Staging (push) Has been skipped
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
v0.1.82
2026-06-29 03:42:13 +08:00
xiaoxia 749caafe37 debug: add SSH verbose output
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 29s
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Staging (push) Failing after 11m15s
2026-06-29 03:34:45 +08:00
xiaoxia 220485b6cb fix(ci): hardcode SSH key path - use local key directly
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 29s
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Deploy / Build Production Runtime Images (push) Failing after 56s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 14m20s
2026-06-29 03:31:30 +08:00
xiaoxia afe0a444fe fix(ci): hardcode SSH key path
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 31s
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Tests / test (push) Has been cancelled
Tests / lint (push) Has been cancelled
2026-06-29 03:30:05 +08:00
xiaoxia 9a33c712a2 fix(ci): 修复SSH主机配置 - 添加空值回退逻辑
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 1m42s
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Auto Merge PRs / auto-merge (push) Failing after 35s
Deploy / Build Production Runtime Images (push) Failing after 59s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 2h23m41s
2026-06-29 01:11:06 +08:00
xiaoxia 2650d65b51 fix(ci): ci-cd.yml 使用 node:20 替代 daocloud 镜像前缀
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Deploy / Build Production Runtime Images (push) Failing after 1m56s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 16m3s
CI/CD Pipeline / Frontend Lint (push) Failing after 17m8s
2026-06-29 01:04:23 +08:00
xiaoxia b51ef0321b fix(ci): deploy.yml 使用 node:20 替代 daocloud 镜像前缀
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Tests / lint (push) Has been cancelled
Tests / test (push) Has been cancelled
2026-06-29 01:04:22 +08:00
xiaoxia 8995c6fab8 fix(ci): 移除 deploy-production 和 e2e 的 if 条件
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 1s
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Deploy / Build Production Runtime Images (push) Failing after 8s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 1h9m26s
act_runner v1.0.8 bug: github.ref/github.ref_type 在 needs 依赖的后续 job 中为空。
移除 if 条件后,deploy-production 通过 needs 依赖 build-production 自然控制执行流:
- tag push → build 运行 → deploy 运行
- branch push → build 跳过 → deploy 跳过
2026-06-29 00:12:01 +08:00
xiaoxia f4ef2b48a4 fix(ci): 修复 tests.yml - 移除不存在的 Docker 镜像,改用主机运行
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 1s
Deploy / Deploy Staging (push) Failing after 0s
Deploy / Build Production Runtime Images (push) Has been skipped
Tests / test (push) Failing after 0s
Tests / lint (push) Failing after 0s
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
- runs-on 改为 runtime-builder(匹配 runner labels)
- 移除 container: xiaoxia-ci-python:3.12(镜像不存在)
- Python 依赖在步骤中直接安装
2026-06-29 00:10:37 +08:00
xiaoxia 4d616262ec fix(ci): 修复 deploy.yml 中 job 条件判断 - 使用 github.ref_type 替代 startsWith
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 3s
Tests / test (push) Failing after 1m2s
Tests / lint (push) Failing after 26s
Deploy / Deploy Production (push) Has been skipped
Deploy / Build Production Runtime Images (push) Failing after 9s
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 1h12m8s
Gitea runner v1.0.8 在后续 job 中丢失 github.ref 上下文,导致 startsWith 评估为 false
2026-06-29 00:09:16 +08:00
xiaoxia 4a28c2f34a fix(ci): 修正 runner label 匹配 - runtime-builder:host -> runtime-builder
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 0s
CI/CD Pipeline / Frontend Lint (push) Failing after 3m37s
Tests / test (push) Failing after 1m2s
Tests / lint (push) Failing after 1m2s
Deploy / Deploy Production (push) Has been skipped
Deploy / Build Production Runtime Images (push) Failing after 8m21s
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 1h25m44s
v0.1.81
2026-06-28 23:50:51 +08:00
xiaoxia abc12370b8 fix(ci): 修正 runner label 匹配 - runtime-builder:host -> runtime-builder
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
Tests / test (push) Has been cancelled
Tests / lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
2026-06-28 23:49:20 +08:00
Audit Bot f279b49a90 fix: 修复标题库新建/编辑功能 — 前后端字段名不匹配导致422
Tests / test (push) Failing after 1m3s
Tests / lint (push) Failing after 1m2s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
根因:前端发送 { content, category } 但后端 CreateTitleLibraryRequest
期望 { name (必填), text (必填), category }。字段名不匹配导致
Pydantic 校验失败返回 422,modal 不关闭,数据不保存。

修复:
- api/titles.ts: 请求时将 content 映射为 text + 自动截取 name
- api/titles.ts: 响应时将后端 text 字段映射回前端 content
- api/titles.ts: updateTitle 改用 PUT(后端实际方法)
- 页面代码无需改动,映射在 API 层透明处理

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
v0.1.80 v0.1.77 v0.1.78 v0.1.79
2026-06-28 22:00:36 +08:00
API文档维护Agent 97b436d016 fix: 禁用 redirect_slashes 修复 307 重定向导致前端新建失败
- FastAPI 初始化添加 redirect_slashes=False,避免反向代理后
  307 重定向 URL 丢失 HTTPS 协议
- 移除 titles.py/voices.py/generation_tasks.py 路由中的尾斜杠
  ('/' → '','/tasks/' → '/tasks','/tasks/{id}/results/' → '/tasks/{id}/results')

Fixes: 前端调用 POST /api/v1/titles 等接口时 307 重定向到 http:// 导致失败
2026-06-28 22:00:25 +08:00
xiaoxia 60afbf450d Merge pull request 'fix: [HOTFIX] 确保生产CORS始终包含saas.xiaoxiajianji.com' (#93) from fix/cors-production-domains into main
Tests / test (push) Failing after 1m3s
Tests / lint (push) Failing after 35s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
v0.1.76
2026-06-28 21:56:50 +08:00
API文档维护Agent 7545a5ccdc fix: 确保生产CORS始终包含saas.xiaoxiajianji.com
Tests / test (pull_request) Failing after 1m3s
Tests / lint (pull_request) Failing after 1m2s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
之前的修复只在CORS_ORIGINS为空时才添加默认域名,
但生产环境通过环境变量设置了CORS_ORIGINS_RAW,
导致saas子域仍然不在允许列表中。

现在无论CORS_ORIGINS_RAW如何配置,都会确保包含
xiaoxiajianji.com和saas.xiaoxiajianji.com。
2026-06-28 21:56:21 +08:00
xiaoxia e56678455d Merge pull request 'fix: [HOTFIX] 修复标题/配音创建500、素材库列表500、CORS配置' (#92) from fix/api-500-hotfix into main
Tests / test (push) Failing after 32s
Tests / lint (push) Failing after 34s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
v0.1.75
2026-06-28 21:40:09 +08:00
API文档维护Agent 6f00dce56e fix: 修复标题/配音创建500、素材库列表500、CORS缺失
Tests / test (pull_request) Failing after 33s
Tests / lint (pull_request) Failing after 1m8s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- titles.py/voices.py: get_by_id → find_by_id(方法名错误导致AttributeError)
- project_repository.py: cast shared_users to JSONB for @> operator(JSON列不支持@>)
- main.py: CORS allow_origins 添加 https://saas.xiaoxiajianji.com
2026-06-28 21:39:03 +08:00
CI Test 7beeecd467 Merge remote main (PR#71 Worker mem limit) into release v0.1.71
Tests / test (push) Failing after 1s
Tests / lint (push) Failing after 1s
Auto Merge PRs / auto-merge (push) Failing after 43s
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
v0.1.71
2026-06-28 18:17:17 +08:00
CI Test 79cc6b0dcc Release v0.1.71: Phase 1 核心重构 + Phase 2 查重/订阅前端/后端 + P0 修复 2026-06-28 18:16:42 +08:00
xiaoxia 5279636261 Merge pull request 'fix: P0 紧急修复 — 回退域对象 extra_meta → metadata' (#80) from fix/p0-extra-meta-rollback into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 18:11:09 +08:00
xiaoxia db5f5cff28 Merge pull request 'fix: 删除查重 API GET/POST 端点中错误的 204 返回' (#81) from fix/p0-duplication-204-response into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 18:10:59 +08:00
API文档维护Agent 71dd13eebb fix: 删除 GET/POST 端点中错误的 204 返回
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- get_duplication_detail (GET): 删除 L209 的 return Response(status_code=204)
- retry_duplication (POST): 删除 L262 的 return Response(status_code=204)
- delete_duplication_record (DELETE): 保留 204 返回(正确)

这两个 Bug 导致 GET 和 POST 端点永远返回空 204,正常逻辑被短路。
2026-06-28 17:59:45 +08:00
API文档维护Agent 9b016e3b2d fix: 回退域对象 extra_meta → metadata(5文件16处)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Asset 域对象属性名为 metadata,不是 extra_meta。
extra_meta 仅用于 SQLAlchemy model 层(对应 DB 列)。

修复文件:
- packages/adapters/sqlalchemy_impl/asset_repository.py (L63, L88)
- apps/api/app/api/routes/assets.py (L30, L72, L73)
- apps/api/app/api/routes/asset_diagnosis.py (L52, L55, L56, L57)
- apps/worker/worker_app/core/asset_usage.py (L5, L6, L7, L9)
- apps/worker/worker_app/tasks/voice_extraction.py (L69, L70, L71, L104, L105, L106)
2026-06-28 17:56:02 +08:00
CI Test be102d0088 fix: fix 204 response in titles.py and voices.py delete endpoints
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 17:14:17 +08:00
CI Test f782e49829 fix: return Response explicitly for 204 DELETE endpoint
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 17:11:54 +08:00
CI Test f6916fc8d6 fix: add response_class=Response for 204 DELETE endpoint
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 17:07:45 +08:00
CI Test ec787703dd fix: use proper JSON literal syntax in migration 009
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 17:05:21 +08:00
CI Test 1e9c275471 fix: quote owner string literal in migration 009
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 17:03:28 +08:00
API文档维护Agent 241426294b Merge branch 'feat/phase2-duplication-api' into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:49:35 +08:00
API文档维护Agent 87360051fa fix: rename metadata to extra_meta to avoid SQLAlchemy reserved field conflict
SQLAlchemy's 'metadata' attribute is reserved for model metadata, causing
service startup crash. Changed to 'extra_meta' with Column('metadata', JSON)
mapping to preserve database column name.

Affected models (7):
- AssetLibraryModel, AssetModel, AssetClassificationModel
- GenerationTaskModel, DuplicationRecordModel
- TitleLibraryModel, VoiceLibraryModel

Updated all references across:
- packages/adapters/sqlalchemy_impl/{title_library,voice_library,asset}_repository.py
- apps/worker/worker_app/{core/asset_usage.py,tasks/voice_extraction.py}
- apps/api/app/api/routes/{asset_diagnosis.py,assets.py}
2026-06-28 16:49:23 +08:00
xiaoxia 71825df8b2 fix: include alembic directory in API Docker image for migrations
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:36:37 +08:00
xiaoxia c0b7a227ad fix: remove unused Modal import from Billing.tsx
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:33:25 +08:00
xiaoxia ba71fa9860 fix: remove unused Modal import from Billing.tsx
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:33:06 +08:00
xiaoxia 45e928ddb6 Merge pull request 'feat: Phase 2 - 订阅管理前端页面' (#77) from feat/phase2-subscription-ui into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:27:59 +08:00
xiaoxia 84e093caaf Merge pull request 'feat: Phase 2 - 查重功能后端 API' (#76) from feat/phase2-duplication-api into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 16:27:05 +08:00
Build Agent 927b302152 feat(subscription): 实现订阅管理前端页面
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- 新增 api/subscription.ts: 订阅 API 模块(mock数据+接口定义)
- 新增 UpgradeSubscription.tsx + .css: 升级/降级/续费页面
- 新增 Billing.tsx + .css: 账单管理页面
2026-06-28 16:19:02 +08:00
API文档维护Agent ea0bde3742 fix: add security validations to duplication upload API
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P0-1: Add MIME type whitelist validation (video files only)
- Accept: mp4, mpeg, mov, avi, webm, mkv, 3gp
- Reject non-video files with 415 Unsupported Media Type

P0-2: Add file size limit validation
- Use OSS_DIRECT_UPLOAD_MAX_MB config (default 800MB)
- Check Content-Length header before reading file
- Verify actual file size after reading
- Return 413 Request Entity Too Large if exceeded

Reference: apps/api/app/api/routes/upload.py implementation
2026-06-28 16:13:28 +08:00
API文档维护Agent 312dad7497 feat: Phase 2 查重后端 API 实现
六边形架构分层实现:

Domain 层:
- DuplicationRecord / DuplicateSegment 实体
- 状态机生命周期 (pending→processing→completed/failed)

Ports 层:
- DuplicationRecordRepository Protocol

Adapters 层:
- SQLAlchemyDuplicationRecordRepository 完整实现
- DuplicationRecordModel / DuplicationSegmentModel ORM 模型

Application 层:
- UploadForDuplicationUseCase (上传查重)
- ListDuplicationRecordsUseCase (记录列表)
- GetDuplicationDetailUseCase (详情查询)
- DeleteDuplicationRecordUseCase (删除)
- RetryDuplicationUseCase (重新查重)

API 层:
- POST /api/v1/duplication/upload (上传视频查重)
- GET /api/v1/duplication/records (记录列表)
- GET /api/v1/duplication/records/{id} (详情含片段)
- DELETE /api/v1/duplication/records/{id} (删除)
- POST /api/v1/duplication/records/{id}/retry (重新查重)

Alembic 迁移:
- 011_add_duplication_tables.py (duplication_records + duplication_segments)

API 契约与前端 feat/phase2-duplication-ui (PR#75) 完全对齐。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-28 16:12:46 +08:00
xiaoxia 090fb20a99 Merge pull request 'feat(phase2): 查重功能前端页面' (#75) from feat/phase2-duplication-ui into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 15:50:57 +08:00
xiaoxia 8409c82928 Merge pull request 'feat: Phase 1 - 核心重构(去Project层/标题库API/配音库API/清理废弃代码)' (#74) from feat/phase1-core-refactor into develop
CI/CD Pipeline / Validate Code Quality And Tests (push) Has been cancelled
CI/CD Pipeline / Frontend Lint (push) Has been cancelled
Deploy / Deploy Staging (push) Has been cancelled
Deploy / Build Production Runtime Images (push) Has been cancelled
Deploy / Deploy Production (push) Has been cancelled
Deploy / Production Browser E2E (push) Has been cancelled
2026-06-28 15:50:11 +08:00
xiaoxia 2f7e50bff9 test: 添加标题库 UseCase 回归测试(配额逻辑 free=50/basic=500/premium=500 覆盖)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
2026-06-28 15:43:57 +08:00
xiaoxia 6b819678d6 test: 添加配音库 UseCase 回归测试(PR#74 P0 bug 修复验证 + 配额逻辑覆盖)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
2026-06-28 15:43:49 +08:00
Audit Bot 49c8440fe1 fix(phase2): 修复 PR#75 代码审计 P1 问题
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P1-1: DuplicationUpload 使用 navigate 替代 window.location.href,避免整页刷新
P1-2: DuplicationResults 批量删除使用 Promise.allSettled,部分失败时正确反馈结果

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-28 15:41:10 +08:00
API文档维护Agent abe2bfab63 fix: resolve P0 bugs in voice library use cases and clean up obsolete tests
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Fix voice_id field mapping in CreateVoiceLibraryUseCase (line 60)
- Fix voice_id field mapping in UpdateVoiceLibraryUseCase (lines 88-89)
- Delete obsolete test files for removed ProjectTitle modules
- Remove edit_plans.py reference from architecture boundaries test
2026-06-28 15:33:00 +08:00
Audit Bot 92bf5d6cfa feat(phase2): 查重功能前端页面
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- 新增查重 API 模块(mock 数据),含上传、记录列表、详情、删除、重试接口
- 新增上传查重页(DuplicationUpload):拖拽上传、格式校验、上传进度
- 新增查重结果列表页(DuplicationResults):表格展示、状态标签、查重率进度条、批量删除
- 新增重复视频对比详情页(DuplicationDetail):片段时间线可视化、相似度展示
- 路由新增 /duplication、/duplication/results、/duplication/:id
- Header 导航新增「查重」入口

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-28 15:20:37 +08:00