Skip to content

override ux fixes - #5523

Merged
akshaydeo merged 1 commit into
devfrom
07-24-override_ux_fixes
Jul 24, 2026
Merged

akshaydeo merged 1 commit into
devfrom
07-24-override_ux_fixes

Conversation

@akshaydeo

@akshaydeo akshaydeo commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps several Go dependencies to their latest patch/minor versions and adds two new UI components to improve the virtual key management experience for access-profile-managed keys.

Changes

  • Dependency upgrades:

    • GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp: v1.31.0v1.32.0
    • go.opentelemetry.io/contrib/detectors/gcp: v1.42.0v1.43.0
    • google.golang.org/genproto/googleapis/api: 2026040120260414
    • google.golang.org/grpc: v1.81.1v1.82.1
  • ManagedVirtualKeyActions component: Added a new enterprise component (with an OSS no-op fallback) rendered inside the access-profile alert banner in virtualKeySheet.tsx. Exposes the managing profile to allow enterprise-specific actions on managed virtual keys.

  • ViewUserDetailsButton component: Added a new enterprise component (with an OSS no-op fallback) rendered in the Budget Information header of virtualKeyDetailsSheet.tsx when a key is managed by a profile. Links to the managing profile's user details using managingProfile.user_id.

  • managingProfile exposed from useVirtualKeyUsage: The hook's managingProfile value is now destructured and passed down in virtualKeySheet.tsx so it can be forwarded to ManagedVirtualKeyActions.

  • Weight display fix: Provider config weight in virtualKeyDetailsSheet.tsx now renders "Not Set" (muted italic) instead of a blank value when weight is null or undefined.

  • BudgetOverrideDialog button variant: Changed the trigger button variant from conditionally "outline" (when active) to always "ghost" for visual consistency.

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (React)
  • Docs

How to test

# UI
cd ui
pnpm i
pnpm build

# Verify Go modules resolve cleanly
cd framework && go mod verify
cd transports && go mod verify
  • Open a virtual key managed by an access profile and confirm the ManagedVirtualKeyActions slot renders (enterprise) or is invisible (OSS).
  • Open the details sheet for a managed key and confirm the ViewUserDetailsButton appears next to the Budget Information heading.
  • Open a provider config with no weight set and confirm "Not Set" is displayed instead of a blank.
  • Open the budget override dialog and confirm the trigger button always uses the ghost variant regardless of active state.

Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

Breaking changes

  • Yes
  • No

Related issues

Link related issues and discussions.

Security considerations

No new auth, secrets, or PII handling introduced. The ViewUserDetailsButton receives a userId prop but rendering is delegated to the enterprise implementation.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

Virtual key views add fallback components for managed-profile actions and user details, show unset provider weights as “Not Set,” expose managing-profile details, and standardize the budget override trigger styling.

Changes

Managed Virtual Key UI

Layer / File(s) Summary
Managed-profile action wiring
ui/app/_fallbacks/enterprise/components/access-profiles/managedVirtualKeyActions.tsx, ui/app/workspace/virtual-keys/views/virtualKeySheet.tsx
Adds a null-rendering managed-key actions fallback and wires it into the managed-by-access-profile section with managingProfile.
Profile details and weight display
ui/app/_fallbacks/enterprise/components/user-groups/viewUserDetailsButton.tsx, ui/app/workspace/virtual-keys/views/virtualKeyDetailsSheet.tsx
Adds a null-rendering user-details fallback, conditionally renders it for managed keys, and displays “Not Set” when a provider weight is absent.
Budget override trigger styling
ui/components/budgetOverrideDialog.tsx
Changes the override dialog trigger to always use the ghost variant.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

  • maximhq/bifrost#5493: Both changes update the access-profile-managed virtual key section in virtualKeySheet.tsx.
🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (2 warnings, 1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The linked issue requests File API support, but the reviewed changes only add UI fixes, components, and dependency bumps. Implement the File API support requested in #123, or link the correct issue if this PR has a different scope.
Out of Scope Changes check ⚠️ Warning The dependency bumps and UI fixes are unrelated to the File API support request and appear out of scope for #123. Split unrelated dependency and UI changes into separate PRs, and keep this one focused on File API support.
Title check ❓ Inconclusive The title is too vague to convey the main change and reads like a generic label. Rename it to a specific, concise summary of the main change, such as the UI fixes and new managed virtual key actions.
✅ Passed checks (2 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description check ✅ Passed The description mostly matches the required template and covers summary, changes, testing, and impact notes.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 07-24-override_ux_fixes

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@akshaydeo
akshaydeo marked this pull request as ready for review July 24, 2026 09:28

akshaydeo commented Jul 24, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

  • Jul 24, 9:47 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jul 24, 9:47 AM UTC: @akshaydeo merged this pull request with Graphite.

@akshaydeo
akshaydeo merged commit c692742 into dev Jul 24, 2026
13 of 14 checks passed
@akshaydeo
akshaydeo deleted the 07-24-override_ux_fixes branch July 24, 2026 09:47
akshaydeo added a commit that referenced this pull request Jul 24, 2026
## Summary

Bumps several Go dependencies to their latest patch/minor versions and adds two new UI components to improve the virtual key management experience for access-profile-managed keys.

## Changes

- **Dependency upgrades:**
  - `GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp`: `v1.31.0` → `v1.32.0`
  - `go.opentelemetry.io/contrib/detectors/gcp`: `v1.42.0` → `v1.43.0`
  - `google.golang.org/genproto/googleapis/api`: `20260401` → `20260414`
  - `google.golang.org/grpc`: `v1.81.1` → `v1.82.1`

- **`ManagedVirtualKeyActions` component:** Added a new enterprise component (with an OSS no-op fallback) rendered inside the access-profile alert banner in `virtualKeySheet.tsx`. Exposes the managing profile to allow enterprise-specific actions on managed virtual keys.

- **`ViewUserDetailsButton` component:** Added a new enterprise component (with an OSS no-op fallback) rendered in the Budget Information header of `virtualKeyDetailsSheet.tsx` when a key is managed by a profile. Links to the managing profile's user details using `managingProfile.user_id`.

- **`managingProfile` exposed from `useVirtualKeyUsage`:** The hook's `managingProfile` value is now destructured and passed down in `virtualKeySheet.tsx` so it can be forwarded to `ManagedVirtualKeyActions`.

- **Weight display fix:** Provider config weight in `virtualKeyDetailsSheet.tsx` now renders `"Not Set"` (muted italic) instead of a blank value when `weight` is `null` or `undefined`.

- **`BudgetOverrideDialog` button variant:** Changed the trigger button variant from conditionally `"outline"` (when active) to always `"ghost"` for visual consistency.

## Type of change

- [ ] Bug fix
- [x] Feature
- [ ] Refactor
- [ ] Documentation
- [x] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [x] Plugins
- [x] UI (React)
- [ ] Docs

## How to test

```sh
# UI
cd ui
pnpm i
pnpm build

# Verify Go modules resolve cleanly
cd framework && go mod verify
cd transports && go mod verify
```

- Open a virtual key managed by an access profile and confirm the `ManagedVirtualKeyActions` slot renders (enterprise) or is invisible (OSS).
- Open the details sheet for a managed key and confirm the `ViewUserDetailsButton` appears next to the Budget Information heading.
- Open a provider config with no weight set and confirm `"Not Set"` is displayed instead of a blank.
- Open the budget override dialog and confirm the trigger button always uses the ghost variant regardless of active state.

## Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Link related issues and discussions.

## Security considerations

No new auth, secrets, or PII handling introduced. The `ViewUserDetailsButton` receives a `userId` prop but rendering is delegated to the enterprise implementation.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
akhsaul pushed a commit to akhsaul/bifrost that referenced this pull request Aug 27, 2026
## Summary

Bumps several Go dependencies to their latest patch/minor versions and adds two new UI components to improve the virtual key management experience for access-profile-managed keys.

## Changes

- **Dependency upgrades:**
  - `GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp`: `v1.31.0` → `v1.32.0`
  - `go.opentelemetry.io/contrib/detectors/gcp`: `v1.42.0` → `v1.43.0`
  - `google.golang.org/genproto/googleapis/api`: `20260401` → `20260414`
  - `google.golang.org/grpc`: `v1.81.1` → `v1.82.1`

- **`ManagedVirtualKeyActions` component:** Added a new enterprise component (with an OSS no-op fallback) rendered inside the access-profile alert banner in `virtualKeySheet.tsx`. Exposes the managing profile to allow enterprise-specific actions on managed virtual keys.

- **`ViewUserDetailsButton` component:** Added a new enterprise component (with an OSS no-op fallback) rendered in the Budget Information header of `virtualKeyDetailsSheet.tsx` when a key is managed by a profile. Links to the managing profile's user details using `managingProfile.user_id`.

- **`managingProfile` exposed from `useVirtualKeyUsage`:** The hook's `managingProfile` value is now destructured and passed down in `virtualKeySheet.tsx` so it can be forwarded to `ManagedVirtualKeyActions`.

- **Weight display fix:** Provider config weight in `virtualKeyDetailsSheet.tsx` now renders `"Not Set"` (muted italic) instead of a blank value when `weight` is `null` or `undefined`.

- **`BudgetOverrideDialog` button variant:** Changed the trigger button variant from conditionally `"outline"` (when active) to always `"ghost"` for visual consistency.

## Type of change

- [ ] Bug fix
- [x] Feature
- [ ] Refactor
- [ ] Documentation
- [x] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [x] Plugins
- [x] UI (React)
- [ ] Docs

## How to test

```sh
# UI
cd ui
pnpm i
pnpm build

# Verify Go modules resolve cleanly
cd framework && go mod verify
cd transports && go mod verify
```

- Open a virtual key managed by an access profile and confirm the `ManagedVirtualKeyActions` slot renders (enterprise) or is invisible (OSS).
- Open the details sheet for a managed key and confirm the `ViewUserDetailsButton` appears next to the Budget Information heading.
- Open a provider config with no weight set and confirm `"Not Set"` is displayed instead of a blank.
- Open the budget override dialog and confirm the trigger button always uses the ghost variant regardless of active state.

## Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Link related issues and discussions.

## Security considerations

No new auth, secrets, or PII handling introduced. The `ViewUserDetailsButton` receives a `userId` prop but rendering is delegated to the enterprise implementation.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
occcat pushed a commit to occcat/bifrost that referenced this pull request Sep 2, 2026
## Summary

Bumps several Go dependencies to their latest patch/minor versions and adds two new UI components to improve the virtual key management experience for access-profile-managed keys.

## Changes

- **Dependency upgrades:**
  - `GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp`: `v1.31.0` → `v1.32.0`
  - `go.opentelemetry.io/contrib/detectors/gcp`: `v1.42.0` → `v1.43.0`
  - `google.golang.org/genproto/googleapis/api`: `20260401` → `20260414`
  - `google.golang.org/grpc`: `v1.81.1` → `v1.82.1`

- **`ManagedVirtualKeyActions` component:** Added a new enterprise component (with an OSS no-op fallback) rendered inside the access-profile alert banner in `virtualKeySheet.tsx`. Exposes the managing profile to allow enterprise-specific actions on managed virtual keys.

- **`ViewUserDetailsButton` component:** Added a new enterprise component (with an OSS no-op fallback) rendered in the Budget Information header of `virtualKeyDetailsSheet.tsx` when a key is managed by a profile. Links to the managing profile's user details using `managingProfile.user_id`.

- **`managingProfile` exposed from `useVirtualKeyUsage`:** The hook's `managingProfile` value is now destructured and passed down in `virtualKeySheet.tsx` so it can be forwarded to `ManagedVirtualKeyActions`.

- **Weight display fix:** Provider config weight in `virtualKeyDetailsSheet.tsx` now renders `"Not Set"` (muted italic) instead of a blank value when `weight` is `null` or `undefined`.

- **`BudgetOverrideDialog` button variant:** Changed the trigger button variant from conditionally `"outline"` (when active) to always `"ghost"` for visual consistency.

## Type of change

- [ ] Bug fix
- [x] Feature
- [ ] Refactor
- [ ] Documentation
- [x] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [x] Plugins
- [x] UI (React)
- [ ] Docs

## How to test

```sh
# UI
cd ui
pnpm i
pnpm build

# Verify Go modules resolve cleanly
cd framework && go mod verify
cd transports && go mod verify
```

- Open a virtual key managed by an access profile and confirm the `ManagedVirtualKeyActions` slot renders (enterprise) or is invisible (OSS).
- Open the details sheet for a managed key and confirm the `ViewUserDetailsButton` appears next to the Budget Information heading.
- Open a provider config with no weight set and confirm `"Not Set"` is displayed instead of a blank.
- Open the budget override dialog and confirm the trigger button always uses the ghost variant regardless of active state.

## Screenshots/Recordings

If UI changes, add before/after screenshots or short clips.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Link related issues and discussions.

## Security considerations

No new auth, secrets, or PII handling introduced. The `ViewUserDetailsButton` receives a `userId` prop but rendering is delegated to the enterprise implementation.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
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