Commit Graph

312 Commits

Author SHA1 Message Date
xiaoxia a6e85092ce fix: 统一 ENABLE_REDIS_SESSIONS 命名,修复登录因 AttributeError 导致 500 2026-06-27 17:05:48 +08:00
xiaoxia 388aafbab0 fix: correct ENABLE_REDIS_SESSIONS typo to ENABLE_REDIS_SESSION 2026-06-27 14:45:50 +08:00
CI Bot 36e12f77a9 fix: move SmartEditPlanGenerator to domain layer, remove dead workspaces route 2026-06-27 12:44:04 +08:00
CI Bot c98ab4c1ef feat: decouple API and Worker cross-service dependencies 2026-06-27 10:22:25 +08:00
CI Bot 11494918eb fix: resolve all workspace removal breakage - stub permissions, quota, ports, adapters
- Remove Workspace from domain/__init__.py exports
- Stub domain/permissions.py (all checks pass)
- Stub domain/quota.py (all checks pass)
- Create missing port stubs: workspace_member_repository, workspace_repository, workspace_invitation_repository
- Create missing adapter stubs: workspace_repository, workspace_invitation_repository
- Create routes/permissions.py stub (require_workspace_member no-op)
- Fix .env Redis URL encoding on production server
2026-06-27 09:16:53 +08:00
CI Bot 38c66a9c68 fix: add workspace_id compatibility for removed workspace concept 2026-06-27 08:43:02 +08:00
CI Bot 9f6ed89c09 fix: update default APP_VERSION to 0.1.61 2026-06-27 00:42:24 +08:00
CI Bot 60adbf95ce chore: remove redundant .github/workflows (using Gitea Actions) 2026-06-27 00:41:09 +08:00
xiaoxia 0e1f411356 fix: 修复 DATABASE_POOL_RECYLE 拼写错误 -> DATABASE_POOL_RECYCLE
- 将配置变量名从 DATABASE_POOL_RECYLE 更改为 DATABASE_POOL_RECYCLE
- 修正了拼写错误,使配置与标准 SQLAlchemy 命名一致
2026-06-27 00:01:44 +08:00
CI Bot db8c6d55ce fix: 统一编辑模式枚举名并删除重复workflow
1. 修复 edit_plan_generator.py 中的枚举名与 editing_modes.py 保持一致:
   - ONE_TAKE: one-take -> one_take
   - VOICEOVER -> VOICE_OVER: voiceover -> voice_over

2. 更新相关文档字符串和注释

