Commit graph

1322 commits

Author SHA1 Message Date
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
theborakompanioni
b221f3a77a chore(eslint): enforce lowercase hexadecimal literals 2026-07-24 23:22:19 +02:00
theborakompanioni
0eecb9444f refactor: replace deprecated toThrowError with toThrow 2026-07-24 23:22:19 +02:00
theborakompanioni
c22586b9a4 test: add missing tests for feeEstimate, ErrorPage and useQueryYieldgenReport 2026-07-24 23:22:19 +02:00
theborakompanioni
c881f21fb5 chore(test): ignore main.tsx from coverage 2026-07-24 23:22:19 +02:00
theborakompanioni
af09c7b0b9 test: verify dialog close in MainWalletView 2026-07-24 23:22:19 +02:00
theborakompanioni
a020635089 refactor: derive key only once in AccountXpubsDialog 2026-07-24 23:22:19 +02:00
theborakompanioni
aba28c0a6f test: init tests for contexts 2026-07-24 23:22:19 +02:00
theborakompanioni
1433698eb4 refactor: move uint8ArrayfromHex to utils 2026-07-24 23:22:19 +02:00
Thebora Kompanioni
b90d5b2843
chore(ui): use FieldError component consistently (#1348)
* chore: freeze/unfreeze alert warning or error depending on context

* chore(sweep): fieldset and errors in sweep form

* chore(form): use FieldError component consistently

* chore(cleanup): remove unnecessary mocks

* test(websocket): initial test for useJmWebsocket
2026-07-24 18:04:58 +02:00
Kishore B
51d843c03a
feat(ui): show backend-specific warnings in onboarding and footer info modals (#1341)
* feat(ui): joinmarket backend information in info modals

* chore(i18n): remove joinmarket-clientserver specific texts

* refactor: add constants JAM_REPO_URL, JAM_DOCS_URL, JAM_JMNG_REPO_URL

* chore(ui): add third splashscreen description line

Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
2026-07-24 15:25:17 +02:00
Thebora Kompanioni
64ecd7ad77
feat: plan scheduled sweep (#1339)
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
* refactor: add reason to scheduler error messages

* fix: dismiss schedule confirm dialog on error

* chore(i18n): distinct scheduler starting/stopping messages

* chore(sweep): remove redundant manual destination validation

* chore(sweep): initial sweep options

* chore(ui): add slider component

* chore(sweep): add rounding chance option

* feat(sweep): ability to add/remove destinations

* chore(sweep): use plan tumbler mutation

* refactor(sweep): use tumblerstartMutation

* refactor(sweep): externalize SweepForm

* feat(sweep): ability to set min/max number of collaborators

* chore(sweep): increase time_lambda_seconds in insecure test options

* chore(sweep): fix progress step of quick sweep

* chore(sweep): start refactor schedule entry

* chore(sweep): preserve raw data in ScheduleEntry

* feat(sweep): show destination addresses

* chore(sweep): scroll to top after start/stop

* chore(ui): add Item component

* fix: only abort single taker runs on send page

* chore(sweep): schedule entries with Item component

* chore(sweep): show wait time before next action

* chore(sweep): schedule entries in accordion

* chore(sweep): remove scheduler.progress_current_state_wait_before_next message

* chore(sweep): tab for completed entries

* refactor(sweep): align Schedule object structure

* chore(sweep): display error message on failed actions

* chore(sweep): display completed scheduled sweep

* chore(sweep): move stop button from child component to page

* feat(sweep): ability to review scheduled sweep plan

* chore(sweep): increase schedule polling from 3s to 10s

* chore(sweep): hourglass icon for waiting alerts

* chore(sweep): adapt buttons, labels and alert texts

* fix(sweep): default min confirmations between phases

* chore(sweep): improve time estimate on sweeps

* chore(sweep): show pending tasks in details

* feat(sweep): ability to configure mintxcount

* chore(storybook): add slider, sidebar and item stories

* test(sweep): verify add/remove sweep destination input

* test: load decorators from story meta config

* chore(sweep): add makeSessionIdleTimeoutSeconds to form values

* chore(sweep): reload schedule if not stale or terminated

* chore(sweep): more details in sections

* chore(sweep): reorder entry details

* chore(sweep): show transaction info in destination section

* chore(sweep): estimate duration with fixed runtime info of maker phases

* chore(regtest): setup dummy wallet fidelity bonds

* fix(sweep): maker idle timeout less than runtime duration

* chore(sweep): use taker_utxo_age as min confs in sweep preconditions

* chore(build): add task test:coverage

* chore(sweep): max number of destination addresses

* chore(sweep): maxNumberOfDestinations
2026-07-23 13:06:40 +02:00