improvement: revamp change request ui#7039
Conversation
|
💬 Discussion in Slack: #pr-review-infisical-7039-improvement-revamp-change-request-ui Posted by Review Police — reviews, comments, new commits, and CI failures will stream into this channel. |
|
| Filename | Overview |
|---|---|
| backend/src/db/migrations/20260626214559_add-bypass-reason-access-approval-requests.ts | Adds nullable bypassReason text column to access_approval_requests; uses hasColumn guard for idempotency. Safe migration. |
| backend/src/ee/routes/v1/secret-approval-request-router.ts | Adds isMergedViaBypass and bypassReason to the merge audit log. The merge route's bypassReason schema is missing .min(10), unlike the corresponding access-approval route. |
| backend/src/ee/routes/v1/access-approval-request-router.ts | Adds isBypass and bypassReason to the review audit log metadata; correctly validates bypassReason with .min(10).max(1000). |
| backend/src/ee/services/access-approval-request/access-approval-request-service.ts | Persists bypassReason only when isBreakGlassApprovalAttempt is true; returns isBypass flag to caller for audit logging. Logic is correct. |
| backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts | Computes isMergedViaBypass before both v1/v2 bridge code paths and persists bypassReason in both; returns the flag to the router for audit logging. |
| frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/SecretApprovalRequest.tsx | Major revamp: switches from full-page navigation to a table + Sheet panel; adds FilterMenu popover for environment/author filters, skeleton loading rows, and pinned tab logic. |
| frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestChanges.tsx | Converted from a full-page view to a Sheet/panel; uses v3 components throughout; isBypasser is now computed correctly from policy data and passed without the old === undefined ? true fallback. |
| frontend/src/pages/secret-manager/SecretApprovalsPage/components/SecretApprovalRequest/components/SecretApprovalRequestAction.tsx | Refactored to v3 components; renames internal state to bypassReasonInput to avoid shadowing the incoming bypassReason prop; adds bypass banner showing the stored reason after merge. |
| frontend/src/pages/secret-manager/SecretApprovalsPage/components/ApprovalPolicyList/components/AccessPolicyModal.tsx | Merges the separate user/group bypasser selects into one combined select using splitSelectedBypassers; removes menuPlacement="top" overrides throughout. |
| frontend/src/pages/secret-manager/SecretApprovalsPage/SecretApprovalsPage.tsx | Adds a useEffect to pin the default tab into the URL once counts load, preventing the active tab from flipping when a request is closed. |
Reviews (2): Last reviewed commit: "improvement: surface bypass reasons on a..." | Re-trigger Greptile
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eae5fd8558
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Persist and surface the reason given when an approval is bypassed (break-glass), and fix stale tab/count state on the approvals page (PLATFOR-489). Bypass reasons: - Store the bypass reason when an access request is approved or a change request is merged without the required approvals, and include it in the audit log for both flows - Add the access_approval_requests.bypassReason column - Show a "Bypassed" badge and a warning banner with the reason in the review modal, change request action, and changes sheet Approvals page (PLATFOR-489): - Pin the default tab into the URL so closing a request no longer flips the visible tab as counts change - Refetch request lists and counts on the open/closed toggle, poll the list every 30s, and invalidate them when policies change Change request UI: - Move the review form into a "Review Changes" / "Update Review" popover - Make the changes-sheet alert reflect pending / merged / closed state - Use an info toast when changes are sent for review Docs: combine the user/group approver bullets and refresh screenshots
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
@greptile review |
|
@codex review |
|
@Veria review |
|
@veria-ai review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: edc48be669
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
…ests Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Context
This PR revamps the change request UI and makes various UI/UX improvements.
Also combines the user and group by pass selects into a single one
Screenshots
Steps to verify the change
Type
Checklist
type(scope): short description(scope is optional, e.g.,fix: prevent crash on syncorfix(api): handle null response).