feat: a Fields pane for anything but a secret, first for Azure accounts: fields and groups to move through, filter and copy #7

Merged
keb merged 5 commits from feat/source-detail into main 2026-10-11 10:37:40 +02:00
Owner

On an Azure account's group row, the fourth pane is now its own component, panes.Fields (fields.go): the pane for anything but a secret, a filterable list of labelled values (a label on the first of several values, like the groups). The account is its first use; vault, scope and file details will follow in it. Secrets keep Detail, for revealing and versions.

On the account's row:

  • One row per field (name, user, tenant, object ID, sign-in, roles, subs), then the account's groups, one per row. tab from the account's row goes straight to it, since Vaults and Secrets are empty there (and shift+tab comes back). j/k/g/G move and y copies the selected field or group. The footer counts n of m when it doesn't fit.
  • / filters the rows by value or label (/tenant, /platform), like the other panes.
  • Its own help bar: up • down • y copy • / filter • ? help • q quit. No reveal, share, versions or filter, which don't apply.
  • Groups come from Microsoft Graph /me/transitiveMemberOf (nested groups too, paged, sorted, directory roles left out), with az's token for Graph and the same account pinning and wrong-user check as the other tokens. They load once per session, the first time an account's pane shows, with loading… and error rows until then. Not in sovereign clouds (new optional provider.AccountGroups).
  • y on the account's row in Sources still copies the object ID. Detail loses the account fields it got in #5.

Tests: the pane (focus, fields and groups, help bar, copying a field and a group, back with shift+tab), and Graph paging with a fake Graph (groups only, sorted, other clouds unsupported). Checked against a real account: 90 groups.

🤖 Generated with Claude Code

On an Azure account's group row, the fourth pane is now its own component, `panes.Fields` (`fields.go`): the pane for anything but a secret, a filterable list of labelled values (a label on the first of several values, like the groups). The account is its first use; vault, scope and file details will follow in it. Secrets keep `Detail`, for revealing and versions. On the account's row: - **One row per field** (name, user, tenant, object ID, sign-in, roles, subs), then **the account's groups**, one per row. `tab` from the account's row goes straight to it, since Vaults and Secrets are empty there (and `shift+tab` comes back). `j`/`k`/`g`/`G` move and `y` copies the selected field or group. The footer counts `n of m` when it doesn't fit. - **`/` filters** the rows by value or label (`/tenant`, `/platform`), like the other panes. - **Its own help bar:** `up • down • y copy • / filter • ? help • q quit`. No reveal, share, versions or filter, which don't apply. - **Groups** come from Microsoft Graph `/me/transitiveMemberOf` (nested groups too, paged, sorted, directory roles left out), with az's token for Graph and the same account pinning and wrong-user check as the other tokens. They load once per session, the first time an account's pane shows, with `loading…` and error rows until then. Not in sovereign clouds (new optional `provider.AccountGroups`). - `y` on the account's row in Sources still copies the object ID. `Detail` loses the account fields it got in #5. Tests: the pane (focus, fields and groups, help bar, copying a field and a group, back with shift+tab), and Graph paging with a fake Graph (groups only, sorted, other clouds unsupported). Checked against a real account: 90 groups. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
keb added 1 commit 2026-10-11 10:17:24 +02:00
feat: an account pane on Azure account rows: fields and groups to move through and copy
CI / Checks (pull_request) Failing after 11s
PR title / Conventional title (pull_request) Successful in 2s
b37caa5a25
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb added 1 commit 2026-10-11 10:17:55 +02:00
fix: lower-case Graph errors (staticcheck)
CI / Checks (pull_request) Successful in 24s
PR title / Conventional title (pull_request) Successful in 2s
1543e992bb
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb added 1 commit 2026-10-11 10:27:20 +02:00
feat: tenant name and tenant ID on lines of their own
CI / Checks (pull_request) Successful in 24s
PR title / Conventional title (pull_request) Successful in 1s
3913989cd1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb added 1 commit 2026-10-11 10:29:00 +02:00
feat: / filters the account pane
CI / Checks (pull_request) Successful in 25s
PR title / Conventional title (pull_request) Successful in 1s
0a80073aad
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb added 1 commit 2026-10-11 10:32:47 +02:00
refactor: the account pane becomes Fields, the pane for anything but a secret
CI / Checks (pull_request) Successful in 25s
PR title / Conventional title (pull_request) Successful in 1s
e64748e85d
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb changed title from feat: an account pane on Azure account rows: fields and groups to move through and copy to feat: a Fields pane for anything but a secret, first for Azure accounts: fields and groups to move through, filter and copy 2026-10-11 10:32:54 +02:00
keb merged commit 71396f1e02 into main 2026-10-11 10:37:40 +02:00
keb deleted branch feat/source-detail 2026-10-11 10:37:40 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: keb/lazysecrets#7