fix(P0): unified横屏pad取整+错误日志增强+legacy导入+素材created_at #522

Merged
auto-approve-bot merged 2 commits from fix/p0-unified-horizontal-and-asset-api into develop 2026-07-18 16:55:27 +08:00
Owner

4项P0修复:

  1. unified横屏normalize修复:pad坐标(ow-iw)/2可能为小数(如横屏转竖屏y=437.5),ffmpeg要求整数坐标直接报错。加trunc()取整,横竖屏混素材concat不再exit=234
  2. unified ffmpeg错误日志:stderr取最后2000字符而非前3000,真正的报错信息在末尾(前面全是输入文件信息),两处except也加了stderr打印
  3. legacy导入路径修复apps/api/app/缺少__init__.py,worker环境下ModuleNotFoundError
  4. 素材列表加created_at字段:前端排序需要接口返回里没有这个字段
4项P0修复: 1. **unified横屏normalize修复**:pad坐标`(ow-iw)/2`可能为小数(如横屏转竖屏y=437.5),ffmpeg要求整数坐标直接报错。加`trunc()`取整,横竖屏混素材concat不再exit=234 2. **unified ffmpeg错误日志**:stderr取最后2000字符而非前3000,真正的报错信息在末尾(前面全是输入文件信息),两处except也加了stderr打印 3. **legacy导入路径修复**:`apps/api/app/`缺少`__init__.py`,worker环境下`ModuleNotFoundError` 4. **素材列表加created_at字段**:前端排序需要接口返回里没有这个字段
xiaoxia added the bugbackendP0 labels 2026-07-18 16:07:06 +08:00
xiaoxia added 1 commit 2026-07-18 16:07:07 +08:00
fix(P0): unified横屏pad取整+错误日志增强+legacy导入+素材created_at
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 19s
AI Code Review / AI Code Review (pull_request) Failing after 23s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 25s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m21s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 2m38s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m27s
CI/CD Pipeline / Integration Tests (pull_request) Failing after 49s
Auto Approve CI PRs / Auto Approve on CI Green (pull_request) Successful in 3m59s
Auto Merge CI PRs / Auto Merge on CI Green + Approved (pull_request) Successful in 4m4s
25099fc4f9
4项修复:
1. unified横屏normalize: pad坐标(ow-iw)/2可能为小数导致ffmpeg报错,加trunc取整
2. unified路径ffmpeg错误日志: stderr取最后2000字符而非前3000,真正的报错在末尾
3. legacy导入路径: apps/api/app/缺少__init__.py,导致ModuleNotFoundError
4. 素材列表接口: AssetResponse加created_at字段返回给前端排序用
auto-approve-bot approved these changes 2026-07-18 16:11:07 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-18 16:11:07 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
xiaoxia added 1 commit 2026-07-18 16:50:19 +08:00
fix: CreateAssetRequest误加created_at必填字段导致422
CI Build & Deploy Pipeline / Build Staging API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Web Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production API Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI Build & Deploy Pipeline / Deploy Production (pull_request) Has been skipped
CI Build & Deploy Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 19s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m3s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m9s
AI Code Review / AI Code Review (pull_request) Successful in 1m50s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 3m0s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m20s
Auto Approve CI PRs / Auto Approve on CI Green (pull_request) Successful in 3m44s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m38s
Auto Merge CI PRs / Auto Merge on CI Green + Approved (pull_request) Successful in 5m7s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 17s
d3f39622d4

🚀 预览环境已部署

项目 详情
PR号 #522
预览链接 https://pr-522.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #522 | | 预览链接 | [https://pr-522.preview.xiaoxiajianji.com](https://pr-522.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
Collaborator

代码审查结果 - PR #522

⚠️ 问题(1个需要修改)

  1. apps/api/app/schemas/asset.py 第53行:Schema 类型定义与实际赋值不匹配,可能导致运行时错误。
    • routes/assets.py 中,代码逻辑允许 created_atNoneif item.created_at else None),但在 schemas/asset.py 中将其定义为 created_at: str(非空)。
    • 当数据库中 item.created_at 为空时,Pydantic 验证会抛出 ValidationError,导致 API 响应 500 错误。
    • 修改建议:将 Schema 中的字段定义改为可选:created_at: str | None = None

💡 建议(1个可选)

  1. apps/api/app/__init__.py:确认空文件提交的必要性。
    • 该文件当前为空(diff hash 为 e69de29b)。虽然空 __init__.py 可以将目录标记为 Python 包,但通常建议添加包级别的文档字符串或版本信息。如果是为了修复导入错误而添加,请确认这是预期行为。

格式检查通过 | 逻辑审查需修改 | 性能无恙


🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 16:52:09 | 模型:

## 代码审查结果 - PR #522 ### ⚠️ 问题(1个需要修改) 1. **apps/api/app/schemas/asset.py 第53行**:Schema 类型定义与实际赋值不匹配,可能导致运行时错误。 - 在 `routes/assets.py` 中,代码逻辑允许 `created_at` 为 `None`(`if item.created_at else None`),但在 `schemas/asset.py` 中将其定义为 `created_at: str`(非空)。 - 当数据库中 `item.created_at` 为空时,Pydantic 验证会抛出 `ValidationError`,导致 API 响应 500 错误。 - **修改建议**:将 Schema 中的字段定义改为可选:`created_at: str | None = None`。 ### 💡 建议(1个可选) 1. **apps/api/app/__init__.py**:确认空文件提交的必要性。 - 该文件当前为空(diff hash 为 `e69de29b`)。虽然空 `__init__.py` 可以将目录标记为 Python 包,但通常建议添加包级别的文档字符串或版本信息。如果是为了修复导入错误而添加,请确认这是预期行为。 --- ✅ 格式检查通过 | ❌ 逻辑审查需修改 | ✅ 性能无恙 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-18 16:52:09 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot merged commit ce8f6b7398 into develop 2026-07-18 16:55:27 +08:00
auto-approve-bot deleted branch fix/p0-unified-horizontal-and-asset-api 2026-07-18 16:55:27 +08:00

🗑️ 预览环境已清理

PR #522 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #522 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.