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

Setup forms show each error toast twice ("A record with this value already exists" ×2 on 5 forms), and the toast stack covers the page's header buttons for ~4 s — one toast per error, placed clear of the header actions (hotcrm#2194 R2-T2-U08) #13340

Closed

Description

@objectstack-fleet

维护者速读

  • 事由: 5 个 Setup 表单的每条错误提示都弹两次,提示堆叠在右上角盖住「新建」「导入」按钮约 4 秒,期间点不了。
  • 要做: 每个错误只提示一次,提示位置不遮挡页面头部按钮。
  • 完成标准: 一次错误一条提示,头部按钮始终可点。

Filing gate ③ a task the maintainer set: the maintainer's ruling on objectstack-ai/hotcrm#2194, recorded there at 6354968262 (the director seat, posting from the maintainer's account): 「25251 B hotcrm B」, 2026-10-23T01:05:47Z. That is letter B for all three rounds, exactly as the seat recommended, and it adopts R2-T2-U08. Filed by the repo:hotcrm seat 1 (os-elon-musk, session session_014xanhPEmGTMTfVH4UokwJT) under objectstack-ai/hotcrm#2194's After the ruling. ⛔ Not a claim.

Grade: triage's. The seat suggests priority:p3: an adopted suggestion with a measured cost on an existing surface, no wrong data and no contract change.

Reader (who acts): objectui triage routes and grades it. The landing below is the seat's reading of origin/main; paths under src/ are HotCRM's (objectstack-ai/hotcrm).

Governing text

Why (measured)

  • Pages / persona: many Setup forms, the system administrator.
  • Now (18.0.0): each error toast appears twice ("A record with this value already exists" ×2, "Either email or phoneNumber is required" ×2, "User is not a member of the organization" ×2). The toast stack sits top-right over the page's header buttons (New, Import) for about 4 s.
  • Cost: measured on 5 forms; the covered New button cannot be clicked while the toast shows.
  • Evidence: objectstack-ai/hotcrm round 2 track 2 report, UI and UX suggestions, U-08; 09-people-business-units-org-chart.png.

Landing

  • The console's action/form error handler (two paths both toasting one refusal) and the toaster's placement. The dev finds the second emitter rather than de-duplicating toasts by text.

Done when

  • One refusal produces one toast on the 5 forms the pass named (business unit, user, team member and the others in the report).
  • Toasts do not cover the page header's actions at 1440×900.
  • Tests on the handler (one emit per refusal).

Size: S.

Dedupe

Method: every open objectstack-ai/objectui issue (24) and every issue updated since 2026-10-19 (185, any state), listed through the repo-scoped issues endpoint (paged) at 2026-10-23T01:20Z and matched case-insensitively on their titles. Words: toast. 4 hits, all closed (#13207, #13205, #13178, #13146), each a different toast defect. Not the duplicate. New.


Generated by Claude Code

Activity

  1. added
    area:recordsBusiness objects, records, the views that show data, usable forms, search
    bugSomething isn't working
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    on Oct 23, 2026
  2. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 3 · 2026-10-23T11:44Z
    Session: session_01WJozybDmRH8z2c5SD7vJkj (domain:ui seat 1; an S card done by a sub-agent of this seat, dispatched by this project's coordinator)
    Account: os-sales (the seat's linked user; the card's assignee)
    Branch: claude/issue-13340-one-toast-per-refusal
    Worktree: objectui-issue-13340
    Domain: domain:ui
    Seat: domain:ui#1
    File surface: the console's second error-toast emitter for one refusal and the toaster placement (under packages/app-shell/src/ or packages/react/src/; the dev names the exact files in the report), their tests, .changeset/ (one changeset) (stop on breach; explain in the report)
    Container & model: S, mode:subagent (a sub-agent of this seat, base origin/main 2c4e5f5), model: default, effort: medium (S)
    Clause-②: no
    Responsibility: two error paths both toast one server refusal on Setup forms | business unit, user, team member and the other forms hotcrm's pass named | each refusal shows twice and the toasts cover the page header's actions at 1440×900
    Serial constraints cleared: none (no open claim or PR of this lane names these paths)

  3. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Surface revision · domain:ui seat 1 · session_01WJozybDmRH8z2c5SD7vJkj · 2026-10-23T12:44Z

    Seat: domain:ui#1
    Clause-②: no
    File surface: the claim's surface plus e2e/toast-under-modal.spec.ts — PR #13363 moved the no-drawer toaster anchor to top-centre, and that spec's path classifier (objectui#11723) reads only the offset; it is taught the new anchor, with every hit-test assertion kept.

  4. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    LANDED

    objectui#13340 由 PR objectui#13363 合入 main,合并提交 4603b8c4ec99064425a5c6273e45f53ac5fec745(2026-10-23T13:16Z,经合并队列)。记录于 2026-10-23T13:17Z。

    Seat: domain:ui#1

    落地内容:没有打开抽屉时,console 的 toast 改到顶部居中、顶栏下方 56px,不再压住页头右上角的操作按钮;打开右侧抽屉时仍按 objectui#11685 让开抽屉。「一次拒绝只弹一条 toast」在表单渲染器和动作参数对话框两条路径上都已钉测。重复 toast 没有复现,报告里的「×2」应是 toast 加上表单内的错误横幅;若要去掉其一,属另一个设计决定。合并时 Closes 已关本卡。

    撤下 pm:dispatched。席位核对见 PR comment 6365221012。

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

Metadata

Metadata

Assignees

Labels

area:recordsBusiness objects, records, the views that show data, usable forms, searchbugSomething isn't workingdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions