Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

[console] 编辑保存不发 If-Match/If-Unmodified-Since,并发编辑静默后写覆盖(数据层 409 检测是好的) #3116

Closed

Description

@baozhoutao

现象

console 编辑保存不发条件请求头(If-Match / If-Unmodified-Since),并发编辑退化为「后写覆盖先写」,且先写方拿到的是成功回执、毫不知情。

实测证据(17.0.0-rc.0,真人实测)

同一条记录:

  1. 两个基于同一版本的写入先后改 remark → 双双 200,最终只留后写方的值;
  2. 同一条记录手工带 If-Match / If-Unmodified-Since(值取过期 updated_at)再写 → 409 Record … was modified by another user,且值未被覆盖。

⇒ 数据层的版本冲突检测是好的,缺陷在 console 编辑保存链路不带条件头。

影响

多人同时改同一单据静默丢改动(高频协作对象风险最大);凡走 console 界面的用户都受影响。保存链路在渲染层,应用层元数据无从干预。

建议

console 编辑保存(弹窗/内联/详情)统一带上 If-Match: <etag> 或 If-Unmodified-Since: <updated_at>,409 时提示「记录已被他人修改」并引导刷新合并。

下游登记:os-project-titanwind-ehr PLAT-DEF-021。

Activity

  1. baozhoutao commented on Jul 31, 2026

    @baozhoutao
    ContributorAuthor

    撤回:此条未经下游 PM 确认即批量提报,先关闭;后续由 PM 决定是否重提。

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions