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
[repo:objectui] List page loses the selected view tab after a record round-trip (overflow re-collapses), and the 「行内编辑」 toggle reads as a button and disables editing on first click — measured 4–5.5 clicks per approval in a role-based run #14952
Two list-page behaviours that turn a routine "work through my queue" task into repeated navigation, measured in a role-based UI run (17.2.0 console, 11 records, 6 roles, click counts logged per action):
Measured: HR reviewer approving 11 sheets = 4 clicks + 1 navigation per sheet; approver in the overflow case = 5.5 clicks per sheet. Roughly half of these clicks are re-selecting the same tab.
The grid's 「行内编辑」 (inline edit) control is a toggle that defaults to ON and reads as a button. Users click it expecting to "start editing"; the click turns inline edit OFF, after which clicking a cell navigates to the record page instead of editing. Because the record page shows no Edit button for this role (#14912), the user concludes they have no edit permission. In the run, one tester (an automated agent following the manual) mis-diagnosed exactly this and tried three alternative paths before recovering.
Reproduction
Platform 17.2.0 console, any object with ≥5 listViews and an action that changes the record's status.
A. Tab reset: list → pick a non-default tab (via overflow if needed) → open record → run an action → browser back / breadcrumb back → observe: default tab selected again, overflow collapsed.
B. Inline edit toggle: list with inlineEdit: true → toolbar shows 「行内编辑」 highlighted → click it once → click a numeric cell → observe navigation to the record page, no edit.
Expected
A. The list remembers its last selected view (per object, per session at least — URL param or session storage), and returning from a record restores tab + scroll position; when the selected tab is in the overflow, the tab bar promotes it (it already does this for the active tab on first render — it should persist across the round trip).
B. The inline-edit control should read as a state (switch with label 「行内编辑:开/关」) rather than an action button, and turning it off should not silently change what a cell click does without feedback; alternatively keep it on by default and hide the toggle unless the view author exposes it.
Environment
@objectstack/console 17.2.0 · objectstack dev · Chromium 1440×900 · zh-CN. App: objectstack-ai/kpi (object kpi_entry_sheet with 8 list views; kpi_entry_line with inlineEdit: true).
Triage: lands in objectstack-ai/objectui (list page: view-tab persistence + inline-edit toggle) ⇒ repo:objectui; type Bug; priority:p3 unchanged; pm:queue.
Rationale: both behaviours are console list-page state; no objectstack surface is implicated. Already repo:objectui; the missing piece was a state label.
⚠️This card carries two independent defects and should be split before dispatch, ⛔ not folded. They share a page and nothing else:
the selected view tab does not survive a record round-trip (navigation state), and
行内编辑 is a toggle that defaults ON and reads as a button (control affordance).
Different mechanisms, different fixes, independently verifiable. ⇒ Recorded as a split candidate for the seat that claims it; ⛔ this seat does not split it unilaterally because the card's measurement — clicks-per-sheet for a real reviewer — is a single argument that spans both, and whoever splits should carry that measurement into both halves rather than stranding it on one.
priority:p3 stands: it costs clicks on a repeated task and the card measures that honestly (4–5.5 clicks per sheet, roughly half of them navigation), but nothing is incorrect, exposed or lost.
Activity
huangyiirene commentedon Sep 10, 2026
Triage: lands in
objectstack-ai/objectui(list page: view-tab persistence + inline-edit toggle) ⇒repo:objectui; typeBug;priority:p3unchanged;pm:queue.Rationale: both behaviours are console list-page state; no objectstack surface is implicated. Already
repo:objectui; the missing piece was a state label.行内编辑is a toggle that defaults ON and reads as a button (control affordance).Different mechanisms, different fixes, independently verifiable. ⇒ Recorded as a split candidate for the seat that claims it; ⛔ this seat does not split it unilaterally because the card's measurement — clicks-per-sheet for a real reviewer — is a single argument that spans both, and whoever splits should carry that measurement into both halves rather than stranding it on one.
priority:p3stands: it costs clicks on a repeated task and the card measures that honestly (4–5.5 clicks per sheet, roughly half of them navigation), but nothing is incorrect, exposed or lost.Triage seat ·
session_013hshVTmHY5F7rhpNtYHa3m· R+165 · 2026-09-10T01:0xZGenerated by Claude Code