缺陷 #3
openQA验收 #1: 会议管理与话题管理功能验收(含 Markdown/BFF 跨端验证)
MTG/TPC-ERR-001:不存在记录详情页仍显示编辑操作
0%
Description
用例¶
MTG-ERR-001 / TPC-ERR-001:不存在记录的详情页错误态。
复现步骤¶
- 登录 NDB Web 管理后台。
- 打开 http://127.0.0.1:8888/meetings/99999999。
- 打开 http://127.0.0.1:8888/topics/99999999。
预期结果¶
页面显示明确的不存在错误,并隐藏依赖有效记录的编辑、状态等操作;标题不应继续显示加载态。
实际结果¶
- 会议详情显示“会议详情加载失败 / 会议不存在或不在可访问项目范围”,但标题仍显示“加载中”,并保留“编辑”按钮。
- 话题详情显示“话题详情加载失败 / 话题不存在”,但仍保留“编辑”按钮。
影响¶
错误态向管理员暴露无效操作入口,点击后会继续进入不存在记录的编辑路由,造成误导和额外失败链路。
运行态证据¶
Ego Browser TaskSpace 12 的语义快照已确认以上文案和按钮同时出现;截图接口在该页面连续超时,因此本缺陷附加本地复现记录而非截图。
Files
RA Updated by Redmine Admin about 2 months ago
已完成前端修复并做回归验证(未修改后端、未提交/推送代码)。
变更范围:
- src/views/meetings/detail.vue
- src/views/meetings/meetingFormContract.test.mjs
- src/views/topics/detail.vue
- src/views/topics/topicDetailContract.test.mjs
修复行为:
- 会议不存在/加载失败时标题显示“会议详情不可用”,且仅 meeting.id 存在时展示状态、编辑和状态操作。
- 话题不存在/加载失败时标题显示“话题详情不可用”,且仅 topic.id 存在时展示编辑。
验证:
- Node 定向/相关测试 36/36 通过
- oxfmt --check 通过;oxlint 通过;git diff --check 通过
- pnpm run build:staging 通过(仅现有 Node DEP0205 与 Tailwind sourcemap 警告)
- Ego Browser TaskSpace 13:/meetings/99999999 显示“会议详情不可用/会议详情加载失败”,只有返回列表、刷新、重新加载,无编辑/会议状态;/topics/99999999 显示“话题详情不可用/话题详情加载失败”,只有返回、重新加载,无编辑。截图:/private/tmp/ndb-redmine-preflight-2-3/meeting-not-found-fixed.png、/private/tmp/ndb-redmine-preflight-2-3/topic-not-found-fixed.png。
边界:本地后端未启动且 Bitwarden 锁定、bw-login 不可用,浏览器用受控会话权限进入页面,因此失败副标题为 Network Error;真实登录态 + 后端 404“记录不存在”组合尚未复验。
RA Updated by Redmine Admin about 2 months ago
- File meeting-not-found-qa.png meeting-not-found-qa.png added
- File topic-not-found-qa.png topic-not-found-qa.png added
- File error-state-regression-guide.md error-state-regression-guide.md added
QA 独立复测结论:MTG-ERR-001 PASS;TPC-ERR-001 PASS
不存在记录错误流程回归说明¶
执行日期:2026-09-22
MTG-ERR-001:会议详情¶
操作:登录本地 NDB Web,访问 http://127.0.0.1:8888/meetings/99999999。
预期:
- 标题明确显示详情不可用;
- Result 显示加载失败与不存在原因;
- 编辑、会议状态等依赖有效实体的操作不可见。
实际:
- 标题显示“会议详情不可用”;
- Result 显示“会议详情加载失败 / 会议不存在或不在可访问项目范围”;
- 可见按钮只有“返回列表”“刷新”“重新加载”;
- “编辑”和“会议状态”均不可见。
结果:Pass。
截图:meeting-not-found-qa.png
TPC-ERR-001:话题详情¶
操作:登录本地 NDB Web,访问 http://127.0.0.1:8888/topics/99999999。
预期:
- 标题明确显示详情不可用;
- Result 显示加载失败与不存在原因;
- 编辑及上线、下线、归档等依赖有效实体的操作不可见。
实际:
- 标题显示“话题详情不可用”;
- Result 显示“话题详情加载失败 / 话题不存在”;
- 可见按钮只有“返回”“重新加载”;
- “编辑”及状态操作均不可见。
结果:Pass。
截图:topic-not-found-qa.png
验证环境边界¶
为避免把 Network Error 误判为不存在记录,本轮只启动现有本地 Django 开发服务与 Vite 开发服务,未执行迁移、未修改数据库。两个页面均取得后端返回的明确不存在文案,因此本结论覆盖真实不存在记录错误态,而非仅覆盖前端断网状态。
RA Updated by Redmine Admin about 2 months ago
补充运行态证据:本轮临时启动的本地 Django 日志确认 GET /v1/meetings/99999999 返回 HTTP 404(响应 81 bytes),GET /v1/topics/99999999 返回 HTTP 404(响应 51 bytes)。因此前述 PASS 为真实不存在记录响应,不是 Network Error 降级态。