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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions