What does one unified log look like at phone width? #46
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
v2
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wayfinder:ticket
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
aiko/denpa#46
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Question
denpa#34is v1-blocking: keeping both the phone and the tablet means the logrenders at two very different viewports, and today it renders as two different
designs — the upstream chatscope
ChatHistoryPanelin a mobile overlay, andLogRail's 受信記録 relay rows in tablet landscape. Rotating across the 900pxbreakpoint changes what the log is, not just where it sits.
#34names the mechanism (parameteriseLogRail's hard-coded320px, host itin the overlay, retire
ChatHistoryPanel) but not the design. The undecided partis what 受信記録 relay rows look like when there is no rail to put them in:
distinguishes them when the row is narrow?
Make it concrete before deciding —
/prototypethe log at phone width, tabletportrait and tablet landscape, and react to it.
Related
denpa#34,denpa#17(owns the relay-row design),denpa#12,denpa#16Map:
aiko/denpa#41Resolution
The unified log needs no width-specific design. What is already built is the answer.
LogRailwas rendered at all three real viewports — Pixel 7 Pro (484 CSS px), OnePlus Pad portrait (800 CSS px), and the 1c rail (320 px) — using the real component rather than a mock, with one fixture carrying a question, a 思考 row, three relays including a failure and a retry, an answer with its chain footer, a capture, and one relay still running. Prototype at.denpa-work/shots/log-prototype.html.Human verdict: all three read fine. So:
log-rail.tsx:64designed the one-line row for the 320 px rail — glyph, tool name, preview, duration. A wider viewport lengthens the measure rather than earning extra columns, and that is accepted rather than a compromise. No wide-variant row.log-rows.ts:72's 68-character measure is independent of the actual width, and that is fine at all three.LogOverlayadds a 受信記録 header and a close key the rail does not have. That is technically "beyond placement and width" against#34's wording, and it is correct — the rail sits beside the stage and needs no dismissal, the overlay covers it and does.The finding that reframed this ticket
aiko/denpa#34's premise is stale — most of it is already built. It describes mobile reaching the log through an overlay that renders the upstream chatscopeChatHistoryPanel. That is no longer true:receiver-chrome.tsx:261passesLogRailinto the overlay atwidth: '100%', andlog-rail.tsx:34states the design directly — "The 1c rail is a 320px column; the 1a overlay is the same log filling the stage. One component." The320pxis a default (LOG_RAIL_WIDTH), not the hard-code#34describes.Measured against
#34's four acceptance criteria:chrome-plan; not yet verified on a deviceChatHistoryPanelis no longer the log anywhere; delete if unreferencedChatHistoryPanelis reachable only fromcomponents/sidebar/sidebar.tsx, which nothing renders —chrome-is-mounted.test.ts:24assertsAppdoes not mount<Sidebar>. So it is dead code behind a dead file, and#34's "if it becomes unreferenced, delete it" is now due.Rescoped on
#34accordingly.