Two defects measured in the browser on 2026-09-02 (demo on main 8a0a436, Console served by @objectstack/cli 17.2.0). Both are one-line-class metadata fixes with a visible payoff on the two screens a manager and a team member open first.
1. nav_people shows only the signed-in user
The nav entry (src/apps/duly.app.ts, nav_people) points at sys_user with no viewName, so the Console lands on the platform object's default view, which is My Profile — a {current_user_id} filter. A manager opening People / 成员 sees one row: themselves. The demo has 13.
Fix: viewName: 'all_users'. That is the platform's own view name — verified: /_console/apps/ai.objectstack.duly/sys_user/view/all_users renders all 13 with Name / Email / Business unit columns. Keep requiresObject: 'sys_user'.
2. my_week puts status first, so the row link is the status pill
src/views/task.view.ts my_week.columns starts with { field: 'status' }. Two consequences, both measured:
- On desktop the Console makes the first column the record link, so the clickable thing is the
Open pill and the task name is inert text. Users click the name.
- On a 390px viewport the card renderer takes the first column as the card title, and renders the raw value — every card is titled
open / in_progress (see screenshot in the QA thread). The task name is demoted to a field.
Fix: subject first, status second. While there: drop attachments from my_week.columns — it is a dash on every row of the busiest screen (attachments stay on the record page's "Progress and attachments" section, which is where #108 put the upload).
Check late, stalled, by_unit still start with subject (they do today) and that test/i18n-coverage.test.ts and any view test keyed on column order stay green.
Not in this card
Bulk confirm / approve / return buttons on the duty views (a feature, separate card); board card tweaks; dashboard number formatting.
Two defects measured in the browser on 2026-09-02 (demo on
main8a0a436, Console served by@objectstack/cli17.2.0). Both are one-line-class metadata fixes with a visible payoff on the two screens a manager and a team member open first.1.
nav_peopleshows only the signed-in userThe nav entry (
src/apps/duly.app.ts,nav_people) points atsys_userwith noviewName, so the Console lands on the platform object's default view, which isMy Profile— a{current_user_id}filter. A manager opening People / 成员 sees one row: themselves. The demo has 13.Fix:
viewName: 'all_users'. That is the platform's own view name — verified:/_console/apps/ai.objectstack.duly/sys_user/view/all_usersrenders all 13 with Name / Email / Business unit columns. KeeprequiresObject: 'sys_user'.2.
my_weekputsstatusfirst, so the row link is the status pillsrc/views/task.view.tsmy_week.columnsstarts with{ field: 'status' }. Two consequences, both measured:Openpill and the task name is inert text. Users click the name.open/in_progress(see screenshot in the QA thread). The task name is demoted to a field.Fix:
subjectfirst,statussecond. While there: dropattachmentsfrommy_week.columns— it is a dash on every row of the busiest screen (attachments stay on the record page's "Progress and attachments" section, which is where #108 put the upload).Check
late,stalled,by_unitstill start withsubject(they do today) and thattest/i18n-coverage.test.tsand any view test keyed on column order stay green.Not in this card
Bulk confirm / approve / return buttons on the duty views (a feature, separate card); board card tweaks; dashboard number formatting.