Skip to content

UI: service accounts and API key management - #1989

Draft
GregorShear wants to merge 19 commits into
greg/personal-tokensfrom
greg/access
Draft

GregorShear wants to merge 19 commits into
greg/personal-tokensfrom
greg/access

Conversation

@GregorShear

@GregorShear GregorShear commented Jun 2, 2026 •

Copy link
Copy Markdown
Contributor

Changes

Add a Service Accounts admin section for creating accounts with scoped catalog-prefix grants and issuing or revoking API keys. Newly created secrets are shown once. List and detail views share normalized GraphQL cache data, and synthetic service-account users are excluded from human access-grant lists.

Includes the catalog identity editor, account cards, name generation, expiry and usage indicators, and header details used by this feature. The personal tokens page now recommends service accounts for shared automation.

Builds directly on #2116. Catalog validation and autocomplete changes from the deferred #2118 are excluded. Invite creation uses the existing catalog-name validator, and catalog-path rendering no longer depends on #2118's helper.

Validation

  • TypeScript check passed after rebasing.
  • All 34 misc-utils and stableColor tests passed.
  • Browser flows and Playwright checks were not run.

Stack

  1. Remove React Intl from token, invite, and prefix UI #2124 — Remove React Intl from token, invite, and prefix UI (base: main)
  2. Move personal (refresh) tokens out of tenant admin UI  #2116 — Move personal tokens to settings and simplify token UI (base: Remove React Intl from token, invite, and prefix UI #2124)
  3. UI: service accounts and API key management #1989 — Service accounts and API key management (base: Move personal (refresh) tokens out of tenant admin UI  #2116)

@GregorShear GregorShear closed this Jun 3, 2026
@GregorShear
GregorShear deleted the greg/access branch June 3, 2026 02:44
@GregorShear
GregorShear restored the greg/access branch June 3, 2026 02:44
@GregorShear GregorShear reopened this Jun 3, 2026
@GregorShear
GregorShear changed the base branch from main to greg/refresh-tokens June 3, 2026 03:17
@GregorShear
GregorShear force-pushed the greg/access branch 4 times, most recently from 6c847e6 to f0bebb8 Compare June 3, 2026 04:50
Base automatically changed from greg/refresh-tokens to main June 18, 2026 03:23
Comment thread src/components/admin/ServiceAccounts/CreateDialog.tsx Fixed
@GregorShear
GregorShear changed the base branch from main to greg/dash/nav July 7, 2026 03:29
@github-actions

github-actions Bot commented Jul 7, 2026 •

Copy link
Copy Markdown

❌ Code Health

Introduces $\textcolor{red}{3}$ dead-code issues (removes $\textcolor{green}{1}$).

48 Unused files

File imported nowhere — delete (or import) it.

     src/hooks/useDelay.ts
     src/hooks/useDraft.ts
     src/pages/NoGrants.tsx
     src/pages/OAuth.tsx
     src/services/encryption.ts
     src/types/global.ts
     src/types/vitest.ts
     src/components/graphs/TaskHoursByMonthGraph.tsx
     src/components/tables/Link.tsx
     src/context/LoopIndex/index.tsx
…and 38 more

65 Unused exports $\textcolor{red}{+2}$ $\textcolor{green}{-1}$

Exported symbol with no references outside its own file — un-export it, or delete it if unused entirely

$\textcolor{red}{+}$ src/api/gql/serviceAccounts.ts : SERVICE_ACCOUNT_FRAGMENT
$\textcolor{red}{+}$ src/components/shared/BandedDiv.tsx : BANDED_DIV_FACE_CLASS
$\textcolor{green}{-}$ src/context/Theme.tsx : logoColors
     src/context/Theme.tsx : intensifiedOutlineThick
     src/context/Theme.tsx : tableAlternateRowsSx
     src/context/Theme.tsx : draggableChipIconSx
     src/context/Theme.tsx : hiddenButAccessibleInput
     src/context/Theme.tsx : primaryColoredBackground_hovered
     src/context/Theme.tsx : detailsPanelBgColor
     src/context/Theme.tsx : menuBackgroundColor
…and 56 more

29 Unused exported types $\textcolor{red}{+1}$

Exported type with no references outside its own file — un-export it, or delete it if unused entirely

$\textcolor{red}{+}$ src/components/shared/BandedDiv.tsx : BandSide
     src/utils/billing-utils.ts : FREE_GB_BY_TIER
     src/types/index.ts : InferredSchemas
     src/types/index.ts : Shard
     src/components/shared/WizardDialog/index.ts : WizardStep
     src/stores/ShardDetail/types.ts : TaskShardDetailsWithShard
     src/stores/ShardDetail/types.ts : ShardDetails
     src/hooks/forks/react-use-oauth2/components/use-oauth2.ts : State
     src/api/dataPlanes.ts : AwsDnsEntry
     src/components/tables/Logs/types.ts : RefreshLogsFunction
…and 19 more

18 Unused exported enum members

An enum member referenced nowhere

     src/services/supabase.ts : CONNECTOR_TAGS
     src/services/supabase.ts : DRAFTS_EXT
     src/services/supabase.ts : TASKS_BY_DAY
     src/stores/Tables/hooks.ts : accessGrants
     src/stores/Tables/hooks.ts : accessLinks
     src/stores/Tables/hooks.ts : billing
     src/stores/Tables/hooks.ts : captures
     src/stores/Tables/hooks.ts : collections
     src/stores/Tables/hooks.ts : connectors
     src/stores/Tables/hooks.ts : entitySelector
…and 8 more

5 Unused dependencies

In package.json but never imported

     package.json : @mui/lab
     package.json : @testing-library/jest-dom
     package.json : @urql/exchange-retry
     package.json : logrocket-react
     package.json : stripe

3 Unused devDependencies

In package.json devDependencies but never used

     package.json : @types/logrocket-react
     package.json : @types/react-inspector
     package.json : sharp

Base automatically changed from greg/dash/nav to main July 17, 2026 13:08
@GregorShear GregorShear mentioned this pull request Aug 19, 2026
@GregorShear GregorShear changed the title Service accounts and API keys Service accounts Aug 21, 2026
@GregorShear
GregorShear force-pushed the greg/access branch 2 times, most recently from b0d9e35 to f9701ba Compare August 28, 2026 02:18
@GregorShear
GregorShear changed the base branch from main to greg/banded-div August 28, 2026 02:18
@GregorShear
GregorShear removed this pull request from stack #2125 October 13, 2026 16:40
@GregorShear
GregorShear changed the base branch from greg/access-autocomplete to greg/personal-tokens October 13, 2026 16:40
@GregorShear
GregorShear added this pull request to stack #2137 October 13, 2026 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants