Skip to content

fix(bridge): make tx history resilient to per-tx failures#310

Open
dewanshparashar wants to merge 7 commits into
masterfrom
fix/bridge-tx-history-resilience
Open

fix(bridge): make tx history resilient to per-tx failures#310
dewanshparashar wants to merge 7 commits into
masterfrom
fix/bridge-tx-history-resilience

Conversation

@dewanshparashar
Copy link
Copy Markdown
Contributor

@dewanshparashar dewanshparashar commented May 8, 2026

If processing a transaction fails, the whole tx history should not fail to load. Instead, it's error should be communicated subtly to the user - while keeping the rest of the tx history unblocked.

Core change - use Promise.allSettled() instead of Promise.all(), and keeping track of the failed txns to show in the existing failure tooltip.

Before

image

After

image

Closes FS-2156

@vercel
Copy link
Copy Markdown

vercel Bot commented May 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
arbitrum-portal Ready Ready Preview May 8, 2026 10:33am

Request Review

@dewanshparashar dewanshparashar marked this pull request as ready for review May 8, 2026 05:51
Copilot AI review requested due to automatic review settings May 8, 2026 05:51
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves transaction history robustness by preventing a single transaction transformation failure from blocking the entire history load, and surfaces per-transaction failures via the existing warning tooltip UI.

Changes:

  • Track per-transaction transform failures in useTransactionHistory using Promise.allSettled() and a new failedTxs field.
  • Persist and expose failedTxs via SWR cache keyed by address.
  • Extend the Transaction History warning tooltip to display both failed chain pairs and failed transactions.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.

File Description
packages/arb-token-bridge-ui/src/hooks/useTransactionHistory.ts Switches page transformation to Promise.allSettled(), records failed tx metadata, and exposes failedTxs in the hook result.
packages/arb-token-bridge-ui/src/components/TransactionHistory/TransactionHistoryTable.tsx Updates the warning tooltip to show failed txs alongside failed chain pairs, and wires in the new failedTxs prop.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +736 to +740
return merged;
}, false);
}

return Promise.all(dedupedTransactions.slice(startIndex, endIndex).map(transformTransaction));
return succeeded;
Comment thread packages/arb-token-bridge-ui/src/hooks/useTransactionHistory.ts Outdated
Comment thread packages/arb-token-bridge-ui/src/hooks/useTransactionHistory.ts
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