Ecosystem metrics

New Repos
10
New
Commits
555
up 32.1%
Releases
3
up 50.0%
Contributors
42
up 40.0%
Merges
10
down 16.7%

Repository Explorer

8982 commits in all time Aug 10, 2026 21:41 – Nov 08, 2026 21:41 UTC
ipaleka frontend
Bugfix for bundles not being kept in the mobile app's index input field
Git Commit 25af614a Branch main Document 16/381 ++ 61 --
Merge d014d1afaab1c049c5f15a770385dec3990e3846 into ae579634c34cafd00c2e45a5cb1cefbb6818abb1
Git Commit 46fc5c16 Branch pull/66/merge Document 12/1,218 ++ 992 --
chore(deps): Update all non-major dependencies
Git Commit d014d1af Branch renovate/all-non-major-dependencies Document 12/1,218 ++ 992 --
Merge fb9e8d0b6f4b57bd33656b58c1e62b2e32ed67c4 into ae579634c34cafd00c2e45a5cb1cefbb6818abb1
Git Commit c435e3b7 Branch pull/76/merge Document 3/134 ++ 253 --
chore(deps): Update dependency vitest to v4 [SECURITY]
Git Commit fb9e8d0b Branch renovate/npm-vitest-vulnerability Document 3/134 ++ 253 --
drichar use-wallet-ui
chore(vue): bump version to 1.2.0 (#86)
Vue is published by the manual Release Vue workflow, which publishes the
version in packages/vue/package.json. 1.2.0 carries the passkey support
from #85.
Git Commit ae579634 Branch main Document 1/1 ++ 1 --
drichar use-wallet-ui
chore(vue): bump version to 1.2.0
Vue is published by the manual Release Vue workflow, which publishes the
version in packages/vue/package.json. 1.2.0 carries the passkey support
from #85.
Git Commit 79ce9775 Branch chore/vue-1.2.0 Document 1/1 ++ 1 --
chore(release): 1.4.0 [skip ci]
# [1.4.0](https://github.com/TxnLab/use-wallet-ui/compare/v1.3.0...v1.4.0) (2026-11-08)

### Features

* support the use-wallet passkey wallet ([#85](https://github.com/TxnLab/use-wallet-ui/issues/85)) ([c2734e7](https://github.com/TxnLab/use-wallet-ui/commit/c2734e7a57b590ad82ee01486c08b8ff0db61022))
Git Commit 1dc34f70 Branch main Document 2/8 ++ 1 --
drichar use-wallet-ui
feat: support the use-wallet passkey wallet (#85)
* feat: support the use-wallet passkey wallet

Apps that register passkey() from @txnlab/use-wallet-passkey (use-wallet
5.2+) now get it in the connect dialog with "Create passkey" and "Sign in"
buttons. Passkey errors keep the dialog open with a message the user can
act on (cancelled or no passkey found, in-app browser, no PRF support).
The connect call starts before any await, so Safari and iOS keep the tap.

A new ./plugins/passkey entry (React and Vue) adds to the connected menu:
- Export Recovery Phrase: a fresh passkey prompt, Falcon / quantum import
  instructions for Lute and Pera, a 60s timeout, and best-effort clipboard
  clearing
- Session lock status with Unlock and Lock (session: true)
- A note that the account belongs to the site (disclosure, on by default)

Only the plugin entry imports useWalletManager (use-wallet 5.2+), so the
main entry keeps the ^4.6.0 || ^5.0.0 peer range. The adapter is typed
structurally, with a type test against PasskeyAdapter; use-wallet-passkey
is a devDependency only.

Also:
- Bump use-wallet devDependencies and examples to 5.2.0
- Add react-passkey and vue-passkey examples (passkey, Lute, Pera)
- Add passkey-react and passkey-vue Playwright projects using Chromium's
  virtual authenticator with PRF, and run them in CI
- Document the plugin and the WalletList args contract

* feat(passkey): passkey-first connect dialog and show-once disclosure

The connect dialog now leads with the passkey wallet: a full-width
"Continue with passkey" button signs in, and a "New here? Create a
passkey" link creates one. The other wallets follow under an "or connect
a wallet" divider. WalletList no longer renders the passkey wallet; the
section is exported as PasskeyConnect for custom connect menus.

The connected menu tags a passkey account with its domain. The plugin's
disclosure is now off by default; with `disclosure: true` it shows until
the user chooses "Got it", remembered per address in localStorage (with
an in-memory fallback when storage is unavailable).

Export Recovery Phrase uses a document icon, since a key now means
passkey sign-in.

Also restore the passkey plugin's Requirements and Subpath Import docs,
which the first passkey commit dropped from PLUGINS.md.

* fix(examples): resolve node polyfill shims for the linked library build

vite-plugin-node-polyfills injects its shim imports into every module,
including the workspace-linked packages/*/dist files. Those can't resolve
vite-plugin-node-polyfills, so `pnpm build:examples` failed for the react,
react-css-only, react-custom, react-web3auth and vue examples. CI doesn't
build the examples, so this went unnoticed.

Alias the three shims to their ESM files, resolved from each example. All
polyfills stay on (Web3Auth still gets its `process` global), and the
passkey examples drop their Buffer-only workaround for the same fix.

* feat(passkey): add a passkeyLayout option with a list layout

Connect dialogs can now present the passkey wallet two ways:
- 'featured' (default): the existing "Continue with passkey" button and
  "Create a passkey" link, with the other wallets below
- 'list': "Sign in with passkey" and "Create a passkey" rows in a Passkey
  group above a Wallets group, for apps where most users bring a wallet

Set it app-wide with `passkeyLayout` on WalletUIProvider, or per menu on
WalletButton or ConnectWalletMenu; the menu prop wins, and the default is
'featured'. PasskeyConnect takes a `layout` prop so custom menus get both,
and PasskeyConnectLayout is exported. The wallet icon tile moves into a
shared WalletIcon component.

The passkey examples get a Featured / List selector (or ?layout=list),
and e2e covers the list layout's rows, create and sign-in, the error
hint, and switching layouts through the provider.

* feat(passkey): default passkeyLayout to 'list'

The connect dialog now shows the passkey wallet as "Sign in with
passkey" and "Create a passkey" rows in a Passkey group above the other
wallets. `passkeyLayout: 'featured'` keeps the "Continue with passkey"
layout. PasskeyConnect defaults to 'list' as well.

The dialog now passes `layout="featured"` to PasskeyConnect explicitly
instead of relying on its default, which had shown the list rows for
'featured' once the default changed. The passkey examples start in the
list layout (?layout=featured opens the other), and the e2e suites set
their layout explicitly.

* feat(passkey): show the pending passkey action and add a backup reminder

While a passkey prompt is open, the control the user pressed shows a
spinner and "Waiting for your passkey…" at full strength, and the other
control dims. Both layouts do this; the status line is now for screen
readers only. PasskeyConnectStatus gains an optional `action`
('sign-in' | 'create') to tell them apart.

The plugin's recovery item is now "Back up account" with a numbered-list
icon, tagged "Not backed up" until the phrase has been revealed once for
the account (remembered per address in localStorage, with an in-memory
fallback). `recoveryPhrase: { backupReminder: false }` turns the tag off.
The per-address storage for the disclosure and this flag now share one
helper (storage.ts).

The passkey e2e fixture can turn off presence simulation to hold a prompt
open, so the pending state is tested in both layouts. The examples' intro
copy now matches the list default.

* refactor(passkey): remove the "Not backed up" tag

The tag could only record that the recovery phrase had been shown, not
that the user backed it up, so it claimed more than the app can know.
Drop it along with the `recoveryPhrase.backupReminder` option and its
per-address storage flag. The menu item keeps its "Back up account"
label.

* style(passkey): use a plain shield icon for Back up account

A solid shield (Heroicons shield-check without the check) reads as a
protective step without implying the backup is already done. A key
would read as passkey sign-in.
Git Commit c2734e7a Branch main Document 98/5,548 ++ 161 --
drichar use-wallet-ui
style(passkey): use a plain shield icon for Back up account
A solid shield (Heroicons shield-check without the check) reads as a
protective step without implying the backup is already done. A key
would read as passkey sign-in.
Git Commit f8398d4d Branch feat/passkey Document 2/10 ++ 6 --
drichar use-wallet-ui
refactor(passkey): remove the "Not backed up" tag
The tag could only record that the recovery phrase had been shown, not
that the user backed it up, so it claimed more than the app can know.
Drop it along with the `recoveryPhrase.backupReminder` option and its
per-address storage flag. The menu item keeps its "Back up account"
label.
Git Commit 94e551ed Branch feat/passkey Document 14/28 ++ 193 --
drichar use-wallet-ui
feat(passkey): show the pending passkey action and add a backup reminder
While a passkey prompt is open, the control the user pressed shows a
spinner and "Waiting for your passkey…" at full strength, and the other
control dims. Both layouts do this; the status line is now for screen
readers only. PasskeyConnectStatus gains an optional `action`
('sign-in' | 'create') to tell them apart.

The plugin's recovery item is now "Back up account" with a numbered-list
icon, tagged "Not backed up" until the phrase has been revealed once for
the account (remembered per address in localStorage, with an in-memory
fallback). `recoveryPhrase: { backupReminder: false }` turns the tag off.
The per-address storage for the disclosure and this flag now share one
helper (storage.ts).

The passkey e2e fixture can turn off presence simulation to hold a prompt
open, so the pending state is tested in both layouts. The examples' intro
copy now matches the list default.
Git Commit 6aff481c Branch feat/passkey Document 28/562 ++ 173 --
drichar use-wallet-ui
feat(passkey): default passkeyLayout to 'list'
The connect dialog now shows the passkey wallet as "Sign in with
passkey" and "Create a passkey" rows in a Passkey group above the other
wallets. `passkeyLayout: 'featured'` keeps the "Continue with passkey"
layout. PasskeyConnect defaults to 'list' as well.

The dialog now passes `layout="featured"` to PasskeyConnect explicitly
instead of relying on its default, which had shown the list rows for
'featured' once the default changed. The passkey examples start in the
list layout (?layout=featured opens the other), and the e2e suites set
their layout explicitly.
Git Commit ebb98f4b Branch feat/passkey Document 20/76 ++ 68 --
drichar use-wallet-ui
feat(passkey): add a passkeyLayout option with a list layout
Connect dialogs can now present the passkey wallet two ways:
- 'featured' (default): the existing "Continue with passkey" button and
  "Create a passkey" link, with the other wallets below
- 'list': "Sign in with passkey" and "Create a passkey" rows in a Passkey
  group above a Wallets group, for apps where most users bring a wallet

Set it app-wide with `passkeyLayout` on WalletUIProvider, or per menu on
WalletButton or ConnectWalletMenu; the menu prop wins, and the default is
'featured'. PasskeyConnect takes a `layout` prop so custom menus get both,
and PasskeyConnectLayout is exported. The wallet icon tile moves into a
shared WalletIcon component.

The passkey examples get a Featured / List selector (or ?layout=list),
and e2e covers the list layout's rows, create and sign-in, the error
hint, and switching layouts through the provider.
Git Commit 35cfa8b6 Branch feat/passkey Document 29/722 ++ 120 --
renovate[bot] use-wallet
Merge 26e335206ffe062d3a68eddf484cb3a04c7f4626 into 5820c2f98fb16ff6c51cdc51b0576d760514901d
Git Commit e245af10 Branch pull/476/merge Document 14/1,231 ++ 698 --
renovate[bot] use-wallet
chore(deps): update non-major dependencies
Git Commit 26e33520 Branch renovate/non-major-dependencies Document 14/1,231 ++ 698 --
drichar use-wallet-ui
fix(examples): resolve node polyfill shims for the linked library build
vite-plugin-node-polyfills injects its shim imports into every module,
including the workspace-linked packages/*/dist files. Those can't resolve
vite-plugin-node-polyfills, so `pnpm build:examples` failed for the react,
react-css-only, react-custom, react-web3auth and vue examples. CI doesn't
build the examples, so this went unnoticed.

Alias the three shims to their ESM files, resolved from each example. All
polyfills stay on (Web3Auth still gets its `process` global), and the
passkey examples drop their Buffer-only workaround for the same fix.
Git Commit 43851645 Branch feat/passkey Document 7/119 ++ 8 --
drichar use-wallet-ui
feat(passkey): passkey-first connect dialog and show-once disclosure
The connect dialog now leads with the passkey wallet: a full-width
"Continue with passkey" button signs in, and a "New here? Create a
passkey" link creates one. The other wallets follow under an "or connect
a wallet" divider. WalletList no longer renders the passkey wallet; the
section is exported as PasskeyConnect for custom connect menus.

The connected menu tags a passkey account with its domain. The plugin's
disclosure is now off by default; with `disclosure: true` it shows until
the user chooses "Got it", remembered per address in localStorage (with
an in-memory fallback when storage is unavailable).

Export Recovery Phrase uses a document icon, since a key now means
passkey sign-in.

Also restore the passkey plugin's Requirements and Subpath Import docs,
which the first passkey commit dropped from PLUGINS.md.
Git Commit 840abd63 Branch feat/passkey Document 32/836 ++ 338 --
renovate[bot] use-wallet
Merge 51cadd6f566da4a27615b4437760cd898f31ab43 into 5820c2f98fb16ff6c51cdc51b0576d760514901d
Git Commit 470a06db Branch pull/476/merge Document 14/1,221 ++ 688 --
renovate[bot] use-wallet
chore(deps): update non-major dependencies
Git Commit 51cadd6f Branch renovate/non-major-dependencies Document 14/1,221 ++ 688 --