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.
console-starter 的 vite 别名表漏了 5 个源码实际 import 的工作区包,未先构建就 pnpm dev 得到白屏 #3528
VITE v8.2.0 ready in 389 ms
(!) Failed to run dependency scan. Skipping dependency pre-bundling. Error: The following dependencies are imported but could not be resolved:
@object-ui/mobile (imported by .../packages/plugin-list/src/ListView.tsx)
@object-ui/providers (imported by .../packages/app-shell/src/views/RecordAttachmentsPanel.tsx)
@object-ui/sdui-parser (imported by .../packages/components/src/renderers/layout/page.tsx)
@object-ui/plugin-editor (imported by .../packages/app-shell/src/views/metadata-admin/widgets.tsx)
@object-ui/react-runtime (imported by .../packages/components/src/renderers/layout/react-page.tsx)
把这 5 个包补进 vite.config.ts 的别名表 —— 与现有 24 条同构,pnpm dev 从此不依赖 dist,对 example 的"开箱即跑"最直接。
把它们补进 examples/console-starter/package.json 的 dependencies —— 与 vite.config.ts 注释里那句"Customers shipping a real app can drop these aliases once the @object-ui/* packages are published to a registry"更一致:真去掉别名时,少了这 5 个声明的 fork 是缺依赖的(pnpm/npm 的 auto-install-peers 可能兜住 @object-ui/mobile 这类 peer,但 @object-ui/sdui-parser / @object-ui/react-runtime 是普通依赖链,值得单独核实)。
Triage (maintainer-authorized one-off pass, 2026-08-09, registered on objectstack#6015): promoted finding → pm:queue. A silent white screen with zero on-page diagnosis is the failure shape, and the fix is measured and mechanical: add the 5 missing workspace packages to the alias table (direction 1, symmetric with the existing 24) and to the example's package.json dependencies (direction 2 — they are real imports of the fork story the config's own comment promises). The README workaround stays as documentation, not as the fix.
Claim: PM loop round 5 (objectui whole-repo seat, non-v17 queue wave)
Session: session_017Qqyix2QcnpUC9XeYVDzx3
Branch: claude/issue-3528-console-starter-aliases
Worktree: objectui-issue-3528
File surface: examples/console-starter only (vite.config.ts, package.json, and its README line if the run story changes). Serial constraints: disjoint from the other four dispatches of this batch.
Container & model: S, mode:subagent, model: opus
Delegated ruling on the card's open fork (authorization: maintainer's 2026-08-10 delegation to this seat; veto window open until merge): do both direction 1 and direction 2 — the card itself notes they are not mutually exclusive, and they answer different promises: the aliases keep pnpm dev working in-monorepo without a prior build (the example's demo purpose), the dependency declarations keep the fork-out story coherent with the config's own "drop these aliases once published" comment. Doing both removes the white-screen trap without betting on which promise the example is for. Direction 3 (docs-only) stays as the floor that PR #3524 already laid.
ACCEPT (objectui seat PM, session session_017Qqyix2QcnpUC9XeYVDzx3, review of record) — PR #4103, both directions of the delegated ruling implemented.
The acceptance-bar evidence is exactly the card reversed: fresh worktree, no build, zero dist dirs → dev server up, the five formerly-500 modules all 200, #root renders 2506 bytes where the card measured 0, zero 4xx/5xx. The closure test is the real prize — it re-derives the alias set from the actual import graph (with the fixed-point argument for why 29 is stable), so this class of drift now fails a test instead of a reader. Both CI laps were real defects correctly absorbed: the new test had to enter a tsc program (the type-check-coverage gate exists precisely to catch that), and the shard-4 pin's own comment asked for the member-list update it got — with the "must arrive wired up" clause now asserted per member.
Correction to my ruling's rationale, on the record: direction 2's justification does not survive the dev's verification — every consuming manifest already declares the five packages itself, so a fork dropping the aliases resolves them today; only @object-ui/mobile (peerDep of plugin-list) is genuinely load-bearing, the other four are self-documentation. The ruling STANDS as implemented — workspace:* declarations in a private example cost nothing and make the example's real surface explicit — but the record should show the dev's facts beat my rationale, and any future revisit starts from their table, not my claim. Rider findings #4101 (two more hand-maintained lists vs the real graph) and #4102 (README's pre-#4042 root-route claim — correctly NOT folded in, different cause) are well-filed.
Activity
yinlianghui commentedon Aug 7, 2026
发现分诊轮(持有):文档化的启动顺序(
pnpm -w build先行,PR #3524 的 README 已写明白屏症状与五个包名)绕开了该坑;三个修向的取舍取决于"console-starter 是否要支持 fork 出仓独立跑"——维护者裁量,不预设。README 已落地为第一道防线,伤害面收窄,继续持有。(objectui 车道 PM,会话session_01GTRjn8xBqp75dk7kFupVRt)Generated by Claude Code
os-project-manager commentedon Aug 9, 2026
Triage (maintainer-authorized one-off pass, 2026-08-09, registered on objectstack#6015): promoted
finding→pm:queue. A silent white screen with zero on-page diagnosis is the failure shape, and the fix is measured and mechanical: add the 5 missing workspace packages to the alias table (direction 1, symmetric with the existing 24) and to the example'spackage.jsondependencies (direction 2 — they are real imports of the fork story the config's own comment promises). The README workaround stays as documentation, not as the fix.Generated by Claude Code
yinlianghui commentedon Aug 10, 2026
Claim: PM loop round 5 (objectui whole-repo seat, non-v17 queue wave)
Session:
session_017Qqyix2QcnpUC9XeYVDzx3Branch:
claude/issue-3528-console-starter-aliasesWorktree:
objectui-issue-3528File surface:
examples/console-starteronly (vite.config.ts,package.json, and its README line if the run story changes). Serial constraints: disjoint from the other four dispatches of this batch.Container & model: S,
mode:subagent,model: opusDelegated ruling on the card's open fork (authorization: maintainer's 2026-08-10 delegation to this seat; veto window open until merge): do both direction 1 and direction 2 — the card itself notes they are not mutually exclusive, and they answer different promises: the aliases keep
pnpm devworking in-monorepo without a prior build (the example's demo purpose), the dependency declarations keep the fork-out story coherent with the config's own "drop these aliases once published" comment. Doing both removes the white-screen trap without betting on which promise the example is for. Direction 3 (docs-only) stays as the floor that PR #3524 already laid.Generated by Claude Code
yinlianghui commentedon Aug 10, 2026
ACCEPT (objectui seat PM, session
session_017Qqyix2QcnpUC9XeYVDzx3, review of record) — PR #4103, both directions of the delegated ruling implemented.The acceptance-bar evidence is exactly the card reversed: fresh worktree, no build, zero dist dirs → dev server up, the five formerly-500 modules all 200,
#rootrenders 2506 bytes where the card measured 0, zero 4xx/5xx. The closure test is the real prize — it re-derives the alias set from the actual import graph (with the fixed-point argument for why 29 is stable), so this class of drift now fails a test instead of a reader. Both CI laps were real defects correctly absorbed: the new test had to enter a tsc program (the type-check-coverage gate exists precisely to catch that), and the shard-4 pin's own comment asked for the member-list update it got — with the "must arrive wired up" clause now asserted per member.Correction to my ruling's rationale, on the record: direction 2's justification does not survive the dev's verification — every consuming manifest already declares the five packages itself, so a fork dropping the aliases resolves them today; only
@object-ui/mobile(peerDep of plugin-list) is genuinely load-bearing, the other four are self-documentation. The ruling STANDS as implemented —workspace:*declarations in a private example cost nothing and make the example's real surface explicit — but the record should show the dev's facts beat my rationale, and any future revisit starts from their table, not my claim. Rider findings #4101 (two more hand-maintained lists vs the real graph) and #4102 (README's pre-#4042 root-route claim — correctly NOT folded in, different cause) are well-filed.Flipping ready + auto-merge.
Generated by Claude Code
fix(console-starter): close the vite alias table over its real import…