Directory: correct access and tidy People, Secrets

Task 7088 · Done · Coder · created · updated

Goal: Directory (People, Users, Secrets, Projects, Machines) enforces the access it documents and reads cleanly in the list-detail split and on a phone. Goals, not literal steps; skip items already true on develop. Consolidates drafts 7052, 7000 (items 2–4), 6968, 7022, 6976. Access (do first): 1. `/users/new` opened for a member without org admin (seen on prod with the TimeSaver demo member) although the coverage manifest says `org_admin: true`. If the member truly lacks org admin, show the same no-access state as other org-admin routes; make the invite how-to's "Who can do this" and the guard agree. People / Users: 2. New user: optional fields marked the way other create forms do. User › Check: the disabled Check button says why (as bulk actions do). 3. People list: one menu trigger and one `role="menu"` per row (a hidden duplicate exists today); on a phone, whole emails fit where possible. 4. User editor's "No GitHub or GitLab credential…" helper is shortened per the UI copy standard. Secrets: 5. Beside an open credential at 1024px, the filter strip fits in fewer rows ("Only mine", Flat/Tree), the Owner select doesn't look focused on load, and credential names keep the 120px title floor with the suite's real rows present — `e2e/directory-split-width.spec.ts:71` passes in the full smoke run, not only alone. Do not lower the floor. Projects / Machines: 6. Cross-org project banner uses compact button height above the touch band; the Repositories table keeps "Primary" on the name's line (truncate the name first). 7. New account form at ≤448px stacks Name, Provider, Authentication one per row; the Hosts list keeps (or deliberately drops) its load meter at 360px consistently with 448px. Out of scope: who may invite people; other routes' guards; `lib/listDetail.ts` split arithmetic; tab-strip clipping; the API. Done means: - A member without org admin probing `/users/new` on a local stack gets no-access, with a test (or the report shows the member is an org admin and nothing changes). - Frontend smoke passes three runs in a row with the directory-split spec included. - Before/after screenshots at 1024px with an editor open and at 390px; each other item shipped with a test or declined with a reason. - `./dc check full` green.

Outcome

Directory access + tidy merged (#5807 f23f30cc1, deploy ok); /users/new no-access pinned by e2e; #5810 fixed a red smoke spec. Split spec green in all full runs; unrelated develop smoke reds filed as draft 7163. Visual check done at 1024/390/448.

Pull request Pull request

Artifacts

Activity

  • Created
  • Run
  • Runner started
  • Runner ended (done)