fix: restore report creation and sidebar alignment
Staging Backend Quality Gate / validate (push) Successful in 10m2s
Staging Backend Quality Gate / publish (push) Successful in 8m11s

This commit is contained in:
Jesse_Chen
2026-08-10 17:33:18 +08:00
parent 07ea504e91
commit 22bbf8abf2
5 changed files with 39 additions and 3 deletions
+32
View File
@@ -2648,3 +2648,35 @@
- 相关记录:BUG-123、BUG-139
- 复发自:无
- 修复版本:本次后台 OTP 密码状态候选提交
## BUG-156 | self-hosted 报告创建被未实现的数据库过滤器直接打断
- 状态:resolvedlocal candidate,待 staging gate/deployment
- 首次发现:2026-08-10
- 最近更新:2026-08-10
- 影响面:self-hosted staging 的 `POST /api/reports`;报告生成主链、用户归属、每日限额和 production 未放宽或改动。
- 用户现象:合法的个人报告创建请求返回 `{"error":"报告生成暂时不可用","code":"report_generation_failed"}`
- 触发条件:已登录用户调用报告创建接口,route 在进入报告创建核心逻辑前先回收超过 15 分钟的 `generating` 记录。
- 根因:回收查询使用 Supabase 风格的 `.lt("updated_at", staleBefore)`,但 self-hosted `LocalPostgresQueryBuilder` 只实现了现有的 `.lte()`;运行时在构建查询时抛出 `TypeError`,被 route 的稳定错误边界统一映射为 `report_generation_failed`
- 修复:复用本地 PostgreSQL 查询构建器已有的 `.lte()`,把边界定义为“更新时间小于或等于 staleBefore”;不新增过滤器 API。
- 验证:个人报告 API 与入口聚焦测试 54/54 通过,静态回归锁定 route 使用 `.lte()`;聚焦 ESLint 和 `git diff --check` 通过。
- 防复发:self-hosted route 不得调用 `LocalPostgresQueryBuilder` 未实现的 Supabase 操作符;报告回收合同继续锁定 `.lte()`,数据库集成层已有 `lte` 查询覆盖。
- 相关记录:BUG-154
- 复发自:BUG-154staging 发布前遗漏 self-hosted 适配能力核对)
- 修复版本:本次报告接口修复提交
## BUG-157 | 侧栏“我的报告”按钮缺少 flex 布局导致图标与文字分离
- 状态:resolvedlocal candidate,待 staging gate/deployment
- 首次发现:2026-08-10
- 最近更新:2026-08-10
- 影响面:展开状态的全局侧栏“我的报告”入口;导航行为、折叠态 tooltip 与 accessibility 语义不变。
- 用户现象:报告图标贴在按钮左上方,文字单独位于中间,整体未与上方“新对话”按钮对齐。
- 触发条件:侧栏展开并渲染 `.report-nav-button` 的图标与文字。
- 根因:样式设置了 `justify-content``gap`,但没有启用 flex formatting context,因此这些对齐属性不生效。
- 修复:直接复用相邻“新对话”按钮的原生 CSS 布局,补齐 `display:flex`、水平/垂直居中和一致的水平内边距。
- 验证:个人报告入口回归锁定 `.report-nav-button` 的 flex、垂直居中和水平居中;聚焦测试、ESLint 与截图检查通过。
- 防复发:带图标和文字的侧栏按钮必须在同一 flex formatting context 中对齐;入口合同测试持续锁定关键布局属性。
- 相关记录:BUG-154
- 复发自:无
- 修复版本:本次侧栏对齐修复提交