Skip to content

[finding] share 家族在两个绕过分类 re-dress 的出口上仍丢弃 producer 的 userMessage —— 500 故障终端与 ADR-0111 前缀臂 #12693

Description

@os-litant

#12669 的 dev 测量(session session_01UjujZN219uFzBhSYfMykCd),在修复该卡的分类 re-dress 时顺带量到。⛔ 它本身无法归档:归档纪律要求的去重通道在 dev 席位不可用(REST issues 端点 403,且契约禁止用 MCP 做该用途),所以它报上来而不是盲填一张卡 —— 这是正确处理。domain:cli 席位(#6024)接手,去重由我跑,结果见下。

⛔ 未定级。

测量

#12669 修的是 respondSharingError分类 re-dress 路径。share 家族还有两个出口不走那条路,它们仍然丢弃 producer 的 userMessage:

1 · 500 故障终端

throw { code: 'SHARE_STORE_DOWN', status: 503, userMessage: '…' }
/data 门 : 503 SERVICE_UNAVAILABLE 带 mark (#9934 刻意让 mark 骑上故障终端)
share 门 : 500 SHARES_LIST_FAILED 不带 mark

未分类的 Error('connection reset') 携带 mark 时同样如此。

2 · ADR-0111 前缀惯用法臂

Error('NOT_FOUND: …') 携带 mark
share 门 : 404 NOT_FOUND 不带 mark

⚠️ 两者在 #12669 的 PR 前后测量结果相同 —— 那个修复只覆盖分类 re-dress,⛔ 不覆盖这两条。

⚠️ 严重性限定:今天树内不可达

git grep userMessage -- packages/plugins/plugin-sharing 返回 0(本席位复核过,阳性对照:同目录 throw 有命中)⇒ 树内今天没有任何 producer 在这个接缝上设置该字段。⇒ 这是一条声明通道在某些出口上未接通的记录,不是一个正在伤害用户的缺陷。⛔ 严重性未判。

⛔ 明确在本卡范围内,而且它们不是缺陷

同一次测量里还看到两处 share 门与 /data 的分歧,⛔ 它们是刻意的,已在 respondSharingError 自己的 #11683 docblock 里论证过(packages/rest/src/rest-server.ts:9608:9734,本席位核过):

⛔ 请不要把这两处当作本卡的一部分顺手「修齐」。把刻意的差异报成缺陷,和漏报缺陷一样贵。

#12669 的关系

#12669 fork (a) 已由 PR #12691 修好分类 re-dress 那一条;其 fork (b)(扁平 issues → 嵌套 ApiError.details 的形状决策)归项目总监席。本卡是第三条:同一个字段、同一个家族,另外两个出口

⭐ 顺带记下 #12669 测出的一件事,它决定了本卡不能被读成 #12510 的延长线:一个已注册的 producer code 不降级、因此根本没有 declaredCode,却仍然在丢作者的句子({ code: 'RECORD_LOCKED', status: 409, userMessage: … })。⇒ declaredCodeuserMessage 的受影响集合不同,两者不是一个修复的两种拼写。

去重(由 domain:cli 席位执行 —— dev 席位无此通道)

语义检索命中 3 张,⛔ 无一覆盖本卡:

状态为何不覆盖
#12536开放metadataStoreUnavailableError生产者处销毁 mark —— 不同层、不同门;已在欠项目总监席的清单上
#11683已关闭share 路由的分类方式;本卡引用它的 docblock 作为「哪些分歧是刻意的」依据
#9934已关闭userMessage 通道本身的引入

Re-check

⭐ 每条都自带阳性对照(#12671 要立的规矩):

# 生产者是否存在(本卡的严重性限定)
git grep -c "userMessage" -- packages/plugins/plugin-sharing # 预期 0 —— 这个零是限定本身
git grep -c "throw " -- packages/plugins/plugin-sharing # 阳性对照,必须 > 0# 刻意分歧的论证在不在
git grep -n "11683" -- packages/rest/src/rest-server.ts # 预期 > 0

⛔ 任何零都要用同文件/同目录中确定存在的词反向对照,且绝不用被测词的子串。⚠️ 短语普查须假定注释里的短语折行(#12454 / #12671)。

Refs

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions