返回 Bug 清单
BUG-0520project-52中已修复backend-logic

Express 4 贪婪通配符 /:slug(*) 吞掉所有子路由,必须用 query param

发现:2026-10-07验证:2026-10-27置信度:70%

症状

访问 /repo/omnispark/project-52/branches 返回 404 或被 slug 路由吞掉返回 repo detail。

根因

Express 4 没有非贪婪 wildcard 语法。/:slug(*) 会匹配所有后续子路由。repo/slug/branches 会被 slug 路由吞掉返回 repo detail 页面,后续子路由永远不命中。Express 5 才有非贪婪语法。

修复方案

改 path param 为 query param:/repo?slug={owner}/{repo}。Express 4 URL path 里绝对不能有含 / 的变量,必须用 query param。预防原则:所有可能多段的参数一律走 query string。

错误签名

Express 路由注册正确但子路由命中永远是第一个

技术信息

来源项目

project-52

涉及文件

project-521.0.0/backend/src/index.ts

标签

project-52, mcp-reported, source-agent