Commit graph

1333 commits

Author SHA1 Message Date
Parth Bandwal
252ee143ec
fix(earn): respect locale in bond value 2026-08-09 21:38:05 +05:30
Parth Bandwal
61c06db0d6
feat(earn): track offer in local orderbook 2026-08-09 20:34:17 +05:30
Parth Bandwal
3c87c346ab
feat(earn): show local offer status 2026-08-09 20:27:57 +05:30
Thebora Kompanioni
8eef1958a5
build(deps): update dependencies (#1416)
Some checks failed
Build / build (v26.5.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
@hookform/resolvers            5.5.7  →    5.5.8
 @storybook/addon-a11y         10.5.5  →   10.5.7
 @storybook/addon-docs         10.5.5  →   10.5.7
 @storybook/addon-vitest       10.5.5  →   10.5.7
 @storybook/react-vite         10.5.5  →   10.5.7
 @testing-library/user-event   14.6.1  →   14.6.3
 @types/react                 19.2.17  →  19.2.18
 @types/react-dom              19.2.3  →   19.2.4
 conventional-changelog         8.1.0  →    8.1.1
 eslint-plugin-storybook       10.5.5  →   10.5.7
 storybook                     10.5.5  →   10.5.7
 vite                           8.2.0  →    8.2.1

 @chromatic-com/storybook   5.2.1  →   5.3.0
 @hookform/resolvers        5.5.8  →   5.7.1
 @noble/hashes              2.2.0  →   2.3.0
 globals                   17.8.0  →  17.9.0
 lint-staged               17.2.0  →  17.3.0
 lucide-react              1.28.0  →  1.30.0
 react-hook-form           7.83.0  →  7.84.0
 typescript-eslint         8.65.0  →  8.66.0
2026-08-07 23:26:18 +05:30
Kishore B
28888dbb6d
refactor: externalize hardcoded polling intervals and delays (#1406)
Some checks failed
Build / build (v26.5.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
* refactor: externalize hardcoded polling intervals and delays

Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>

* refactor(constants): move schedule polling interval dev config to env.dev

Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>

---------

Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
2026-08-05 18:18:52 +05:30
Thebora Kompanioni
d0326db3e7
chore(ui): align buttons in logs and earn report (#1405)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* chore(report): align buttons

* chore: align search input and button rows in earn report and logs
2026-08-04 22:52:54 +05:30
GuTS805
9fb32af42f
fix: pin toLocaleString() calls to en-US locale (#1400)
* fix: pin toLocaleString() calls to en-US locale
Several number formatting call sites relied on the host machine's default
locale instead of a fixed one, causing inconsistent digit grouping in the
UI and non-deterministic test failures on non-US locales.

* fix: address review feedback, adapt tests instead of hardcoding locale in components
2026-08-04 22:32:48 +05:30
Thebora Kompanioni
4c2a886c6b
chore: print console warning (#1403)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-08-03 15:38:34 +05:30
Thebora Kompanioni
4a90f342ff
refactor: use specific address type in ambiguity check (#1404)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-08-03 01:03:04 +05:30
Thebora Kompanioni
c70a8892a6
chore(build): remove console.debug from prod build (#1401) 2026-08-03 01:00:28 +05:30
Ash
51a23b4c5a
fix(validation): distinguish testnet and regtest for bech32 addresses (#1395)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* fix(validation): distinguish testnet and regtest for bech32 addresses

Base58 addresses (p2pkh/p2sh) genuinely collapse between testnet and regtest
because they share version bytes, so bitcoin-address-validation always labels
them testnet - the interchangeable fallback is correct for those. Bech32
addresses, however, carry a distinct HRP (tb1 vs bcrt1) and are already
identified per-network, so gate the fallback on !bech32. This stops a bcrt1
(regtest) address passing on a testnet wallet, and vice versa.

Follow-up to #1355.

* docs(test): correct base58 address type in comment (P2PKH, not P2SH)

* test(validation): pin testnet/regtest separation for bech32m taproot addresses
2026-08-02 13:53:24 +05:30
theborakompanioni
1c23525da5
chore(pre-release): v2.0.0-beta.2
Some checks failed
Deploy Storybook / deploy (push) Waiting to run
Build / build (v26.5.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
2026-07-31 23:34:03 +02:00
theborakompanioni
471442ad80
chore: improve texts and add more tests for precondition alerts 2026-07-31 23:26:09 +02:00
theborakompanioni
1a22e97cfb
chore(earn): precondition alerts with non-frozen fb warning 2026-07-31 22:44:41 +02:00
theborakompanioni
6d7b0362e3
chore: send/sweep precondition alerts with non-frozen fb warning 2026-07-31 21:13:51 +02:00
theborakompanioni
25246e1690
chore(fb): freeze utxo after creating fb 2026-07-31 17:33:25 +02:00
theborakompanioni
edf97c30a7
chore(fb): freeze utxo after renewing fb 2026-07-31 16:34:17 +02:00
theborakompanioni
f7f4de6ab3
refactor: wrap fidelity bond sweep in mutation 2026-07-31 15:54:45 +02:00
theborakompanioni
0c77dc37aa
chore: allow freezing/unfreezing of fidelity bonds 2026-07-31 13:27:57 +02:00
theborakompanioni
7988595766
test: change mainnet test address placeholders 2026-07-31 13:27:57 +02:00
theborakompanioni
2b69ef3dbb
test(send): more send form schema tests 2026-07-31 13:27:56 +02:00
theborakompanioni
150e880040
fix(send): disallow send from a jar with unfrozen fidelity bond 2026-07-31 13:27:56 +02:00
theborakompanioni
d8e6d6aa15
chore: define error type for manual coin control needed 2026-07-31 13:27:56 +02:00
Thebora Kompanioni
e0d7479711
build(deps): update dependencies (#1390)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* build(deps): update dependencies

 @vitejs/plugin-react   6.0.4  →   6.0.5
 lucide-react          1.26.0  →  1.28.0
 react-router-dom      7.18.1  →  7.18.2
 vite                   8.1.5  →   8.2.0
 @storybook/addon-a11y    10.5.4  →  10.5.5
 @storybook/addon-docs    10.5.4  →  10.5.5
 @storybook/addon-vitest  10.5.4  →  10.5.5
 @storybook/react-vite    10.5.4  →  10.5.5
 @types/node              26.1.1  →  26.1.2
 eslint-plugin-storybook  10.5.4  →  10.5.5
 storybook                10.5.4  →  10.5.5
 @playwright/test           1.61.1  →  1.62.0
 @testing-library/jest-dom   6.9.1  →  6.10.0
 globals                    17.7.0  →  17.8.0

* build: fix vitest warnings after update

* build(deps): update @hookform/resolvers to v5.5.7

* build(deps): update msw-storybook-addon to v3.0.0

note: still uses a deprecated feature as the migration path did not work properly

* build(dev-deps): update jsdom to v30.0.1
2026-07-30 21:25:10 +02:00
Thebora Kompanioni
02115e808a
chore(ci): pin ci actions (#1389) 2026-07-30 21:23:08 +02:00
Brian Soltani
9346804bf8
fix(wallet): keep jars visible and clickable during background refetch (#1392)
* fix(wallet): keep jars visible and clickable during background refetch

Gate the jars grid on isLoading instead of isFetching, matching the balance display above it. isFetching is true on every background refetch, so the jars (and the Jar Details overlay they open) were being replaced by a spinner any time wallet data refreshed, even though the previous jars were still valid to show.

* test(wallet): assert jars stay visible during background refetch

Update the jars spinner test to match the new isLoading-based gate. The test now asserts that a jar name stays on screen and the background refetch still calls refetch on click, instead of asserting a spinner appears.

* test(wallet): assert jar overlay opens on click during background refetch
2026-07-30 23:13:42 +05:30
Thebora Kompanioni
306e6b83d1
chore(orderbook): improve bond and relative fee display value (#1384)
* chore(orderbook): improve bond and relative fee display value

* ui(earn): hover effects on fidelity bond and offer cards

* fix: use correct repo url base

* chore(jar-detials): improve confirmations display value
2026-07-30 16:52:44 +02:00
Thebora Kompanioni
59e959da97
fix(earn): disable fidelity bond actions while rescanning (#1373) 2026-07-30 16:52:26 +02:00
Thebora Kompanioni
bce1df33e9
chore(send): jars with frozen funds are selectable (#1370)
* chore(send): remove dev/prod distinction for minimum collaborators

this is already dynamically done by fetching the backend config value

* chore(send): jars with frozen funds are selectable

* ui(send): justify jars and increase space to precondition alert

* build: fix errors in test setups

* feat(send): open utxo selector on click on selected jar

* test: add tests for Jar and SelectableJar

* chore(ui): frozen balance with class 'invisible' instead of 'hidden'

* ui(receive): justify around jars

* chore(i18n): improve missing source jar utxos message
2026-07-30 11:35:19 +02:00
Thebora Kompanioni
d5b38740c7
fix: disable freeze/unfreeze when maker/taker/rescan is active (#1379)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-07-30 01:09:50 +05:30
Thebora Kompanioni
864e976772
ui(xpub): colored labels on xpub dialog (#1372) 2026-07-29 19:50:06 +05:30
Parth
ff0a9f229e
fix(receive): block new addresses during rescan (#1367)
* fix(receive): block new addresses during rescan

* test(receive): click disabled address button
2026-07-29 16:50:38 +05:30
Thebora Kompanioni
6490a96714
fix(receive): save sourceJarIndex before async operation (#1369)
Some checks failed
Build / build (v26.5.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
* fix(receive): save sourceJarIndex before async operation

* chore: flag if address from parsed from bip21 uri

* chore: scan applied alert only when parsed from uri
2026-07-29 09:18:20 +02:00
Parth
0e24250e3d
refactor: standardize remaining dialog forms (#1358)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* refactor(earn): standardize move-to-jar form

* refactor(earn): standardize bond renewal form

* refactor(send): standardize utxo selection form

* chore(settings): remove stale form migration todo

* refactor(earn): rely on form confirmation default
2026-07-28 13:27:08 +05:30
Thebora Kompanioni
01a952ff63
refactor: improve balance summary calculation (#1350)
* chore: store bonded balance in BalanceSummary

* refactor: improve balance summary calculation
2026-07-27 14:48:12 +05:30
Parth
fc1a02cead
refactor(send): standardize jar selector form handling (#1357)
* refactor(send): add jar selector form schema

* refactor(send): use react-hook-form for jar selection
2026-07-27 14:17:04 +05:30
Ash
82cc4762ff
fix(sweep): validate destination addresses against wallet network (#1355)
Some checks are pending
Build / build (v26.5.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-07-26 21:03:31 +02:00
Thebora Kompanioni
8789e63798
chore: raise coverage thresholds (#1356) 2026-07-26 21:14:44 +05:30
Thebora Kompanioni
3e7f5ea41f
build(deps): update node to v26.5.0 (#1353) 2026-07-26 20:02:42 +05:30
theborakompanioni
c41b40bec9 dev(regtest): fund jar 0, 1 and 4 of dev wallet 2026-07-26 15:42:24 +02:00
theborakompanioni
fe43741a37 build(deps): update radix-ui components 2026-07-26 15:42:24 +02:00
theborakompanioni
3f0d3bbc40 build(deps): update storybook and eslint 2026-07-26 15:42:24 +02:00
theborakompanioni
5f0818d734 build(deps): update dev dependencies
lint-staged                  17.0.8  →  17.2.0
 prettier                      3.9.5  →   3.9.6
 prettier-plugin-tailwindcss   0.8.0  →   0.8.1
 typescript-eslint            8.63.0  →  8.65.0
2026-07-26 15:42:24 +02:00
theborakompanioni
6698c6d574 build(deps): update dependencies
@tailwindcss/vite                4.3.2  →    4.3.3
 @tanstack/eslint-plugin-query  5.101.2  →  5.101.4
 @tanstack/react-query          5.101.2  →  5.101.4
 @vitejs/plugin-react             6.0.3  →    6.0.4
 lucide-react                    1.24.0  →   1.26.0
 react                           19.2.7  →   19.2.8
 react-dom                       19.2.7  →   19.2.8
 react-hook-form                 7.81.0  →   7.83.0
 react-i18next                   17.0.9  →  17.0.11
 tailwindcss                      4.3.2  →    4.3.3
 vite                             8.1.4  →    8.1.5
2026-07-26 15:42:24 +02:00
theborakompanioni
b4d7c9228c
chore(pre-release): v2.0.0-beta.1
Some checks are pending
Build / build (v26.3.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-07-25 04:53:48 +02:00
Parth
5ae6a18e35
Rework the Fidelity Bond modals (create, renew, unlock) (#1345)
Some checks are pending
Build / build (v26.3.0) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* fix: generate valid past lockdate options in developer mode

* fix: keep dialog scrollbar clear of step content

* feat: allow creating additional fidelity bonds in developer mode

* chore: align jars and improve bond wording

* chore(fb): use Item component in StepIntro

* chore(ui): update Card component

* chore(earn): always show action buttons for expired fidelity bonds

* chore: remove obsolete responsive test for Card component

---------

Co-authored-by: theborakompanioni <theborakompanioni+github@gmail.com>
2026-07-25 02:19:38 +02:00
theborakompanioni
848e7ef825 fix(ui): scrollable area in WalletJarDetails 2026-07-24 23:22:19 +02:00
theborakompanioni
dfcea24b79 chore(storybook): add story RescanInProgressWithoutPercentage 2026-07-24 23:22:19 +02:00
theborakompanioni
665889d856 chore(navbar): add development flag to AppNavbar 2026-07-24 23:22:19 +02:00
theborakompanioni
07b8a4b12e chore(receive): reduce address loading blur 2026-07-24 23:22:19 +02:00