Files
X-Financial/document/development/2026-07-18/dev-logs/bugs/rule-management-permission-reference-crash.md
2026-07-20 10:30:35 +08:00

2.8 KiB
Raw Blame History

规则管理权限状态未导出导致页面崩溃

日期2026-07-18 文档路径document/development/2026-07-18/dev-logs/bugs/rule-management-permission-reference-crash.md

修复记录

  • 15:00记录 bug 修复:进入规则管理时模板引用未定义的 isRuleManager,导致规则列表和操作区整页崩溃。
    • Git 提交检查:git fetch --all --prune 成功upstream origin/mainupstream 新提交:未发现;本地 ahead 19 条,最新为 07241b46 fix(docker): manage local postgres in default compose787bc3a4 feat(platform): close AI expense value loop242d68c3 feat(approval): add task workflow and waiver decisions28b834ed fix(approval): replay immutable action responses4940ebc4 feat(approval): add safe risk disposition workflowee88a36b feat(ai): add tenant-safe hierarchical expense learning6bdf65bc feat(expenses): add authoritative pre-review workflowae3f02c3 feat(expense): add persistent zero-entry receipt association,另有 11 条。
    • 原因:useAuditViewPermissions 内部已经计算 isRuleManager,但未在返回对象中暴露;AuditView 同时没有解构该状态,渲染权限按钮时触发未定义引用。
    • 修改:权限 composable 明确返回 isRuleManager,视图层同步解构;新增权限状态导出与视图接线回归测试。
    • 验证:容器内前端测试 816/816 通过Vite 生产构建成功;使用 admin/admin 实际进入规则管理,基础规则 8 条、风险规则列表和 MCP 服务 2 条均正常加载,页面无崩溃。
    • 影响:规则管理员与系统管理员的规则操作权限可以稳定参与渲染,基础规则、风险规则和 MCP 三个页签恢复可用。
  • 15:40追加修复风险规则详情操作状态未向模板暴露的问题。
    • Git 提交检查:git fetch --all --prune 成功upstream origin/main 无新提交;本地 ahead 19 条,最新包括 07241b46 fix(docker): manage local postgres in default compose787bc3a4 feat(platform): close AI expense value loop242d68c3 feat(approval): add task workflow and waiver decisions,另有 16 条。
    • 修改:AuditView.jssetup() 返回对象补齐 riskRuleHasPublishableRevisioncanEditRiskRuleDraftcanCreateRiskRuleRevisionaudit-view-permissions.test.mjs 新增模板权限暴露回归。
    • 操作:在 local-x-financial-linux 容器内运行规则权限、风险规则详情和员工模型定向测试,并执行 Vite 生产构建与 git diff --check
    • 验证:定向前端测试 9 项全部通过,前端全量测试 820/820 通过Vite 生产构建成功,差异格式检查通过。
    • 影响:已发布风险规则可正常显示“创建修订版本”,未发布草稿和待发布修订也能显示对应的编辑、发布入口。