You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
Retire resolveModalTarget's object fallback — a modal target names a page, only (maintainer ruling objectstack#6739-A) #3925
Maintainer ruling 2026-08-09 on objectstack#6739 (decision-inbox round, 「全部接受」): a type: 'modal' action's string target names a PAGE, only. The spec TSDoc, the published docs, and defineStack's cross-reference walk are the contract; this repo's page-then-object resolution is consumer leniency and retires.
Deliverable
In packages/app-shell/src/hooks/useActionModal.tsx:
resolveModalTarget (:165-196, introduced 6632114bc 2026-08-07): remove the object-name fallback — a modal target that is not a page name is a refusal (diagnostic naming the target and pointing at type: 'form'), not a silent object resolution.
The create_x / new_x prefix convention riding the same branch retires with it, and normalizeModalSchema's objectName back-compat note (:66) is re-judged in the same PR. The ruling explicitly declined the third shape (keep prefix, reject bare object names).
"Open an object's form from an action" remains fully served by type: 'form' (validated end-to-end upstream).
Sequencing — why Blocked-by
The showcase corpus fix on objectstack#6739 (registry action AND PR #6737's inline button both move to type: 'form' + target: 'showcase_task.edit') must land first, so the reference corpus never depends on the branch being deleted here. objectstack#6889 (inline actions bypass cross-reference validation) proceeds upstream after the same fix; its new checks are what will keep this contract held on the authoring side.
Risk note (from the ruling)
The object branch is 2 days old and its only in-repo consumer is the showcase line being fixed; if implementation discovers deployed metadata relying on the prefix convention, STOP and report the measurement instead of shipping the removal.
Activity
claude commentedon Aug 14, 2026
Unlock sweep: blocker cleared.
pm:blocked→pm:queue.Declared blocker: objectstack-ai/objectstack#6739 — verified closed against the GitHub API on 2026-08-14. No other blocker is declared on this card.
Authorization: maintainer directive (this session) —「先做 23 张 blocked 解锁 10 张 on-hold 按各自自述处理」· PM session
01JaVVMrSxt7Tgi1uwEuDtH7Generated by Claude Code
yinlianghui commentedon Aug 16, 2026
Claim: 批次 8 补位(座位
repo:objectui,session_01GTRjn8xBqp75dk7kFupVRt,batch:5)。解锁已由 08-14 sweep 核清(os#6739 closed);本卡范围 closed-PR 查重:GitHub 零关联 PR,08-15 班次清单无此卡。Branch:
claude/issue-3925-retire-modal-object-fallbackFile surface:
packages/app-shell/src/hooks/useActionModal.tsx+ 其测试;与在飞四单(components×2、layout、plugin-grid)互斥。按维护者裁定(os#6739-A)执行:modal target 只命名 page,删 object fallback 与
create_x/new_x前缀约定,非 page 名给点名诊断指向type: 'form';normalizeModalSchema的 objectName back-compat 注记同 PR 重判。风险门(卡内明示):若实测发现已部署元数据依赖前缀约定 → 停手报测量,不发运除。Generated by Claude Code
feat(app-shell)!: modal target 只命名 page,退役 object fallback 与前缀约定 (obj…