Commit graph

1257 commits

Author SHA1 Message Date
theborakompanioni
492ae14dc1 chore(ui): add jar button variants 2026-07-10 19:55:54 +02:00
theborakompanioni
5041ce6af5 ui(receive): increase font size of address 2026-07-10 19:55:54 +02:00
theborakompanioni
6c7d2878db fix: apply className to container in address component 2026-07-10 19:55:54 +02:00
theborakompanioni
8197587691 ui(receive): move options inside card component 2026-07-10 19:55:54 +02:00
theborakompanioni
31cc13b08a ui(navbar): adjust wallet preview loading indicator color 2026-07-10 19:55:54 +02:00
theborakompanioni
ff6796f94c ui(style): align sidebar styles 2026-07-10 19:55:54 +02:00
theborakompanioni
49f2c888c9 ui(navbar): navbar tooltip position and sidebar toggle text 2026-07-10 19:55:54 +02:00
theborakompanioni
dfe7807689 chore(ui): navbar link colors 2026-07-10 19:55:54 +02:00
Thebora Kompanioni
ecc39aa15d
chore(build): require min node level of v26.3.0 (#1333)
chore: raise min node level to v26.3.0

This is required in order to support NODE_OPTIONS=--no-webstorage (in tests)
2026-07-10 21:35:22 +05:30
Kishore B
7cf31890b2
refactor: migrate API client to joinmarket-ng-api-ts (#1305)
* chore(deps): migrate to joinmarket-ng-api-ts

- Uninstall legacy  (v0.3.0).
- Install new  (v1.0.0).
- Update package.json  for  to apply to the new ng-api package.

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

* refactor: update all api client imports to use joinmarket-ng-api-ts

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

* refactor(types): replace ErrorMessage with unknown for ng-api compatibility

- Remove ErrorMessage type imports from @joinmarket-webui/joinmarket-ng-api-ts/jm across the codebase.
- Update error types in React Query hooks (useQuery, useMutation) and context states to use unknown instead of ErrorMessage.
- Update error handler callbacks (onError) to accept unknown type, adapting to the error type changes in the generated ng-api client.

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

* fix(types): handle nullable fields from ng-api client

- Add nullish/undefined checks for sessionInfo.wallet_name in create, import, and login flows.
- Handle nullable progress field in rescanInfo by checking != null and defaulting to undefined.
- Fallback block_height to undefined if nullish in layout and session contexts.
- Default walletInfo.accounts to an empty array to prevent mapping errors if nullish.

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

* fix(types): fix typescript errors from ng-api transition

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

* fix(lint): resolve typescript-eslint errors in tests and providers

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

* feat: redesign sweep to tumbler api with minimal adaptations

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

* pin api-ts deps and validate rescan progress value

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

* simplify active session check in import flows and harden report parsing

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

* refactor: fastapi error parsing and SweepPage ux

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

* fix: set VITE_JM_API_BASE_URL to empty for joinmarket-ng-api-ts
-Endpoints generated by the new client package already include the
'/api/v1' path prefix in their definitions.

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

* refactor(ui): use session state as single source of truth for active wallets

- Use  as the sole condition to display the active session warning in wallet create/import flows, rather than relying on the presence of a .
- Update  to dynamically fall back to a localized placeholder ('another wallet') when  is missing.
- Add  fallback key to English translation file.

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

* style: format create, import files

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

* refactor(earn): support only ng backend format in yieldgen report hook

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

* refactor: improve active wallet warning translations

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

* fix(sweep): use includes instead of repeated equality checks for lint check

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

* refactor(sweep): align phase completion check strictly with ng backend PhaseStatus

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

---------

Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
2026-07-10 20:04:16 +05:30
Parth
a6ad27f743
fix(send): make utxo selection table scrollable (#1327) 2026-07-10 15:10:39 +02:00
Thebora Kompanioni
7be8d4863a
chore: add csp meta tag (#1325)
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
* chore: add csp meta tag

* chore: add base-uri and form-action to csp tag

Co-authored-by: Kishore B <kishorebsm8@gmail.com>

---------

Co-authored-by: Kishore B <kishorebsm8@gmail.com>
2026-07-09 14:06:14 +05:30
Parth
17c6a0d049
fix(send): remove input group artifacts on selected jar fields (#1328)
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-08 20:24:44 +02:00
Thebora Kompanioni
6a34868e2b
build(deps): update dependencies (#1322)
* build(deps): update dependencies

 @radix-ui/react-accordion      1.2.14  →  1.2.16
 @radix-ui/react-avatar          1.2.0  →   1.2.2
 @radix-ui/react-checkbox        1.3.5  →   1.3.7
 @radix-ui/react-dialog         1.1.17  →  1.1.19
 @radix-ui/react-dropdown-menu  2.1.18  →  2.1.20
 @radix-ui/react-label          2.1.10  →  2.1.11
 @radix-ui/react-popover        1.1.17  →  1.1.19
 @radix-ui/react-radio-group     1.4.1  →   1.4.3
 @radix-ui/react-select          2.3.1  →   2.3.3
 @radix-ui/react-separator      1.1.10  →  1.1.11
 @radix-ui/react-switch          1.3.1  →   1.3.3
 @radix-ui/react-tabs           1.1.15  →  1.1.17
 @radix-ui/react-tooltip        1.2.10  →  1.2.12
 @types/node                    26.0.1  →  26.1.1
 conventional-changelog          7.2.0  →   7.2.1
 lucide-react                   1.22.0  →  1.23.0
 msw                            2.14.6  →  2.15.0
 prettier                        3.9.3  →   3.9.4
 radix-ui                        1.6.0  →   1.6.2
 react-hook-form                7.80.0  →  7.81.0
 typescript-eslint              8.62.1  →  8.63.0
 vite                            8.1.0  →   8.1.3

* build(deps): update eslint-plugin-unicorn to v65.0.1
2026-07-08 23:07:57 +05:30
Parth
1b056416b8
feat(navbar): toggle lock wallet/logout button based on running services (#1318)
* feat(navbar): toggle lock wallet/logout button based on running services (#1311)

* fix(navbar): disable logout button while pending and localize its label

* fix(i18n): add navbar.button_logout translations for all locales
2026-07-08 21:36:41 +05:30
Parth
db1f7495ec
dev(i18n): improve user-facing copy across the app (#1320)
* dev(i18n): improve user-facing copy across the app

* Apply suggestion from @theborakompanioni

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>

* dev(i18n): reflect no-spendable-balance copy in other locales

---------

Co-authored-by: Thebora Kompanioni <theborakompanioni@users.noreply.github.com>
2026-07-08 20:49:44 +05:30
Thebora Kompanioni
2494cc84fa
dev(ui): add beta warning header (#1319) 2026-07-08 13:29:40 +02:00
Kishore B
90a7d7203e
chore(ui): jar badges with their respective jar colors (#1308) 2026-07-08 10:34:54 +02:00
Thebora Kompanioni
290044e9d2
dev(regtest): fix regtest init of standalone-ng containers (#1321)
* dev(regtest): remove unnecessary env vars

* dev(regtest): expose jmwalletd port for init routine

* Fix typo in BITCOIN__RPC_PASSWORD to "regtest"

---------

Co-authored-by: Kishore B <kishorebsm8@gmail.com>
2026-07-08 10:37:26 +05:30
Thebora Kompanioni
147d815f3b
fix: correct rescan progress on Rescan page (#1313)
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
* dev(regtest): remove unnecessary env vars

* fix: correct rescan progress on Rescan page

* Revert "dev(regtest): remove unnecessary env vars"

This reverts commit f6ca1cbd4c.

* chore: progress in percentage as string
2026-07-08 00:37:23 +05:30
theborakompanioni
1b5d1cf6e6
Revert "dev(ui): add ugly beta warning header (#1317)"
This reverts commit e7f317aa49.
2026-07-07 16:49:03 +02:00
Thebora Kompanioni
e7f317aa49
dev(ui): add ugly beta warning header (#1317)
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
Co-authored-by: Parth Bandwal <143504541+parrth20@users.noreply.github.com>
2026-07-06 21:29:59 +02:00
Parth
ff739fcc07
refactor(validation): share form field validators for source jar and bitcoin address (#1315)
* refactor(validation): add shared form field validators

* refactor(send): use shared source jar and destination address validators

* refactor(receive): use shared source jar validator and align amount bound

* refactor(earn): use shared source jar validator for fidelity bonds

* refactor(sweep): reuse shared bitcoin address predicates

* fix(validation): guard chained destination address tests and trim input
2026-07-06 23:44:21 +05:30
Parth
a486002a71
Improve component sizing for buttons and inputs (#1302)
* style: increase shared control sizing

* style: improve form control sizing

* style: broaden component sizing pass

* style: format component sizing updates

* fix: align grouped control sizing
2026-07-06 22:46:44 +05:30
Parth
d66f5e9c82
chore(ui): improve mobile responsiveness (#1292)
Some checks failed
Build / build (v26.3.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
2026-07-05 15:54:37 +02:00
Parth
c7cb02ae86
fix: use sats-only amount placeholders (#1301)
Some checks failed
Build / build (v26.3.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
* fix: use sats-only amount placeholders

* fix: update sats-only placeholders in locales
2026-06-30 17:09:18 +05:30
Thebora Kompanioni
eaadf56005
build(deps): update dependencies (#1303)
* build(deps): update dependencies

 @tailwindcss/vite                4.3.1  →    4.3.2
 @tanstack/eslint-plugin-query  5.101.0  →  5.101.2
 @tanstack/react-query          5.101.0  →  5.101.2
 @types/node                    24.12.4  →   26.0.1
 @vitejs/plugin-react             6.0.2  →    6.0.3
 globals                         17.6.0  →   17.7.0
 lint-staged                     17.0.7  →   17.0.8
 lucide-react                    1.20.0  →   1.22.0
 prettier                         3.8.4  →    3.9.3
 react-hook-form                 7.79.0  →   7.80.0
 react-router-dom                7.18.0  →   7.18.1
 tailwindcss                      4.3.1  →    4.3.2
 typescript-eslint               8.61.1  →   8.62.1
 vite                            8.0.16  →    8.1.0

* chore: format source
2026-06-30 13:17:15 +05:30
Parth
91d31c2639
Apply Tailwind styling consistency and brand identity pass across app (#1297)
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
* style: add jam brand theme tokens

* style: apply brand tokens to shared UI

* style: add semantic brand status tokens

* style: normalize branded UI states
2026-06-30 00:55:35 +05:30
Thebora Kompanioni
50562ba897
dev(regtest): rectify tor setup and upgrade to core v29 (#1298)
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
* dev(regtest): adapt bitcoin rpc users

* dev(regtest): update to bitcoind v30.0

* chore(regtest): create descriptor wallets for clientserver regtest containers

* chore(regtest): add backend descriptor to clientserver directory node

* chore(regtest): rectify tor setup and downgrade to core v29

* dev(regtest): set ENSURE_WALLET to false and remove unused DESCRIPTOR_WALLET_NAME for ng nodes
2026-06-28 14:22:36 +02:00
theborakompanioni
7e9aa794d1
chore(pre-release): v2.0.0-beta.0
Some checks failed
Build / build (v26.3.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
2026-06-28 11:46:37 +02:00
Thebora Kompanioni
d9bf64fb02
fix(login): wallet preselection (#1296)
Some checks failed
Build / build (v26.3.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
2026-06-24 19:12:48 +05:30
Wu Shuwen
3fc3ff3d58
fix: handle locale-specific decimal separators in BTC balance (#1290)
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-06-23 15:39:32 +02:00
Kishore B
08890f6dda
chore(ui): tooltip for jm:autofrozen:reuse label (#1293) 2026-06-23 08:56:20 +02:00
Marco Petrini
df34a76023
fix: orderbook own-offer pin/highlight with pagination (#1295)
Some checks failed
Build / build (v26.3.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
2026-06-22 01:06:10 +02:00
Parth
6e3c905ddc
test: expand full-project coverage (#1276) 2026-06-22 01:02:45 +02:00
Thebora Kompanioni
945ece0df8
build(deps): update @vitejs/plugin-react to v6.0.2 (#1288)
Some checks failed
Build / build (v26.3.0) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
* build(deps): update dependencies

 @radix-ui/react-accordion      1.2.13  →  1.2.14
 @radix-ui/react-avatar         1.1.12  →   1.2.0
 @radix-ui/react-checkbox        1.3.4  →   1.3.5
 @radix-ui/react-dialog         1.1.16  →  1.1.17
 @radix-ui/react-dropdown-menu  2.1.17  →  2.1.18
 @radix-ui/react-label           2.1.9  →  2.1.10
 @radix-ui/react-popover        1.1.16  →  1.1.17
 @radix-ui/react-radio-group     1.4.0  →   1.4.1
 @radix-ui/react-select          2.3.0  →   2.3.1
 @radix-ui/react-separator       1.1.9  →  1.1.10
 @radix-ui/react-slot            1.2.5  →   1.3.0
 @radix-ui/react-switch          1.3.0  →   1.3.1
 @radix-ui/react-tabs           1.1.14  →  1.1.15
 @radix-ui/react-tooltip         1.2.9  →  1.2.10
 @tailwindcss/vite               4.3.0  →   4.3.1
 eslint-plugin-react-refresh     0.5.2  →   0.5.3
 lucide-react                   1.17.0  →  1.20.0
 prettier                        3.8.3  →   3.8.4
 radix-ui                        1.5.0  →   1.6.0
 react-hook-form                7.77.0  →  7.79.0
 react-router-dom               7.17.0  →  7.18.0
 tailwindcss                     4.3.0  →   4.3.1
 typescript-eslint              8.60.1  →  8.61.1

* build(deps): update @vitejs/plugin-react to v6.0.2

* build: update node to v26.3.0

* build(deps): update vitest to v4.1.9

* build(deps): update @playwright/test to v1.61.0
2026-06-17 16:01:40 +05:30
theborakompanioni
5487157db2
build(deps): update typescript-eslint to v8.61.1 2026-06-17 10:45:29 +02:00
theborakompanioni
c7253c5c00
fix: workaround for use-react-websocket with vite v8
Some checks are pending
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-06-16 19:39:24 +02:00
dependabot[bot]
cefc4e43f1
build(deps): bump esbuild, vite and storybook (#1287) 2026-06-16 19:04:36 +02:00
Kishore B
f0457b34ee
chore(regtest): joinmarket-ng as the default primary backend (#1281) 2026-06-16 17:44:44 +02:00
Kishore B
7fccc46b1c
feat(sweep): add QR code scanner to destination inputs (#1282)
Some checks are pending
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
2026-06-15 21:31:14 +05:30
Dinar
51f3f02201
test: clean up fidelity bond utility test wording (#1279)
Some checks failed
Build / build (v24.11.1) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
Co-authored-by: Dinar <dinarrrofficials@gmail.com>
2026-06-11 18:41:51 +02:00
Dinar
65aeb7de99
chore: remove unused login schema translation parameter (#1275)
Some checks are pending
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
Co-authored-by: Dinar <dinarrrofficials@gmail.com>
2026-06-11 03:20:30 +05:30
Thebora Kompanioni
71fa206006
fix: soft display query reloading (#1273)
* refactor: remove unused props from JamWalletInfoContextType

* chore(ci): fix name of storybook build task
2026-06-10 21:13:23 +02:00
theborakompanioni
d2fe8f180d
chore(ci): build storybook on pull request
Some checks are pending
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-06-09 23:03:02 +02:00
Thebora Kompanioni
d60950c337
fix(storybook-static): github pages storybook deployment (#1272) 2026-06-09 22:54:36 +02:00
theborakompanioni
5d4cf130f3
fix(storybook-build): dont fail build on missing msw 2026-06-09 19:08:46 +02:00
Thebora Kompanioni
d39658b992
chore(storybook): add msw handler and AccountXpubsDialog story (#1271)
* chore(storybook): add msw handler and AccountXpubsDialog story

* refactor: rename BitcoinQr to BitcoinAddressQrCode

* feat: add xpub qrcode to account dialog
2026-06-09 22:06:54 +05:30
Parth
54b2b73bbd
ci: skip coverage upload when report is missing (#1270)
Some checks are pending
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
2026-06-08 20:28:44 +02:00
theborakompanioni
bfb42f84bd
build(fix): package-lock.json 2026-06-08 19:32:31 +02:00