3. 删除重复的 .gitea/workflows/tests.yml (ci-cd.yml 已包含完整测试)
2026-06-26 23:12:06 +08:00
CI Bot a97e3e72e9 fix: 修复 dedup.py 语法错误和 pHash DCT 实现,修复 chunked_upload.py 缩进错误 2026-06-26 22:46:21 +08:00
CI Test cd887909c7 chore: squash merge feature/smart-edit-plan into develop (resolve conflicts)
- Resolve CI/CD and deploy workflow conflicts with develop version
- Resolve database and dependencies conflicts with develop version
- Keep new edit plan generator and API functionality from feature branch
2026-06-26 21:21:39 +08:00
xiaoxia f687b4207f feat: add download_url field to generated video APIs (#20) 2026-06-26 21:13:18 +08:00
xiaoxia 84f3465778 feat: add chunked upload API for large file uploads (#21)
feat: add chunked upload API for large file uploads (#21)
2026-06-26 20:57:56 +08:00
xiaoxia 0422967229 refactor: Remove workspace concept - Projects now directly under User
BREAKING CHANGES:
- Removed Workspace, WorkspaceMember, WorkspaceInvitation entities
- Project now has owner_user_id instead of workspace_id
- Added shared_users list to Project for collaboration
- Subscription/quota moved from Workspace to User level

Changes:
- packages/domain/entities.py: Removed Workspace entities, updated Project
- packages/adapters/sqlalchemy_impl/models.py: Updated models
- packages/application/: Removed workspace use cases, updated other use cases
- packages/ports/: Removed workspace repository interfaces
- apps/api/: Updated routes, schemas, dependencies, router
- alembic/versions/007_remove_workspace_concept.py: Database migration

New APIs:
- POST /projects/{id}/share: Share project with user
- DELETE /projects/{id}/share/{user_id}: Unshare project
2026-06-26 19:16:54 +08:00
xiaoxia ec76490135 P3-1: database.py 统一使用 config.py 中的 Settings,消除配置重复定义 2026-06-26 18:37:58 +08:00
xiaoxia af19642f57 P2-4: dependencies.py 添加返回类型注解 2026-06-26 18:37:11 +08:00
xiaoxia 0b3cb8487c P2-1 & P2-5: 移除 upload.py 中重复的 _require_workspace_member,添加服务端 MIME type 验证 2026-06-26 18:35:21 +08:00
xiaoxia 6204d2fa45 P2-1: 移除 projects.py 中重复的 _require_workspace_member 函数,使用 permissions.py 中的共享函数 2026-06-26 18:34:41 +08:00
xiaoxia f42e5618ba Merge pull request 'fix(p1): 修复 4 个 P1 技术债务问题' (#11) from fix/p1-technical-debt into main 2026-06-26 18:13:41 +08:00
Coze Agent 07b5589253 fix(p1): resolve 4 P1 technical debt issues
- P1-1: CORS configuration security - use DEBUG mode to differentiate
  production vs development CORS settings
- P1-2: Implement token refresh logic in RefreshTokenUseCase
  - Add get_session_by_refresh_token to SessionStore
  - Verify session validity and expiry
  - Generate new access token on refresh
- P1-3: Fix database connection leak in worker ingest task
  - Add proper try-except-finally block
  - Ensure db.close() is always called
- P1-4: Implement real media metadata extraction
  - Use ffprobe for video metadata
  - Use Pillow for image metadata
  - Return empty dict on failure (no mock data)
2026-06-26 18:11:07 +08:00
xiaoxia a2fc3a0e2a fix: resolve CI check failures - format code and fix line length issues 2026-06-26 18:00:53 +08:00
xiaoxia b966d24ecf fix: resolve CI check failures - format code and add nosec comment 2026-06-26 18:00:11 +08:00
xiaoxia 394637d1eb fix: P2-4 add complete type annotations to dependencies 2026-06-26 17:58:25 +08:00
xiaoxia 7651a5f3f2 fix: P3-1 unify database config with app.config 2026-06-26 17:56:33 +08:00
xiaoxia 7ef99afa4c fix(P2-5): add server-side file type validation with magic 2026-06-26 17:54:03 +08:00
xiaoxia 73043ed72b fix(P1-1): resolve CORS configuration security issue 2026-06-26 17:48:57 +08:00
xiaoxia 0e4a07f0c1 fix(security): P0 - 日志过滤敏感参数(token/password/secret等) 2026-06-26 17:43:35 +08:00
xiaoxia c04b57a1f8 fix(security): P0 - JWT密钥强制环境变量,拒绝默认值 2026-06-26 17:43:35 +08:00
Xiaoxia AI 0ed3cb7ef5 fix(ci): run unit tests with API path 2026-06-24 20:18:08 +08:00
Xiaoxia AI 6e8394d749 style: sort Python imports for CI 2026-06-24 19:57:19 +08:00
Xiaoxia AI f85e389ced style: format Python files for CI 2026-06-24 19:54:36 +08:00
Xiaoxia AI 0f59b412bc feat(plans): add edit plan preview workflow 2026-06-24 10:10:25 +08:00
Xiaoxia AI ea3a4c4111 feat(tasks): retry failed project tasks 2026-06-24 09:19:23 +08:00
Xiaoxia AI ee6b4a663a feat(tasks): add project task center 2026-06-24 08:39:32 +08:00
Xiaoxia AI 8acbd6c8a7 feat(results): add generated video management 2026-06-24 06:28:06 +08:00
Xiaoxia AI 17021c351f feat(titles): complete title selection workflow 2026-06-24 00:55:00 +08:00
Xiaoxia AI 6b66601d67 feat(titles): add project title library 2026-06-24 00:30:58 +08:00
Xiaoxia AI 9cc48aeee9 feat(assets): add review actions and high risk view 2026-06-23 22:57:56 +08:00
Xiaoxia AI f2a9b0868b feat(assets): track generation usage review state 2026-06-23 21:52:47 +08:00
Xiaoxia AI 14b760cdaf fix(generation): block tasks without ready videos 2026-06-23 21:31:59 +08:00
Xiaoxia AI d052645307 feat(assets): add project material diagnosis 2026-06-23 20:14:03 +08:00
Xiaoxia AI 6e42f944c0 feat(upload): add OSS direct upload flow 2026-06-23 15:47:03 +08:00
Xiaoxia AI 0a0c73bbd7 fix(api): enforce media result permission boundaries 2026-06-23 09:30:09 +08:00
Xiaoxia AI 442f6b1ffb fix(api): enforce workspace access on project media routes 2026-06-22 19:37:57 +08:00
Xiaoxia AI 34353506d7 fix(web): restore project workspace context 2026-06-22 13:19:45 +08:00
Xiaoxia AI 3680888d36 fix(auth): allow registration without display name 2026-06-21 16:24:21 +08:00
Xiaoxia AI ea92092d12 chore(security): triage bandit findings 2026-06-21 13:38:46 +08:00
Xiaoxia AI ccb7e1e57a refactor(storage): retire minio runtime naming 2026-06-21 11:20:55 +08:00
Xiaoxia AI 3594cc1216 refactor(auth): configure external service adapters 2026-06-21 11:04:07 +08:00