Description
NetworkMismatchBanner warns when the wallet's network doesn't match the app's selected network. It's unclear whether dismissing the banner persists across a page reload or reappears immediately, which could be annoying if a user has a legitimate reason to stay mismatched temporarily.
This is part of the admin/governance dashboard under frontend/, used by signers, compliance officers, and protocol operators to manage settlements, disputes, thresholds, and compliance status rather than by end payers. Because the people using this surface are making decisions with real financial and compliance consequences (approving a settlement, voting on a dispute, rotating a signer), the bar for clarity and correctness here is arguably higher than on the consumer-facing app, since a confusing admin UI can lead directly to an operational mistake rather than just a frustrated user.
This dashboard is also the primary place multi-sig governance actually happens day to day; a signer who cannot clearly see quorum status, dispute state, or settlement history from this UI is forced to fall back on reading raw contract state or asking a teammate, which slows down exactly the kind of time-sensitive decisions (an on-hold settlement, an active dispute) that a governance dashboard exists to speed up.
Requirements and context
- Add a test for dismiss behavior and whether it persists via
useNetwork's storage key
Suggested execution
- Fork the repo and create a branch
git checkout -b test/network-mismatch-banner-dismiss
- Implement changes
- Update
frontend/src/components/NetworkMismatchBanner.tsx if dismissal isn't persisted
- Add the test
- Test and commit
Example commit message
test: add dismissal-persistence test to NetworkMismatchBanner
Guidelines
- Assignment required before starting
- PR description must include:
Closes #[issue_id]
- Keep PR description professional and detailed
Description
NetworkMismatchBannerwarns when the wallet's network doesn't match the app's selected network. It's unclear whether dismissing the banner persists across a page reload or reappears immediately, which could be annoying if a user has a legitimate reason to stay mismatched temporarily.This is part of the admin/governance dashboard under
frontend/, used by signers, compliance officers, and protocol operators to manage settlements, disputes, thresholds, and compliance status rather than by end payers. Because the people using this surface are making decisions with real financial and compliance consequences (approving a settlement, voting on a dispute, rotating a signer), the bar for clarity and correctness here is arguably higher than on the consumer-facing app, since a confusing admin UI can lead directly to an operational mistake rather than just a frustrated user.This dashboard is also the primary place multi-sig governance actually happens day to day; a signer who cannot clearly see quorum status, dispute state, or settlement history from this UI is forced to fall back on reading raw contract state or asking a teammate, which slows down exactly the kind of time-sensitive decisions (an on-hold settlement, an active dispute) that a governance dashboard exists to speed up.
Requirements and context
useNetwork's storage keySuggested execution
frontend/src/components/NetworkMismatchBanner.tsxif dismissal isn't persistednpm testExample commit message
test: add dismissal-persistence test to NetworkMismatchBannerGuidelines
Closes #[issue_id]