-
Notifications
You must be signed in to change notification settings - Fork 5.4k
feat: update claims management ui and navigation #38380
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
✨ Files requiring CODEOWNER review ✨🧪 @MetaMask/qa (1 files, +16 -9)
🔐 @MetaMask/web3auth (4 files, +211 -134)
|
Builds ready [879bc27]
UI Startup Metrics (1322 ± 108 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚀 Bundle size reduced!]
|
Builds ready [477ee7e]
UI Startup Metrics (1240 ± 105 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚀 Bundle size reduced!]
|
| }, [claims]); | ||
|
|
||
| const rejectedClaims = useMemo(() => { | ||
| return claims.filter((claim) => claim.status === ClaimStatusEnum.REJECTED); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Claims with UNKNOWN status are silently dropped from UI
The previous historyClaims filter used negation (!PENDING_CLAIM_STATUSES.includes(claim.status)) to capture all non-pending claims, including those with UNKNOWN status. The new implementation only filters for APPROVED into completedClaims and REJECTED into rejectedClaims, which means any claim with UNKNOWN status (as shown in the removed CLAIM_STATUS_MAP) will not appear in any list and users will be unable to see or access these claims.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is ok. Claims unknown shouldn't be shown on UI. can you confirm @hieu-w ?
| }, | ||
| "shieldClaimsNumber": { | ||
| "message": "Claim #$1", | ||
| "message": "Claims #$1", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Grammar error in claim number locale string
The shieldClaimsNumber locale message was changed from "Claim #$1" to "Claims #$1". When displaying an individual claim number (used in claims-list.tsx line 65 to render each claim item), the output would be "Claims #123" instead of the grammatically correct "Claim #123". The singular form is appropriate when referencing a specific claim's identifier.
Additional Locations (1)
Builds ready [622ab49]
UI Startup Metrics (1320 ± 122 ms)
📊 Page Load Benchmark ResultsCurrent Commit: 📄 Localhost MetaMask Test DappSamples: 100 Summary
📈 Detailed Results
Bundle size diffs [🚨 Warning! Bundle size has increased!]
|
Description
Updated claims navigation and UI
https://www.figma.com/design/HTAO1SrmixV4ppv7qIvLoa/Metamask-Transaction-Shield?node-id=14873-117456&t=Vl0Gf1X669HvXRaY-4
Changelog
CHANGELOG entry: Updated claims navigation and UI
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Empty list

Navigation and UI changes
Screen.Recording.2025-12-04.at.2.25.46.AM.mov
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Revamps Transaction Shield claims management with a tabbed claims list (Pending/History), new empty states, updated routing, and aligned tests/i18n.
Pending,Claim history); groups claims intoActive,Completed, andRejected; shows created date; adds primary/secondary "Submit a claim" buttons; removes per-item status tags.app/images/activity.svg).TRANSACTION_SHIELD_CLAIM_ROUTES.BASE); back routes adjusted between list/new/view pages; settings title usesshieldClaimsListTitle.ui/contexts/claims: DerivescompletedClaims(APPROVED) andrejectedClaims(REJECTED); keepspendingClaims; removesclaimNumberaugmentation.ClaimsandClaims #$1; removes individual status label keys and legacy history/pending titles.app/images/activity.svgfor empty states.Written by Cursor Bugbot for commit 622ab49. This will update automatically on new commits. Configure here.