Skip to content

Fix image for broken image urls in token list - #5747

Merged
0xmkh merged 1 commit into
mainfrom
fix/token-icon-broken-image-fallback
Aug 18, 2026
Merged

Fix image for broken image urls in token list#5747
0xmkh merged 1 commit into
mainfrom
fix/token-icon-broken-image-fallback

Conversation

@santgr11

Copy link
Copy Markdown
Contributor

Description

Tokens with a dead or unreachable iconUrl were rendering the browser's native broken image icon instead of falling back to the placeholder icon. This only affected the "URL present but fails to load" case; a missing/empty iconUrl already fell back correctly.

wui-list-token renders a raw wui-image whenever tokenImageUrl is set, but never reacted to the image actually failing to load. Other composites in the same package (wui-token-list-item, wui-transaction-visual) already listen for wui-image's onLoadError event and swap to a placeholder icon; wui-list-token was the one place missing that handling.

Added an imageError state to wui-list-token that gets set on onLoadError and falls back to the existing coinPlaceholder icon, matching the pattern already used elsewhere. The state resets whenever tokenImageUrl changes so a recycled list item does not get stuck showing the placeholder for a different token whose icon loads fine.

Type of change

  • Chore (non-breaking change that addresses non-functional tasks, maintenance, or code quality improvements)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Associated Issues

Closes REOWN-4538

Showcase (Optional)

2026-08-13 Token with broken image url

Checklist

  • Code in this PR is covered by automated tests (Unit tests
  • My changes generate no new warnings
  • I have reviewed my own code
  • I have filled out all required sections
  • I have tested my changes on the preview link
  • Approver of this PR confirms that the changes are tested on the preview link

@linear

linear Bot commented Aug 13, 2026

Copy link
Copy Markdown

REOWN-4538

@cursor

cursor Bot commented Aug 13, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@changeset-bot

changeset-bot Bot commented Aug 13, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c03912d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 27 packages
Name Type
@reown/appkit Patch
@reown/appkit-ui Patch
pay-test-exchange Patch
@reown/appkit-adapter-bitcoin Patch
@reown/appkit-adapter-ethers Patch
@reown/appkit-adapter-ethers5 Patch
@reown/appkit-adapter-solana Patch
@reown/appkit-adapter-ton Patch
@reown/appkit-adapter-tron Patch
@reown/appkit-adapter-wagmi Patch
@reown/appkit-utils Patch
@reown/appkit-cdn Patch
@reown/appkit-cli Patch
@reown/appkit-codemod Patch
@reown/appkit-common Patch
@reown/appkit-controllers Patch
@reown/appkit-core Patch
@reown/appkit-experimental Patch
@reown/appkit-pay Patch
@reown/appkit-polyfills Patch
@reown/appkit-scaffold-ui Patch
@reown/appkit-siwe Patch
@reown/appkit-siwx Patch
@reown/appkit-testing Patch
@reown/appkit-universal-connector Patch
@reown/appkit-wallet Patch
@reown/appkit-wallet-button Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Aug 13, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
appkit-demo Ready Ready Preview Aug 13, 2026 5:38pm
appkit-gallery Ready Ready Preview Aug 13, 2026 5:38pm
appkit-headless-sample-app Ready Ready Preview Aug 13, 2026 5:38pm
appkit-laboratory Ready Ready Preview Aug 13, 2026 5:38pm
9 Skipped Deployments
Project Deployment Actions Updated (UTC)
appkit-basic-example Ignored Ignored Aug 13, 2026 5:38pm
appkit-basic-sign-client-example Ignored Ignored Aug 13, 2026 5:38pm
appkit-basic-up-example Ignored Ignored Aug 13, 2026 5:38pm
appkit-ethers5-bera Ignored Ignored Aug 13, 2026 5:38pm
appkit-nansen-demo Ignored Ignored Aug 13, 2026 5:38pm
appkit-wagmi-cdn-example Ignored Ignored Aug 13, 2026 5:38pm
ethereum-provider-wagmi-example Ignored Ignored Aug 13, 2026 5:38pm
next-wagmi-solana-bitcoin-example Ignored Ignored Aug 13, 2026 5:38pm
vue-wagmi-example Ignored Ignored Aug 13, 2026 5:38pm

Request Review

@github-actions

Copy link
Copy Markdown
Contributor

Visual Regression Test Results ✅ Passed

⚠️ 20 visual change(s) detected

Chromatic Build: https://www.chromatic.com/build?appId=6493191bf4b10fed8ca7353f&number=1037
Storybook Preview: https://6493191bf4b10fed8ca7353f-ggingxdhub.chromatic.com/

👉 Please review the visual changes in Chromatic and accept or reject them.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Bundle Size Check

All bundles are within size limits

📊 View detailed bundle sizes

> @reown/appkit-monorepo@1.7.1 size /home/runner/work/appkit/appkit


> size-limit

@reown/appkit - Main Entry
Size limit:   80 kB
Size:         76.04 kB with all dependencies, minified and gzipped
Loading time: 1.5 s    on slow 3G
Running time: 1.3 s    on Snapdragon 410
Total time:   2.8 s
@reown/appkit/react
Size limit:   236 kB
Size:         235.39 kB with all dependencies, minified and gzipped
Loading time: 4.6 s     on slow 3G
Running time: 3.2 s     on Snapdragon 410
Total time:   7.8 s
@reown/appkit/vue
Size limit:   80 kB
Size:         76.04 kB with all dependencies, minified and gzipped
Loading time: 1.5 s    on slow 3G
Running time: 991 ms   on Snapdragon 410
Total time:   2.5 s
@reown/appkit-scaffold-ui
Size limit:   220 kB
Size:         214.66 kB with all dependencies, minified and gzipped
Loading time: 4.2 s     on slow 3G
Running time: 2.5 s     on Snapdragon 410
Total time:   6.7 s
@reown/appkit-ui
Size limit:   500 kB
Size:         13.16 kB with all dependencies, minified and gzipped
Loading time: 258 ms   on slow 3G
Running time: 229 ms   on Snapdragon 410
Total time:   486 ms

@github-actions

Copy link
Copy Markdown
Contributor

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 78.56% 40239 / 51216
🔵 Statements 78.56% 40239 / 51216
🔵 Functions 76.08% 4296 / 5646
🔵 Branches 86.69% 9842 / 11353
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
packages/ui/src/composites/wui-list-token/index.ts 90% 80% 80% 90% 87-88, 91-92
Generated in workflow #17258 for commit c03912d by the Vitest Coverage Report Action

Comment thread packages/ui/src/composites/wui-list-token/index.ts
@0xmkh
0xmkh merged commit d6cb98d into main Aug 18, 2026
38 of 42 checks passed
@0xmkh
0xmkh deleted the fix/token-icon-broken-image-fallback branch August 18, 2026 08:34
@github-actions github-actions Bot locked and limited conversation to collaborators Aug 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants