Is your feature request related to a problem?
When a secret has an active personal override, the UI gives almost no indication of it. The only cue is the Override button's icon turning amber (text-amber-500) - and that button lives in the secret row's action zone, so it's effectively only noticeable on hover. On screens smaller than 2xl there isn't even a text label, just the colored icon.
The indicator is the amber Override button in frontend/components/environments/secrets/OverrideDialog.tsx:
<FaUserEdit className={clsx('shrink-0', activeOverride && 'text-amber-500')} />
<span className={clsx('hidden 2xl:block text-xs', activeOverride && 'text-amber-500')}>
Override
</span>
There is no row-level badge, no row styling change, no filter, and no count. As a result:
- You can't tell at a glance which secrets in an environment are overridden.
- There's no way to filter or count overridden secrets.
- The override value is never shown inline - you have to open the dialog per-secret to see it.
For a feature whose whole purpose is "you are running a different value than your team," the active state is too easy to miss.
Describe the solution you'd like
Some combination of:
- A persistent badge/indicator on overridden secret rows (always visible, not hover-gated).
- A filter / toggle to show only overridden secrets in the environment view.
- A count of active overrides somewhere in the environment header.
- Optionally, an inline hint that the displayed value differs from your personal override.
The data is already available client-side - GetSecrets returns override { value isActive } (frontend/graphql/queries/secrets/getSecrets.gql) and it's decrypted on the environment page. So this is largely a frontend surfacing change; no schema/API work needed for the indicator/filter/count.
Describe alternatives you've considered
Keeping the current amber-on-hover button as the sole indicator. It works once you know to look for it, but it's not discoverable and doesn't scale to "which of these 40 secrets am I overriding?"
Is your feature request related to a problem?
When a secret has an active personal override, the UI gives almost no indication of it. The only cue is the Override button's icon turning amber (
text-amber-500) - and that button lives in the secret row's action zone, so it's effectively only noticeable on hover. On screens smaller than2xlthere isn't even a text label, just the colored icon.The indicator is the amber Override button in
frontend/components/environments/secrets/OverrideDialog.tsx:There is no row-level badge, no row styling change, no filter, and no count. As a result:
For a feature whose whole purpose is "you are running a different value than your team," the active state is too easy to miss.
Describe the solution you'd like
Some combination of:
The data is already available client-side -
GetSecretsreturnsoverride { value isActive }(frontend/graphql/queries/secrets/getSecrets.gql) and it's decrypted on the environment page. So this is largely a frontend surfacing change; no schema/API work needed for the indicator/filter/count.Describe alternatives you've considered
Keeping the current amber-on-hover button as the sole indicator. It works once you know to look for it, but it's not discoverable and doesn't scale to "which of these 40 secrets am I overriding?"