copilot-swe-agent[bot]
4bb3e28488
Initial plan
2026-07-06 13:08:54 +00:00
Parth
d66f5e9c82
chore(ui): improve mobile responsiveness ( #1292 )
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 )
...
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 )
...
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 )
...
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
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 )
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 )
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 )
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 )
...
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
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 )
...
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 )
...
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 )
...
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
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 )
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
Thebora Kompanioni
9f3640e2c5
build(deps): update dependencies ( #1269 )
...
* build(deps): update dependencies
@radix-ui/react-accordion 1.2.12 → 1.2.13
@radix-ui/react-avatar 1.1.11 → 1.1.12
@radix-ui/react-checkbox 1.3.3 → 1.3.4
@radix-ui/react-dialog 1.1.15 → 1.1.16
@radix-ui/react-dropdown-menu 2.1.16 → 2.1.17
@radix-ui/react-label 2.1.8 → 2.1.9
@radix-ui/react-popover 1.1.15 → 1.1.16
@radix-ui/react-separator 1.1.8 → 1.1.9
@radix-ui/react-slot 1.2.4 → 1.2.5
@radix-ui/react-tabs 1.1.13 → 1.1.14
@radix-ui/react-tooltip 1.2.8 → 1.2.9
@storybook/addon-a11y 10.4.0 → 10.4.2
@storybook/addon-docs 10.4.0 → 10.4.2
@storybook/addon-vitest 10.4.0 → 10.4.2
@storybook/react-vite 10.4.0 → 10.4.2
@tanstack/eslint-plugin-query 5.100.10 → 5.100.14
@tanstack/react-query 5.100.10 → 5.100.14
@types/react 19.2.14 → 19.2.17
eslint-plugin-storybook 10.4.0 → 10.4.2
lint-staged 17.0.5 → 17.0.7
react 19.2.6 → 19.2.7
react-dom 19.2.6 → 19.2.7
react-hook-form 7.76.0 → 7.76.1
storybook 10.4.0 → 10.4.2
typescript-eslint 8.59.3 → 8.59.4
vite 7.3.3 → 7.3.5
zustand 5.0.13 → 5.0.14
* build(deps): update dependencies (minor)
@hookform/resolvers 5.2.2 → 5.4.0
@radix-ui/react-radio-group 1.3.8 → 1.4.0
@radix-ui/react-select 2.2.6 → 2.3.0
@radix-ui/react-switch 1.2.6 → 1.3.0
@tanstack/eslint-plugin-query 5.100.14 → 5.101.0
@tanstack/react-query 5.100.14 → 5.101.0
lucide-react 1.16.0 → 1.17.0
radix-ui 1.4.3 → 1.5.0
react-hook-form 7.76.1 → 7.77.0
react-router-dom 7.15.1 → 7.17.0
typescript-eslint 8.59.4 → 8.60.1
2026-06-08 19:11:59 +05:30
Kishore B
84a0e4d98a
feat: integrate standalone-ng docker wrapper with Jam Web UI ( #1265 )
...
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* feat: integrate standalone-ng docker wrapper with Jam Web UI
- Add Dockerfile and entrypoint for standalone-ng wrapper service
- Update docker-compose files to support standalone-ng container(joinmarket6)
- Enhance log retrieval and frontend logic for new log file layout
- Update Vite config and constants for standalone-ng backend mode
- Improve documentation for regtest and backend selection
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
* chore(regtest): zero absolute offers for makers in regtest env
* chore: align npm dev command names
* chore(regtest): set minimum makers to 2 for joinmarket-ng backends
* chore(regtest): use jam-dev-standalone-ng:master image
---------
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
Co-authored-by: theborakompanioni <theborakompanioni+github@gmail.com>
2026-06-07 18:37:53 +02:00
Parth
9a7b7cb2de
test: add coverage for utilities and shared components ( #1267 )
2026-06-07 15:59:39 +02:00
Thebora Kompanioni
7ef8d73b1c
chore(storybook): add mobile/tablet viewports ( #1254 )
...
Build / build (v24.11.1) (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Deploy Storybook / deploy (push) Waiting to run
* chore(ci): update storybook-pages actions
* chore(storybook): add mobile/tablet viewports
* chore(storybook): disable isolation for storybook tests
2026-06-07 03:04:26 +05:30
Thebora Kompanioni
3cc63c535c
refactor: move functions and cleanup ( #1255 )
...
* refactor: move function 'clamp' to utils
* refactor: move function 'median' to utils
* refactor: move MAX_NUM_COLLABORATORS to constants
2026-06-06 23:53:01 +05:30
dependabot[bot]
5b610bf186
build(deps-dev): bump @vitest/browser from 4.0.18 to 4.1.6 ( #1266 )
...
Build / build (v24.11.1) (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Deploy Storybook / deploy (push) Has been cancelled
* build(deps-dev): bump @vitest/browser from 4.0.18 to 4.1.6
Bumps [@vitest/browser](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser ) from 4.0.18 to 4.1.6.
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.6/packages/browser )
---
updated-dependencies:
- dependency-name: "@vitest/browser"
dependency-version: 4.1.6
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
* build: align vitest browser packages
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Parth Bandwal <143504541+parrth20@users.noreply.github.com>
2026-06-02 15:22:14 +05:30
Ash
4bbfe95a0b
fix(send): clamp initial collaborators default ( #1253 )
2026-05-21 21:55:20 +02:00
Parth
182da89194
chore(storybook): deploy Storybook preview to GitHub Pages ( #1252 )
...
* chore(storybook): add pages build script
* ci(storybook): add pages deployment workflow
* docs(storybook): document pages preview
* ci(storybook): scope pages workflow concurrency
* ci(storybook): simplify pages deployment
2026-05-22 00:24:36 +05:30
Thebora Kompanioni
8aefe4b74c
build(deps): update dependencies ( #1251 )
...
* build(deps): update dependencies
@chromatic-com/storybook 5.1.2 → 5.2.1
@storybook/addon-a11y 10.3.6 → 10.4.0
@storybook/addon-docs 10.3.6 → 10.4.0
@storybook/addon-vitest 10.3.6 → 10.4.0
@storybook/react-vite 10.3.6 → 10.4.0
@tailwindcss/vite 4.2.4 → 4.3.0
@tanstack/eslint-plugin-query 5.100.9 → 5.100.10
@tanstack/react-query 5.100.9 → 5.100.10
@types/node 24.10.15 → 24.12.4
eslint-plugin-storybook 10.3.6 → 10.4.0
lucide-react 1.14.0 → 1.16.0
react-hook-form 7.75.0 → 7.76.0
react-i18next 17.0.6 → 17.0.8
react-router-dom 7.15.0 → 7.15.1
storybook 10.3.6 → 10.4.0
tailwind-merge 3.5.0 → 3.6.0
tailwindcss 4.2.4 → 4.3.0
typescript-eslint 8.59.2 → 8.59.3
* build(dev-deps): update vitest
@vitest/browser 4.0.9 → 4.0.18
@vitest/browser-playwright 4.0.9 → 4.0.18
@vitest/coverage-v8 4.0.9 → 4.0.18
vitest 4.0.9 → 4.0.18
---------
Co-authored-by: Kishore B <kishorebsm8@gmail.com>
2026-05-18 17:00:44 +05:30
Thebora Kompanioni
07e387795f
chore(send): collaborative send ( #1245 )
...
* chore: reload balance after taker stopped
* chore(send): force open max fee config on submit if missing
* chore(send): store collaborative send attempt
* chore(send): show completion info based on collaborative send attempt
* chore: store payment attempt in session storage
* refactor: externalize PaymentAbortDialog
* chore: active maker/taker alerts
2026-05-18 09:01:36 +02:00
Thebora Kompanioni
ee5770eeeb
chore(ui): improve footer on small screens ( #1243 )
...
* chore(footer): align blockheight
* ui(footer): improve footer on small screens
* chore(storybook): add BetaWarningDialog story
* review: remove flex container of footer warning
2026-05-17 21:38:08 +02:00
Parth
0eea853109
chore(storybook): add core component stories ( #1247 )
2026-05-17 14:42:06 +02:00
Thebora Kompanioni
165d0c4b9c
chore(ui): improve activity indicators ( #1249 )
...
Co-authored-by: Kishore B <85435355+kishore08-07@users.noreply.github.com>
2026-05-17 11:02:49 +02:00
Thebora Kompanioni
1de645b7c5
chore(websocket): add JmWebsocketContext ( #1244 )
2026-05-11 18:46:46 +02:00
Thebora Kompanioni
d851cb9c74
build(deps): update dependencies ( #1242 )
...
@storybook/addon-a11y 10.3.5 → 10.3.6
@storybook/addon-docs 10.3.5 → 10.3.6
@storybook/addon-vitest 10.3.5 → 10.3.6
@storybook/react-vite 10.3.5 → 10.3.6
@tanstack/eslint-plugin-query 5.100.6 → 5.100.9
@tanstack/react-query 5.100.6 → 5.100.9
eslint-plugin-compat 7.0.1 → 7.0.2
eslint-plugin-storybook 10.3.5 → 10.3.6
jsdom 29.1.0 → 29.1.1
storybook 10.3.5 → 10.3.6
typescript-eslint 8.59.1 → 8.59.2
zustand 5.0.12 → 5.0.13
react 19.2.5 → 19.2.6
react-dom 19.2.5 → 19.2.6
react-i18next 17.0.6 → 17.0.7
vite 7.3.2 → 7.3.3
globals 17.5.0 → 17.6.0
lucide-react 1.13.0 → 1.14.0
react-hook-form 7.74.0 → 7.75.0
react-router-dom 7.14.2 → 7.15.0
2026-05-08 17:24:56 +02:00
Thebora Kompanioni
a5d47c8be0
build(ci): report test coverage ( #1241 )
2026-05-08 17:07:56 +02:00
Kishore B
1b37ad3169
refactor(forms):replace yup path parsing with array-level validation and optimize cross-field checks ( #1235 )
...
* refactor(forms):remove yup path parsing, add array-level validation, reducing re-validation
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
* fix(lint): remove type assertions
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
* update resolver and context in SweepPage component
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
---------
Signed-off-by: kishore08-07 <kishorebsm8@gmail.com>
2026-05-06 14:10:51 +05:30
Thebora Kompanioni
454daa2839
chore(regtest): initial joinmarket-ng backend for regtest environment ( #1240 )
...
* chore(regtest): initial joinmarket-ng backend for regtest environment
Adds jmwalletd, directory servers, makers, and bitcoind to the regtest
docker-compose environment so jam can be developed against the jm-ng
backend end-to-end.
chore(regtest): wire docker compose env and vite dev proxy for jm-ng
Connects the local regtest containers into a single compose network,
adds tor and fund-wallet helpers, and points Vite's dev proxy at the
local jmwalletd instance.
fix(tags): recognize cj-change, used-empty, and flagged UTXO statuses
joinmarket-ng's WalletService emits four statuses jam's JmPlainTagValue
didn't cover: 'cj-change' (deanonymising change from our CJ),
'used-empty' (previously-used address with zero balance), and 'flagged'
(address shared in a CJ that later failed). They fell through to the
generic 'default' badge with no distinguishing styling.
Add them to JmPlainTagValue and the status->variant map. 'used-empty'
maps to the existing 'used' variant, 'flagged' to 'reused' (both signal
a used address the user should avoid reusing). Add a dedicated
'cj-change' badge variant (emerald) next to 'cj-out' so the
deanonymising change output is visually distinct from an equal-amount
CJ output.
fix(send): keep direct send available with maker
Only block collaborative sends while the maker service is running. Direct sends stay enabled and the form explains why the collaborative toggle is unavailable.
Changelog: Allow direct sends while the maker service is running
docs(dev): explain jm-ng backend workflow
fix(auth): only clear auth on invalid_token 401s
Previously every 401 response cleared the session and logged the user out. jm-ng returns 401 for service-state errors (e.g. POST /tumbler/stop when nothing is running), which should never drop the session. Inspect the WWW-Authenticate header and only clear auth when the server signals ``error="invalid_token"``.
Changelog: Non-auth 401 responses no longer log the user out.
fix(dev): proxy /jmws to the jm-ng HTTPS port
jm-ng serves WebSocket on the same port as the HTTPS API. The `jm-ng:dev` script used to override JMWALLETD_WEBSOCKET_PORT to 32283, but the regtest stack exposes that port without a matching listener, so vite proxied WebSocket upgrades into a dead port and the handshake returned empty. Default the env var to JMWALLETD_API_PORT and drop the override.
Changelog: Fix WebSocket proxying in the local jm-ng dev setup.
fix(dev): correct jm-ng websocket port and proxy targets
Update the README and developer docs to reflect that both ports must be
set when overriding for a custom jm-ng setup.
fix(dev): correct jm-ng websocket port (#1237 )
chore(dev): distinct server configs for various backends
* chore(regtest): address jm-ng review comments
---------
Co-authored-by: m0wer <m0wer@sgn.space>
Co-authored-by: Parth Bandwal <143504541+parrth20@users.noreply.github.com>
2026-05-05 13:52:41 +02:00
Parth
f522eae074
fix(earn): try prevent "no confirmed coins" on earn page ( #1239 )
...
fix(earn): handle unavailable confirmed balance
2026-05-04 23:55:56 +05:30
theborakompanioni
fd819cf8ca
fix: maxCjFeeRelInPercent validation
2026-05-02 00:22:51 +02:00
Thebora Kompanioni
3cf02afd16
chore: valid number must be finite ( #1234 )
...
* chore: valid number must be finite
* chore: add util function isValidInteger
* chore: use isValidNumber and isValidInteger
2026-05-02 00:54:35 +05:30
theborakompanioni
43a1daa752
chore(utxo): fix address group selection
2026-04-30 16:15:21 +02:00
theborakompanioni
16152a4997
chore: disable table 'selection all' toggle on submit
2026-04-30 16:15:21 +02:00