• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

archetech / archon / 32602925874
95%

Build:
DEFAULT BRANCH: main
Ran 22 Aug 2026 10:39PM UTC
Jobs 1
Files 91
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 Aug 2026 10:36PM UTC coverage: 93.886% (-0.008%) from 93.894%
32602925874

push

github

web-flow
test(wallets): Render the provider trees, so a blank page fails a check (#929)

* test(wallets): Render the provider trees, so a blank page fails a check

Closes #914.

Nothing in this repo rendered a React component, so a crash on first
render shipped with every check green -- as it did on #912, where both
wallets showed a blank page and the commit passed tsc in both apps, lint,
the vite build, the webpack build, 84 wallet tests and all 30 checks. A
human opening the app found it.

vitest with jsdom in each app rather than a jsdom project at the root:
apps/* are not workspaces, so react, MUI, emotion and the rest live only
in each app's node_modules and would have to be hoisted to the root purely
for tests -- duplicating React, which is the thing both apps' dedupe lists
exist to prevent. react-wallet's config extends its own vite.config, so
its fifteen aliases and dedupe apply exactly as in a real build.

The important part is which test does the work. Mounting alone stops at
the passphrase modal, because WalletProvider gates children behind isReady
and a wallet with no data is correctly not ready -- and UIProvider, the
provider that threw on #912, lives INSIDE that gate. A mount-only test
never runs the hook that failed: reintroducing the bug against that
version stayed green. So the tests drive real setup, and only then assert
the children render.

Verified by reintroducing the exact #912 change (useOptionalWalletNavigation
-> useWalletNavigation in useWalletData). Both wallets now fail with the
original message; the first two assertions in each file still pass, which
is why the third exists.

Four things the environment needed, each added because something threw:
- jsdom installs its own realm's typed arrays, so a Node Buffer fails
  `instanceof Uint8Array`; bip39 hands one to the HD key derivation and
  @noble/hashes rejects it, surfacing as "Invalid parameter: mnemonic"
  because newWallet catches and relabels it
- matchMedia, which MUI's useMed... (continued)

3805 of 4293 branches covered (88.63%)

Branch coverage included in aggregate %.

8465 of 8776 relevant lines covered (96.46%)

689.51 hits per line

Jobs
ID Job ID Ran Files Coverage
1 32602925874.1 22 Aug 2026 10:39PM UTC 182
94.91
GitHub Action Run
Source Files on build 32602925874
  • Tree
  • List 91
  • Changed 77
  • Source Changed 0
  • Coverage Changed 77
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #32602925874
  • c3307544 on github
  • Prev Build on main (#32594720021)
  • Next Build on main (#32604174321)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc