Skip to content

UX/ Hide activity and swap and bridge banner on retry (swap/bridge)#2500

Merged
PetromirDev merged 3 commits into
v2from
feature/hide-failure-banners-on-swap-retry
Jun 22, 2026
Merged

UX/ Hide activity and swap and bridge banner on retry (swap/bridge)#2500
PetromirDev merged 3 commits into
v2from
feature/hide-failure-banners-on-swap-retry

Conversation

@PetromirDev

Copy link
Copy Markdown
Member

@Oxbobby

Oxbobby commented Jun 22, 2026

Copy link
Copy Markdown
Member

/review

@github-actions

Copy link
Copy Markdown

PR Reviewer Guide 🔍

Here are some key observations to aid the review process:

⏱️ Estimated effort to review: 2 🔵🔵⚪⚪⚪
🔒 No security concerns identified
✅ No TODO sections
⚡ Recommended focus areas for review

Parallel storage.set calls

hideFailedBannerForRetriedOp fires this.#storage.set('accountsOps', this.#accountsOps) without awaiting the returned promise and without serializing it against other pending storage writes. Per project invariants this.storage.set() must never run in parallel because concurrent persistence calls can corrupt the stored state. If a user retries multiple failed operations in rapid succession—or if another controller method persists state at the same time—the overlapping writes may interleave and leave accountsOps partially written or corrupted on disk.

this.#storage.set('accountsOps', this.#accountsOps)

@PetromirDev PetromirDev merged commit 8ee448f into v2 Jun 22, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants