Project

General

Profile

Actions

缺陷 #3

open
RA

QA验收 #1: 会议管理与话题管理功能验收(含 Markdown/BFF 跨端验证)

MTG/TPC-ERR-001:不存在记录详情页仍显示编辑操作

缺陷 #3: MTG/TPC-ERR-001:不存在记录详情页仍显示编辑操作

Added by Redmine Admin about 2 months ago. Updated about 2 months ago.

Status:
新建
Priority:
高
Assignee:
-
Start date:
09/22/2026
Due date:
% Done:

0%

Estimated time:

Description

用例

MTG-ERR-001 / TPC-ERR-001:不存在记录的详情页错误态。

复现步骤

  1. 登录 NDB Web 管理后台。
  2. 打开 http://127.0.0.1:8888/meetings/99999999。
  3. 打开 http://127.0.0.1:8888/topics/99999999。

预期结果

页面显示明确的不存在错误,并隐藏依赖有效记录的编辑、状态等操作;标题不应继续显示加载态。

实际结果

  • 会议详情显示“会议详情加载失败 / 会议不存在或不在可访问项目范围”,但标题仍显示“加载中”,并保留“编辑”按钮。
  • 话题详情显示“话题详情加载失败 / 话题不存在”,但仍保留“编辑”按钮。

影响

错误态向管理员暴露无效操作入口,点击后会继续进入不存在记录的编辑路由,造成误导和额外失败链路。

运行态证据

Ego Browser TaskSpace 12 的语义快照已确认以上文案和按钮同时出现;截图接口在该页面连续超时,因此本缺陷附加本地复现记录而非截图。


Files

defect-error-state-actions.md (1.01 KB) defect-error-state-actions.md Redmine Admin, 09/22/2026 08:39 AM
meeting-not-found-qa.png (114 KB) meeting-not-found-qa.png Redmine Admin, 09/22/2026 09:11 AM
topic-not-found-qa.png (107 KB) topic-not-found-qa.png Redmine Admin, 09/22/2026 09:11 AM
error-state-regression-guide.md (1.55 KB) error-state-regression-guide.md Redmine Admin, 09/22/2026 09:11 AM
meeting-not-found-qa.png
topic-not-found-qa.png

RA Updated by Redmine Admin about 2 months ago Actions #1

已完成前端修复并做回归验证(未修改后端、未提交/推送代码)。

变更范围:

  • 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 Actions #2

meeting-not-found-qa.png
topic-not-found-qa.png

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 Actions #3

补充运行态证据:本轮临时启动的本地 Django 日志确认 GET /v1/meetings/99999999 返回 HTTP 404(响应 81 bytes),GET /v1/topics/99999999 返回 HTTP 404(响应 51 bytes)。因此前述 PASS 为真实不存在记录响应,不是 Network Error 降级态。

Actions

Also available in: PDF Atom