灵应
dc2555bae4
feat(ui): 改造成片库页面
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 204h15m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 204h17m17s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 204h17m26s
- 重写 ProductLibrary.tsx 为 V21 设计系统风格
- 卡片网格布局(4列响应式),支持视频缩略图展示
- 视频播放弹窗(mock),含播放/暂停、进度条、ESC关闭
- 批量操作:全选、批量发布/下载/删除
- 筛选:状态、时间、时长、搜索
- 已发布徽章(右上角绿色)、选中高亮
- 查重率显示(good/warn/bad 三色)
- 新建 products.css,完整 V21 样式 + 深色模式支持
- 使用 mock 数据,后端 API 对接暂不要求
🤖 Generated with [Claude Code](https://claude.com/claude-code )
2026-07-01 00:36:59 +08:00
灵应
260911c1ad
feat(ui): 改造标题库页面
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 204h29m30s
CI/CD Pipeline / Frontend Lint (push) Failing after 204h31m2s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 204h31m12s
2026-07-01 00:23:18 +08:00
灵应
202037f4e8
feat(ui): 改造配音库页面
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 205h11m33s
CI/CD Pipeline / Frontend Lint (push) Failing after 205h14m25s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 205h14m34s
- 两栏布局:左侧配音库分类列表(260px)+ 右侧配音卡片列表
- VoiceCard 组件:头像渐变、名称/类型/语言/时长信息、标签、波形可视化
- 播放控制:播放/暂停按钮 + 进度条(可点击跳转)+ 时间显示
- 音频互斥播放:同一时间只有一个配音在播放
- 筛选功能:按音色类型、语言筛选 + 名称/标签搜索
- 新建配音库弹窗 + AI 生成配音弹窗
- 删除配音库(Popconfirm 确认)
- 响应式适配:1200px/768px/480px 断点
- Mock 数据:4 个配音库 + 10 个配音项
- 全部使用 CSS 变量,支持深色/浅色主题
2026-06-30 23:39:21 +08:00
灵应
b6c6dedfec
feat(ui): 改造素材库页面
...
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
- 两栏布局:左侧 260px 素材库列表 + 右侧素材网格
- AssetCard 组件:9:16 缩略图、渐变背景、播放按钮、StatusPill 状态标签
- 筛选功能:按类型(视频/配音/图片)、时间(今天/周/月)、名称搜索
- 批量操作:全选、取消选择、批量删除
- 拖拽上传区域,支持 2GB 限制校验
- 新建/删除素材库功能
- 响应式适配:1400px→3列, 1200px→单栏, 768px→2列, 480px→1列
- 使用 mock 数据,CSS 变量统一主题
2026-06-30 23:19:20 +08:00
灵应
ce9c4f041c
fix(ui): 修正一键生成页面偏差,补充视频预览、时间线、克隆声音区域
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-30 22:53:01 +08:00
灵应
28cb8dd6ae
fix(ui): 添加文档规范的 CSS 变量别名
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-30 22:43:13 +08:00
CI Bot
714c4b00de
feat(ui): 改造一键生成页面
...
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
- 重写 GeneratePage 为单页表单式布局(左主内容 + 右侧结果面板)
- 新增 generate.css 完整 V21 样式(CSS 变量、响应式、深色主题)
- 6 大区块:基本信息、素材选择、配音选择、标题/文案、高级设置、生成结果
- 使用 Task 1.5 UI 组件(Button/Input/Card/Tag/Form)
- Mock 数据:6 个素材 + 4 个配音预设 + 4 种比例 + 6 种风格
- 支持键盘无障碍(role/tabIndex/onKeyDown)
- 响应式断点:1200px/768px/480px
- TypeScript 零错误
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-30 22:11:43 +08:00
CI Bot
8f446eef08
feat(ui): 封装基础 UI 组件库
...
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
封装 10 个 V21 设计系统基础组件,统一使用 CSS 变量:
- Button: 6 种变体 (primary/secondary/ghost/text/danger/link) + 3 种尺寸
- Input: 支持 error 状态,含 Search/TextArea/Password 子组件
- Select: V21 圆角下拉样式
- Modal: 含 confirm/info/success/error/warning 快捷方法
- Table: V21 表格样式
- Card: 支持悬浮动效变体
- Tag/Badge: 5 种语义变体 (primary/success/warning/error/info)
- Tooltip/Popover: V21 气泡样式
- Form: 支持 compact 紧凑模式
- Pagination: V21 分页样式
所有组件使用 CSS 变量(无硬编码值),支持暗色/亮色主题切换,
响应式布局适配移动端。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-30 21:43:47 +08:00
CI Bot
8d185492d7
feat(ui): 实现页面头部组件 PageHead
...
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
- 新增 PageHead 组件:页面标题、面包屑导航、操作按钮区域
- 面包屑根据路由路径自动生成,支持手动覆盖
- 响应式适配:移动端隐藏面包屑,操作区换行
- 复用 global.css 中 .xx-page-head 基础样式
- 集成到所有页面:Dashboard、素材库、配音库、标题库、
任务历史、成品库、模板库、一键生成、订阅页
2026-06-30 21:33:02 +08:00
CI Bot
381f38bd52
feat(ui): 实现侧边栏导航组件 Sidebar
...
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
CI/CD Pipeline / Frontend Lint (push) Failing after 207h40m49s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 207h40m59s
- 新增 Sidebar.tsx:分组导航菜单(创作工具/资源管理/系统)
- 每个菜单项包含图标 + 文字,基于路由自动高亮当前页
- 支持折叠态:通过 SidebarContext 读取 collapsed 状态,折叠时仅显示图标
- 新增 Sidebar.css:全部使用 CSS 变量,无硬编码样式
- 集成到 MainLayout:替换占位符为实际 Sidebar 组件
- 清理 MainLayout.css 中已废弃的占位符样式
- 响应式:移动端菜单项增大点击区域(44px min-height)
2026-06-30 21:13:31 +08:00
CI Bot
7ef81079d5
feat(ui): 创建主布局组件 AppLayout
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 207h46m15s
CI/CD Pipeline / Frontend Lint (push) Failing after 207h46m43s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 207h46m52s
- 新增 AppLayout.tsx:语义化布局壳(header + sidebar slot + main content)
- 重写 MainLayout.tsx:侧边栏 240px/64px 折叠,SidebarContext 共享状态
- 重写 MainLayout.css:完整响应式布局样式
- 桌面端:侧边栏默认展开 240px
- 平板端(769-1024px):侧边栏默认折叠 64px 图标栏
- 移动端(≤768px):侧边栏隐藏,transform 滑入 + 遮罩层
- 所有尺寸/颜色使用 global.css 设计系统变量
- 语义化 HTML:header/aside/main/nav 标签
- 侧边栏/导航具体内容 deferred to Tasks 1.3, 1.4
2026-06-30 21:07:36 +08:00
CI Bot
6a1cf31aff
feat(ui): 统一设计系统 CSS 变量
...
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 208h0m40s
CI/CD Pipeline / Frontend Lint (push) Failing after 208h1m7s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 208h1m16s
- 扩展 global.css 为完整 V21 设计系统变量集(14 大分类)
- 主色 Indigo / 辅色 Emerald / 强调色 Amber 完整色阶
- 状态色(success/warning/error/info)含 hover/soft/border
- 中性色灰阶 50-950
- 文字色层级(primary/secondary/tertiary/disabled/inverse/link)
- 背景色(primary/secondary/tertiary/elevated/overlay/glass)
- 间距系统 0-4xl
- 字体系统(family/size/weight/line-height/letter-spacing)
- 圆角 none-full(V21 大圆角风格)
- 阴影系统 xs-xl + card/hover/primary/glass
- 过渡动画(duration presets + composite + easing curves)
- 响应式断点记录
- z-index 层级规范
- 深色主题(.dark 类 + data-theme 属性 + prefers-color-scheme 媒体查询)
- 兼容别名映射旧变量名 → 标准名(--slate/--muted/--indigo 等)
- 所有现有组件样式完整保留
命名规范:--{类别}-{语义}-{层级}
验收:type-check ✓ | build ✓
2026-06-30 20:53:12 +08:00
Deploy Bot
3fe48b37d4
fix: replace StrEnum with Python 3.10 compatible implementation
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 209h38m38s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h50m50s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h50m56s
2026-06-30 19:03:38 +08:00
Deploy Bot
c85b999404
fix: add missing _safe_parse_fps function definition in ingest.py
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 209h52m0s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h54m13s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h54m20s
2026-06-30 19:00:09 +08:00
Deploy Bot
98b833ceb3
style: fix isort ordering in chunked_upload.py
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 209h58m45s
CI/CD Pipeline / Frontend Lint (push) Failing after 209h59m14s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 209h59m18s
2026-06-30 18:55:15 +08:00
xiaoxia
3106a56536
style: apply black formatting to ingest.py ( #134 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h9m55s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h10m25s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h10m28s
2026-06-30 18:43:43 +08:00
xiaoxia
8e924dc660
fix: correct _safe_parse_fps placement and format setup.ts ( #133 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h12m4s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h14m3s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h14m7s
2026-06-30 18:40:02 +08:00
xiaoxia
fff644deac
fix: resolve bandit security issues and fix vitest configuration ( #132 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h18m25s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h18m51s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h18m54s
2026-06-30 18:35:20 +08:00
xiaoxia
560856cf22
fix: resolve all flake8 errors and apply Prettier formatting ( #131 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h26m26s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h27m0s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h27m7s
2026-06-30 18:26:53 +08:00
xiaoxia
1217d8cef0
style: apply isort formatting to pass CI validation ( #129 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h35m44s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h36m11s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h36m17s
2026-06-30 18:17:44 +08:00
xiaoxia
d1f3a82967
fix: resolve TypeScript type error in EditingPlanner ( #130 )
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
CI/CD Pipeline / Frontend Lint (push) Failing after 210h37m15s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h37m18s
2026-06-30 18:17:14 +08:00
xiaoxia
60c68ac586
fix: resolve all ESLint warnings for clean lint output ( #128 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 210h47m24s
CI/CD Pipeline / Frontend Lint (push) Failing after 210h47m48s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 210h47m52s
2026-06-30 18:06:41 +08:00
xiaoxia
52ff2f80ad
style: apply black formatting to pass CI validation ( #126 )
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-30 17:23:08 +08:00
xiaoxia
1e6f78a346
fix: resolve ESLint errors to pass CI frontend-lint ( #125 )
Deploy / Build Production Runtime Images (push) Has been skipped
Deploy / Deploy Production (push) Has been skipped
Deploy / Production Browser E2E (push) Has been skipped
Deploy / Deploy Staging (push) Failing after 211h32m2s
CI/CD Pipeline / Frontend Lint (push) Failing after 211h32m39s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 211h32m46s
2026-06-30 17:21:49 +08:00
Audit Bot
16b18dc2fd
test: 补充表单上传端点单元测试
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- 新增 tests/unit/test_form_upload_routes.py,覆盖10个测试场景
- 修复 upload.py 表单参数处理:从 Annotated[Model, Form()] 改为独立 Form() 参数
- 测试覆盖:正常上传成功、缺少文件字段、缺少必填参数、项目/素材库不存在、OSS未配置
- 所有测试通过,与现有 upload/chunked_upload 测试风格保持一致
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-30 13:12:49 +08:00
Audit Bot
37152a0729
fix: list_by_project → find_by_project (修复上传/诊断端点 500)
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
根因:upload.py、chunked_upload.py、asset_diagnosis.py 调用了
asset_library_repository.list_by_project(),但 SQLAlchemy 实现
只有 find_by_project(),导致 AttributeError → 500。
同步修复 InMemory 实现的方法名以保持一致。
2026-06-30 10:14:08 +08:00
Audit Bot
05c9137ece
fix: 上传端点异常处理 + OSS 诊断能力
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
问题:PR#119 修复变量名后上传端点仍然 500,说明根因不仅是变量名错误
修复:
1. upload.py — 所有 3 个上传端点添加完整异常捕获和日志
- prepare_direct_upload: 捕获 RuntimeError→503 + 其他异常→500+日志
- complete_direct_upload: file_exists() 异常捕获→503(之前未捕获→500)
- upload_asset: upload_file() 异常捕获→503/500+日志(之前未捕获→500)
2. storage.py — OSSStorageService.__init__ 添加启动诊断日志
- 凭证缺失时记录 missing env vars
- oss2 SDK 未安装时记录错误
- bucket 初始化成功/失败时记录
3. health.py — /ready 端点增加 OSS 检查
- 检查凭证是否配置
- 检查 oss2 SDK 是否可用
- 调用 get_bucket_info() 验证连通性
部署后请调用 GET /api/v1/ready 查看 OSS 状态
2026-06-30 09:56:20 +08:00
Audit Bot
e6ecce79ee
fix: rename OSS_DIRECT_UPLOAD_EXPRESS_SECRET to OSS_DIRECT_UPLOAD_EXPIRE_SECONDS
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Root cause of upload endpoint 500 errors:
- config.py defined OSS_DIRECT_UPLOAD_EXPRESS_SECRET (wrong name)
- upload.py accessed settings.OSS_DIRECT_UPLOAD_EXPIRE_SECONDS (correct name)
- AttributeError on every call to prepare_direct_upload → 500
This fixes both /api/v1/upload/prepare-direct-upload and any other
upload endpoints that reference the expire seconds config.
2026-06-30 09:24:27 +08:00
Audit Bot
304354208a
fix(assets): add project_id to OSS direct upload and align size limit to 2048MB
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P1: prepareDirectUpload and completeDirectUpload now require project_id,
uploadAssetDirect calls getOrCreateDefaultProject() to obtain it automatically.
P2: MAX_FILE_SIZE changed from 2*1024^3 to 2048*1024*1024 to align with
backend OSS_DIRECT_UPLOAD_MAX_MB=2000.
2026-06-30 00:07:27 +08:00
Audit Bot
b5e27a5e9e
feat(assets): add 2GB file size validation and OSS direct upload for large files
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- Add MAX_FILE_SIZE (2GB) validation in handleUpload with friendly error message
- Route files >100MB through OSS presigned direct upload (uploadAssetDirect)
- Keep small file form upload (uploadAsset) for files <=100MB
- Update upload hint text to show '单文件不超过 2GB' limit
- Add directUploadMutation with proper loading state tracking
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-29 22:13:08 +08:00
Audit Bot
b98c83582b
fix: 上传文件大小限制从 800MB 提升至 2000MB
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P0 修复:
- config.py: OSS_DIRECT_UPLOAD_MAX_MB 默认值从 800 改为 2000
- config.py: 添加 AliasChoices 支持 MAX_UPLOAD_SIZE_MB 环境变量
(.env.production 中 MAX_UPLOAD_SIZE_MB=2000 现在可被正确读取)
P1 修复:
- infra/nginx/xiaoxia-saas.conf: client_max_body_size 800m → 2g(3处)
- infra/docker/nginx-production.conf: client_max_body_size 800m → 2g
2026-06-29 22:11:22 +08:00
Audit Bot
f9e8d6efdc
fix: 修复 3 个 P0 端点 500 错误的真正根因
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Bug 1 — GET /api/v1/assets → 500:
asset_repository 所有方法为 async def,但调用方为同步上下文,
未 await 导致返回 coroutine 对象而非实际数据。
修复:全部改为 def(同步),与 SQLAlchemy 同步 Session 一致。
Bug 2 — POST /api/v1/generation/tasks → 500:
GenerationTaskModel 仍定义 edit_plan_id 列,但迁移 011 已从数据库
删除该列,INSERT 时报 column does not exist。
修复:从 model、repository、domain entity、application use case、
所有路由中彻底移除 edit_plan_id 引用。
Bug 3 — GET /api/v1/dashboard/overview → 500:
generation_task_repository._to_domain() 访问 model.edit_plan_id,
该列已被迁移 011 删除,触发 AttributeError。
修复:同上,移除 edit_plan_id 引用。
涉及文件:
- packages/adapters/sqlalchemy_impl/asset_repository.py (async→sync)
- packages/ports/asset_repository.py (async→sync 接口)
- packages/adapters/sqlalchemy_impl/models.py (移除 edit_plan_id 列)
- packages/adapters/sqlalchemy_impl/generation_task_repository.py
- packages/domain/generation_task.py
- packages/application/generation_tasks.py
- apps/api/app/api/routes/generation_tasks.py
- apps/api/app/api/routes/task_center.py
2026-06-29 20:10:51 +08:00
Audit Bot
d2578a9093
fix: PR#112 P2 建议修复
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
P2-1: list_by_user[:5] → list_recent_by_user(user_id, limit=5) SQL层LIMIT
P2-2: DashboardOverviewResponse 补充 subscription 字段(plan + is_active)
- packages/ports/generation_task_repository.py: 新增 list_recent_by_user
- packages/adapters/sqlalchemy_impl/generation_task_repository.py: 实现
- apps/api/app/schemas/dashboard.py: 新增 SubscriptionInfo + subscription 字段
- apps/api/app/api/routes/dashboard.py: 使用新接口 + 填充 subscription
2026-06-29 18:23:49 +08:00
Audit Bot
e723025889
fix: 修复 projects 500 + 实现 dashboard/overview 端点
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Bug 1: GET /api/v1/projects → 500
- _to_project_response() 缺少 owner_user_id 和 shared_users 字段
- 补全 ProjectResponse schema 必填字段
Bug 2: GET /api/v1/dashboard/overview → 404
- 新建 dashboard schema + route
- 添加 count_by_user / count_by_project_ids / sum_storage_by_project_ids 仓储方法
- 注册 /api/v1/dashboard 路由
2026-06-29 18:12:39 +08:00
Audit Bot
265e49587f
fix: tasks.ts 类型定义对齐后端 schema(P2 修复)
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- CreateGenerationTaskResponse: task_id→id, message→error_message, 补全所有字段
- TaskItem: 补充 project_id, template_id 字段
对齐后端 GenerationTaskResponse 和 UserTaskResponse schema
2026-06-29 17:39:47 +08:00
Audit Bot
c2a522babf
fix: tasks.ts mock → 真实 API 迁移,对接后端方案 A(PR #109)
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- createGenerationTask: 关闭 mock,调用 POST /generation/tasks
- getUserTasks: 关闭 mock,调用 GET /tasks(用户级列表)
- retryTask: 关闭 mock,调用 POST /tasks/{task_id}/retry
- 删除所有 mock 数据和 USE_MOCK 开关
2026-06-29 17:29:56 +08:00
xiaoxia
35446732ea
Merge pull request 'feat: 扩展生成任务API支持模板模式(方案A)' ( #109 ) from feat/generation-api-extension 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-29 17:29:06 +08:00
Audit Bot
d2097744e4
fix: retry 端点增加归属校验 (P1 安全修复)
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- generation_tasks.py: retry_generation_task 增加 created_by_user_id 校验
- task_center.py: retry_task_by_id 增加 created_by_user_id 校验
- 非任务创建者返回 403 Access denied
2026-06-29 17:19:13 +08:00
Audit Bot
ea9e536740
feat: 扩展生成任务API支持模板模式
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
方案A: 后端扩展3处API改动,支持前端模板中心化模型。
1. POST /api/v1/generation/tasks — project_id改为可选,新增template_id/asset_ids/title_ids/voice_ids
2. GET /api/v1/generation/tasks + GET /api/v1/tasks — 新增用户级列表(跨project)
3. POST /api/v1/tasks/{task_id}/retry + POST /api/v1/generation/tasks/{task_id}/retry — 简化重试
改动涉及:
- Domain: GenerationTask新增6个字段,放宽create()校验
- Application: CreateGenerationTaskCommand新增字段
- Ports: GenerationTaskRepository新增list_by_user()
- Adapter: SQLAlchemy模型+仓储实现新字段和list_by_user
- Schema: 双模式校验(project模式/模板模式)
- Routes: generation_tasks + task_center双路由注册
- Migration: 015_add_generation_task_extensions
向后兼容:所有旧端点和参数不变。
2026-06-29 17:05:53 +08:00
CI Test
8c678b9cd0
fix: TypeScript类型错误修复 - warning→warnings, seg.id非空断言
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-29 16:40:06 +08:00
xiaoxia
8c4c428cdc
fix(api): editingPlanner 对接后端 /templates API,删除遗留 editPlans.ts ( #108 )
...
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
Squash merge PR#108
- editingPlanner.ts: mock → 真实 /templates API(7个函数)
- editPlans.ts: 已删除
- 代码审计通过
2026-06-29 16:33:23 +08:00
xiaoxia
9631272cfb
Merge pull request 'feat: 剪辑计划编辑器前端实现' ( #106 ) from feat/editing-planner-frontend 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
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Tests / lint (pull_request) Failing after 237h12m30s
Tests / test (pull_request) Failing after 237h13m33s
2026-06-29 15:28:45 +08:00
Audit Bot
067439a1dd
fix: 修复 PR#106 代码审计问题
...
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: TemplateMode 改为英文枚举值(pip/voice_over/one_take/voice_pip),显示层通过 MODE_LABELS 映射中文
P0-2: EditingPlanner 通过 useSearchParams 读取 ?template=xxx&generate=1,自动加载模板并打开发成弹窗
P1-3: 848行组件拆分为 5 个子组件(TemplatePanel/TimelinePanel/SettingsPanel/SaveModal/GenerateModal)
P1-4: GenerateFromTemplatePayload voiceover_id(string) → voiceover_duration(number)
P1-5: SaveModal 分类字段 Input → Select,关联后端 categories API
P1-6: SaveTemplatePayload 补充 estimated_duration 字段
P2: TimelinePanel Slider 约束 min≤max
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-29 15:18:33 +08:00
Audit Bot
9b6a0b8b14
fix: 修复代码审计5个问题 (P0-1,P0-2,P1-3,P1-4,P1-5)
...
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: 剪辑模式使用 EditingMode 枚举,移除硬编码字符串
- voice_over_mix → voice_over, person_narration → voice_pip
- use_cases.py 导入 EditingMode 枚举替代硬编码 VALID_MODES
P0-2: 补充 packages/application/template/__init__.py
P1-3: Use Cases 依赖 TemplateRepositoryPort 而非 SQLAlchemyTemplateRepository
P1-4: generate 端点重命名为 validate(只校验不生成)
- GenerateFromTemplateUseCase → ValidateTemplateUseCase
- POST /{id}/generate → POST /{id}/validate
P1-5: 软删除模板时级联清理关联 segments,避免孤儿数据
测试全部通过 (21/21)
2026-06-29 14:44:24 +08:00
Audit Bot
fff47a7a3d
feat: 剪辑计划编辑器前端实现
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- 新增剪辑计划编辑器页面 (三栏布局)
- 左侧:模板面板(搜索/筛选/加载模板)
- 中间:预览区 + 时间线(片段拖拽排序)
- 右侧:标题/字幕/BGM 设置面板
- 支持 4 种模式切换(画中画/人物口播/一镜到底/口播+混剪)
- 新增「我的模板」页面(卡片视图/编辑/复制/删除/生成)
- 新增 API 模块(mock 数据,后端就绪后替换)
- 更新路由和导航菜单
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-29 14:35:27 +08:00
Audit Bot
62c8d1cdff
feat: 剪辑计划编辑器后端 — 模板 CRUD + 分类 + 生成校验
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- domain: Template, TemplateSegment, TemplateCategory 实体
- ports: TemplateRepositoryPort Protocol
- adapters: SQLAlchemyTemplateRepository + 3 个 ORM Model
- application: CRUD use cases + GenerateFromTemplateUseCase
- 业务规则: one_take=1片段, voice_over_mix=每段需material_type, 配音±30%警告
- schemas: Pydantic request/response models
- routes: /api/v1/templates CRUD + /generate + /categories
- alembic: 014_add_template_tables (templates/template_segments/template_categories)
- tests: 21 个单元测试全部通过
2026-06-29 14:14:58 +08:00
xiaoxia
2849aef47e
Merge pull request 'feat: 配方复用功能后端实现' ( #102 ) from feat/recipe-reuse-backend 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
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
Tests / lint (pull_request) Failing after 240h12m11s
Tests / test (pull_request) Failing after 240h13m13s
2026-06-29 12:32:50 +08:00
Audit Bot
f2e123a017
feat: 配方复用功能后端实现
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- domain: Recipe/RecipeItem 实体
- ports: RecipeRepository Protocol
- adapters: SQLAlchemy RecipeRepository 实现 + ORM models
- application: 6个 UseCase (CRUD + Use) + Commands
- API: 6个端点 POST/GET/PATCH/DELETE /recipes + POST /recipes/{id}/use
- feature flag: recipe_reuse 仅 basic/premium 可用
- Alembic 迁移: recipes + recipe_items 表
- 单元测试: 覆盖所有 UseCase
2026-06-29 10:59:05 +08:00
Audit Bot
53910e5f20
fix: 前端交互全面审计 — 上传422修复 + 进度反馈 + 防重复提交
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
🔴 P0 Bug:
- AssetLibrary: handleUpload 补充 project_id,调用 getOrCreateDefaultProject() 解决 422
🟡 P0 交互:
- AssetLibrary: 上传时显示 Spin + 禁用 Dragger + 文案提示「正在上传」
- client.ts: 新增 413/415/503 状态码专属提示
🔵 全面交互排查:
- GeneratePage: 生成中禁用步骤导航按钮防误操作
- Billing: 自动续费 Switch 添加 loading 状态防连点
- TemplateLibrary: 收藏按钮 mutation 进行中 disabled 防重复
- TitleLibrary: 空状态增加「新建标题」和「批量导入」引导按钮
2026-06-29 10:48:39 +08:00
Audit Bot
fb935981a5
fix: P1 防止全局拦截器与组件 onError 双重 toast
...
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
- 所有 React Query onError 中的 message.error 添加 __msgShown 检查
- 所有 try/catch 中的 message.error 添加 __msgShown 检查
- 涉及 14 个页面文件:AssetLibrary, TitleLibrary, VoiceLibrary,
DuplicationUpload, TaskHistory, GeneratePage, ProductLibrary,
Billing, UpgradeSubscription, Login, Register, ForgotPassword,
ResetPassword, TemplateLibrary
- 修复 TemplateLibrary 缺少 message import 的问题
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-29 09:42:37 +08:00