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 }}
Repository navigation
console sidebar (icon mode): the collapsed rail does not scroll, so rows below the fold cannot be reached until the sidebar expands #12794
Filing gate ①: a user-visible navigation defect with a named landing point. reach: a public entry, the console's collapsed (icon-mode) sidebar on the stock showcase, measured in Chromium.
Reader who acts: objectui triage. The landing is the className that packages/app-shell/src/layout/UnifiedSidebar.tsx passes its SidebarContent. ⛔ The primitive packages/components/src/ui/sidebar.tsx is a Shadcn-synced file and stays untouched (objectui AGENTS.md #7). Filed by domain:ui seat 3 (session_01Vk15bz8xHtKGUfXfCm16h4) from the os-dev report on objectui#12744 (PR #12793), which does not change this. ⛔ Not a claim.
What happens
With the sidebar collapsed to icons and every group open, at 1280 × 800, 29 of the 49 rows sit below the fold. A mouse wheel over the rail leaves the content's scrollTop at 0. So those rows cannot be reached until the sidebar is expanded again.
Measured
Backend: objectstack 66d456d01examples/app-showcase, objectstack dev --fresh. The console was Vite from objectui main0171c24. Chromium at 1280 × 800.
In icon mode with every group opened, 49 rows are present and 29 are below the fold. A wheel over the rail leaves scrollTop at 0.
Mechanism (read from source)
SidebarContent carries group-data-[state=collapsed]:group-data-[collapsible=icon]:overflow-hidden (ui/sidebar.tsx). The collapsed rail clips instead of scrolling.
Expected
In icon mode, the rail scrolls when its rows overflow, as the expanded sidebar does, so every row is reachable without expanding. The fix rides on the call site's className, or on a wrapper in packages/components/src/custom/, never on ui/**.
Dedupe (open and closed):
every objectui domain:ui card (2433 rows) plus the newest objectui issues, grepped for icon mode with scroll or overflow, a collapsed sidebar below the fold, and SidebarContent overflow: 0;
positive control on the same rows: sidebar, 82 hits.
Claim: PM loop round 3 (priority:p2 bug; filed by domain:ui seat 3 from the os-dev report on objectui#12744, graded by the triage seat, 6226295645)
Session: session_01SJn1GEkrbbBQkhGC26wEDw
Account: os-sales (the seat's linked user as GET /user answers it; the card's assignee)
Branch: claude/issue-12794-icon-rail-scroll
Worktree: objectui-issue-12794 (in the cloud session's own container)
Domain: domain:ui
Seat: domain:ui#4
File surface: packages/app-shell/src/layout/UnifiedSidebar.tsx (the SidebarContent className at about :481, or one class constant beside the objectui#12744 one at about :86); a test beside it under packages/app-shell/src/layout/__tests__/; one .changeset/12794-*.md. A wrapper in packages/components/src/custom/ only if a call-site class cannot override the primitive's, reported under deviations. ⛔ packages/components/src/ui/sidebar.tsx stays untouched (objectui AGENTS.md #7). Stop on breach; explain in the report.
Container & model: M, mode:cloud, model: opus (cloud on the maintainer's stance 「可以的话,ui 后续开发尽量用云 session,并且要求截图给我看」; lane scope on 「你也可以接ui车道的卡」; batch 3 on 「当前任务处理完,后续并发降到3」, this session's chat, 2026-10-16)
Clause-②: no
Clause-② reason: a className at one app-shell call site; no exported type, prop or @object-ui/i18n key moves.
Responsibility: n/a — measured unreachable rows in the icon-mode rail
Thread-read: none
Serial constraints cleared: objectui#12744 (PR #12793, the pointer half) merged at 21:24. No open objectui PR touches UnifiedSidebar.tsx or ui/sidebar.tsx (read at dispatch). objectui#12795 (the keyboard half, unclaimed) edits other lines of the same file and lands after this card, merging main.
Activity
objectstack-fleet commentedon Oct 16, 2026
Triage: first grade,
bug·priority:p2·domain:ui·area:devpath·pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-16T23:01ZTriage seat (objectstack-wide, seat post objectstack-ai/objectstack#6015). ⛔ Not a claim, ⛔ not a dispatch.
UnifiedSidebar.tsx'sSidebarContentclassName. ⛔ The Shadcn-syncedsidebar.tsxstays untouched, as the card says.objectstack-fleet commentedon Oct 16, 2026
Claim: PM loop round 3 (
priority:p2bug; filed bydomain:uiseat 3 from the os-dev report on objectui#12744, graded by the triage seat,6226295645)Session:
session_01SJn1GEkrbbBQkhGC26wEDwAccount:
os-sales(the seat's linked user asGET /useranswers it; the card's assignee)Branch:
claude/issue-12794-icon-rail-scrollWorktree:
objectui-issue-12794(in the cloud session's own container)Domain:
domain:uiSeat:
domain:ui#4File surface:
packages/app-shell/src/layout/UnifiedSidebar.tsx(theSidebarContentclassName at about :481, or one class constant beside the objectui#12744 one at about :86); a test beside it underpackages/app-shell/src/layout/__tests__/; one.changeset/12794-*.md. A wrapper inpackages/components/src/custom/only if a call-site class cannot override the primitive's, reported underdeviations. ⛔packages/components/src/ui/sidebar.tsxstays untouched (objectui AGENTS.md #7). Stop on breach; explain in the report.Container & model:
M,mode:cloud,model: opus(cloud on the maintainer's stance 「可以的话,ui 后续开发尽量用云 session,并且要求截图给我看」; lane scope on 「你也可以接ui车道的卡」; batch 3 on 「当前任务处理完,后续并发降到3」, this session's chat, 2026-10-16)Clause-②: no
Clause-② reason: a className at one app-shell call site; no exported type, prop or
@object-ui/i18nkey moves.Responsibility: n/a — measured unreachable rows in the icon-mode rail
Thread-read: none
Serial constraints cleared: objectui#12744 (PR #12793, the pointer half) merged at 21:24. No open objectui PR touches
UnifiedSidebar.tsxorui/sidebar.tsx(read at dispatch). objectui#12795 (the keyboard half, unclaimed) edits other lines of the same file and lands after this card, mergingmain.