Commit graph

3331 commits

Author SHA1 Message Date
Alchemist
35d666d469
feat: filter transactions (#2464)
* feat: filter transactions

* fix: harden transaction filters

* refactor: use explicit nullable transaction filters with HideFailed polarity

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat: set transaction filters in a dialog from wallet actions menu

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* feat: filter transactions by search term and type

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: reject invalid transaction filters and reset page synchronously

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: parse complete minimum amount value in transactions filter dialog

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 10:52:14 +07:00
Josip
3b3e784fa6
fix: fallback to outgoing payments in Phoenixd LookupInvoice (#2447)
* fix: fallback to outgoing payments in Phoenixd LookupInvoice

LookupInvoice only queried /payments/incoming/{hash}, returning 404 for
outgoing payments. This caused all outgoing Lightning payments to remain
permanently stuck as PENDING in Alby Hub.

The fix tries incoming first (preserving existing behavior), then falls
back to listing outgoing payments and matching by paymentHash.

Fixes #2442

* fix: amount and fees in phoenix payment to transaction

---------

Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
2026-08-06 17:24:10 +07:00
Roland
fbaff5d8a0
fix: show icon and proper name for lightning node backend on about page (#2501)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 17:21:00 +07:00
Peter
355454a4cc
fix: Mandatory upgrade for bark SDK (#2502)
Some checks are pending
Multiplatform Docker build & push / build (push) Waiting to run
Code quality - linting and typechecking / linting (push) Waiting to run
Backend testing with Postgres / test-postgres (push) Waiting to run
chore: update bark bindings to v0.15.0

Moves from bark 0.4.0 to 0.6.0. The Ark server now requires protocol version 5
(hashlock clauses) to start a lightning receive, which only bark 0.6.0 sends, so
older clients are refused outright and cannot generate invoices.

No client changes needed: v0.15.0 only adds to the surface we use.
2026-08-06 10:43:41 +07:00
Roland
806dfd4e1b
chore: bump ldk node dependencies (#2498)
Some checks are pending
Multiplatform Docker build & push / build (push) Waiting to run
Code quality - linting and typechecking / linting (push) Waiting to run
Backend testing with Postgres / test-postgres (push) Waiting to run
- rust-lightning to 0.2.4
2026-08-05 15:51:25 +07:00
Roland
d3455eee7d
fix: explain API access is unavailable in the desktop app (#2499)
Creating a developer token in the Wails build failed with a confusing
"Unhandled route: POST /api/unlock" error, because the desktop app does
not expose an HTTP API for the token to be used against. Hide the token
creation form in the desktop build and show an explanatory message
instead.

Fixes #2471

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 15:26:40 +07:00
Roland
9971aa1ac8
fix: update bark icon (#2497)
Replace the bark.jpg icon with the new light and dark SVG icons.

Fixes #2446

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 15:08:03 +07:00
Roland
43d37d75d1
fix: bump go-nostr to fix duplicate relay connections (#2496)
Picks up getAlby/go-nostr#6, which shares relay connections in
SimplePool when dials fail, closes relay websockets on pool close,
and closes previous subscriptions before re-subscribing on CLOSED.

The shared per-relay-URL connect backoff is now enabled by default
in the fork, so no hub-side pool option is needed
(nostr.WithPenaltyBox is deprecated).

Fixes #2481

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 14:50:08 +07:00
Roland
8a9ba49807
chore: bump node version in dockerfile to 22 (#2495) 2026-08-05 14:29:40 +07:00
Roland
4484046ff7
fix: use async LDK event polling to avoid polling delay (#2494)
Switch from polling node.NextEvent() every second to node.NextEventAsync(),
which parks the goroutine until an event arrives without blocking an OS
thread or an LDK thread, as LDK is migrating to async event handling.

Guard event handling with a mutex held by Shutdown() so in-flight handlers
finish before the node is stopped and destroyed, and drop events that
arrive after shutdown starts (LDK redelivers unhandled events on startup).

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 23:14:30 +07:00
Roland
b051e5eb5f
fix: include payment hash when querying by payment request to ensure index is used (#2480) 2026-08-04 20:40:36 +07:00
dependabot[bot]
2bafad7a6c
build(deps): bump github.com/BoltzExchange/boltz-client/v2 from 2.12.0 to 2.12.5 (#2483)
build(deps): bump github.com/BoltzExchange/boltz-client/v2

Bumps [github.com/BoltzExchange/boltz-client/v2](https://github.com/BoltzExchange/boltz-client) from 2.12.0 to 2.12.5.
- [Release notes](https://github.com/BoltzExchange/boltz-client/releases)
- [Changelog](https://github.com/BoltzExchange/boltz-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BoltzExchange/boltz-client/compare/v2.12.0...v2.12.5)

---
updated-dependencies:
- dependency-name: github.com/BoltzExchange/boltz-client/v2
  dependency-version: 2.12.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 20:39:06 +07:00
dependabot[bot]
8f9d6f73f3
build(deps): bump github.com/labstack/echo/v4 from 4.15.2 to 4.15.4 (#2460)
Bumps [github.com/labstack/echo/v4](https://github.com/labstack/echo) from 4.15.2 to 4.15.4.
- [Release notes](https://github.com/labstack/echo/releases)
- [Changelog](https://github.com/labstack/echo/blob/v4.15.4/CHANGELOG.md)
- [Commits](https://github.com/labstack/echo/compare/v4.15.2...v4.15.4)

---
updated-dependencies:
- dependency-name: github.com/labstack/echo/v4
  dependency-version: 4.15.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 17:21:05 +07:00
dependabot[bot]
ec2ec911be
build(deps-dev): bump @commitlint/config-conventional from 20.5.0 to 21.2.0 in /frontend (#2487)
build(deps-dev): bump @commitlint/config-conventional in /frontend

Bumps [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) from 20.5.0 to 21.2.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.0/@commitlint/config-conventional)

---
updated-dependencies:
- dependency-name: "@commitlint/config-conventional"
  dependency-version: 21.2.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 17:19:59 +07:00
Alchemist
816e0dda6e
feat: receive invoices to apps (#2466)
* feat: receive invoices to apps

* fix: handle cleared receive selector
2026-08-04 17:18:22 +07:00
saunter
417cb16d97
feat: refresh payment QR and status components (#2459)
* feat: refresh payment QR and status components

* fix: align payment success button spacing

* fix: invert payment QR colors in dark mode

* fix: address payment QR review feedback

* fix: flatten nested cards in payment review FixedFloat tiles

* chore: remove internal payment component review screen

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* fix: keep QR codes dark-on-light in dark mode

Inverted QR codes are unreadable by many scanner apps (e.g. Phoenix).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

---------

Co-authored-by: René Aaron <rene@getalby.com>
Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-04 17:08:45 +07:00
dependabot[bot]
5b49783478
build(deps): bump golang.org/x/crypto from 0.52.0 to 0.54.0 (#2484)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.52.0 to 0.54.0.
- [Commits](https://github.com/golang/crypto/compare/v0.52.0...v0.54.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.54.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 16:33:30 +07:00
dependabot[bot]
98288463de
build(deps): bump gorm.io/gorm from 1.31.1 to 1.31.2 (#2482)
Bumps [gorm.io/gorm](https://github.com/go-gorm/gorm) from 1.31.1 to 1.31.2.
- [Release notes](https://github.com/go-gorm/gorm/releases)
- [Commits](https://github.com/go-gorm/gorm/compare/v1.31.1...v1.31.2)

---
updated-dependencies:
- dependency-name: gorm.io/gorm
  dependency-version: 1.31.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 16:32:52 +07:00
dependabot[bot]
857f145784
build(deps): bump @fontsource-variable/inter from 5.2.8 to 5.3.0 in /frontend (#2485)
build(deps): bump @fontsource-variable/inter in /frontend

Bumps [@fontsource-variable/inter](https://github.com/fontsource/font-files/tree/HEAD/fonts/variable/inter) from 5.2.8 to 5.3.0.
- [Changelog](https://github.com/fontsource/font-files/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fontsource/font-files/commits/HEAD/fonts/variable/inter)

---
updated-dependencies:
- dependency-name: "@fontsource-variable/inter"
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 16:31:20 +07:00
dependabot[bot]
c99ca51ad5
build(deps): bump github.com/mattn/go-sqlite3 from 1.14.46 to 1.14.48 (#2486)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.46 to 1.14.48.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.46...v1.14.48)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
  dependency-version: 1.14.48
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-08-04 16:29:20 +07:00
dependabot[bot]
fa03a9ba70
build(deps): bump @getalby/sdk from 7.0.0 to 8.0.3 in /frontend (#2488)
* build(deps): bump @getalby/sdk from 7.0.0 to 8.0.3 in /frontend

Bumps [@getalby/sdk](https://github.com/getAlby/js-sdk) from 7.0.0 to 8.0.3.
- [Release notes](https://github.com/getAlby/js-sdk/releases)
- [Commits](https://github.com/getAlby/js-sdk/compare/v7.0.0...v8.0.3)

---
updated-dependencies:
- dependency-name: "@getalby/sdk"
  dependency-version: 8.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: bump node version in workflows

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
2026-08-04 16:25:24 +07:00
hermes-alby
e0c173ae1e
docs: add security policy (#2491)
* docs: add security policy

* docs: link security policy from README

---------

Co-authored-by: Hermes Agent <hermes-agent@users.noreply.github.com>
2026-08-04 16:14:54 +07:00
hermes-alby
bf0ebe1f33
ci: support builds for fork pull requests (#2492)
ci: skip macOS signing for untrusted PRs

Co-authored-by: Hermes Agent <hermes-agent@users.noreply.github.com>
2026-08-04 16:14:30 +07:00
Roland
32af89bc8c
chore: bump rebalance fees to ensure payment succeeds (#2470)
Some checks failed
Multiplatform Docker build & push / build (push) Has been cancelled
Code quality - linting and typechecking / linting (push) Has been cancelled
Backend testing with Postgres / test-postgres (push) Has been cancelled
2026-07-29 14:31:18 +07:00
Peter
ce46a0f8a0
chore: update bark bindings to v0.12.1 (#2477)
Moves from bark 0.2.3 to 0.4.0, which changed the FFI surface:

- WalletOpen takes the network and a WalletOpenArgs, replacing WalletCreate
  and the separate RunDaemon call.
- Bolt11Invoice takes an optional anti-DoS token, unused here.
- LightningReceiveStatus is now LightningReceiveState, reporting progress
  via State rather than a PreimageRevealed bool.

Movements expose PaymentHash and sends expose a typed terminal state, so both
are read from those instead of the movement metadata JSON. A send movement that
is neither pending nor successful now resolves the SendPaymentSync waiter
instead of being ignored.
2026-07-29 14:25:25 +07:00
Roland
be17bc4e26
chore: replace alby mutinynet lsps2 with megalith mutinynet lsp (#2469)
Some checks are pending
Multiplatform Docker build & push / build (push) Waiting to run
Code quality - linting and typechecking / linting (push) Waiting to run
Backend testing with Postgres / test-postgres (push) Waiting to run
2026-07-27 19:54:37 +07:00
dependabot[bot]
afdb842a54
build(deps-dev): bump @tailwindcss/forms from 0.5.10 to 0.5.11 in /frontend (#2453)
build(deps-dev): bump @tailwindcss/forms in /frontend

Bumps [@tailwindcss/forms](https://github.com/tailwindlabs/tailwindcss-forms) from 0.5.10 to 0.5.11.
- [Release notes](https://github.com/tailwindlabs/tailwindcss-forms/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss-forms/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss-forms/compare/v0.5.10...v0.5.11)

---
updated-dependencies:
- dependency-name: "@tailwindcss/forms"
  dependency-version: 0.5.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 19:52:09 +07:00
Anshuman
754acfc9df
fix: update wave.space affiliate URL (#2475) 2026-07-27 19:51:07 +07:00
dependabot[bot]
005ee814a8
build(deps): bump github.com/lightningnetwork/lnd from 0.20.1-beta to 0.21.0-beta (#2402)
* build(deps): bump github.com/lightningnetwork/lnd

Bumps [github.com/lightningnetwork/lnd](https://github.com/lightningnetwork/lnd) from 0.20.1-beta to 0.21.0-beta.rc3.
- [Release notes](https://github.com/lightningnetwork/lnd/releases)
- [Changelog](https://github.com/lightningnetwork/lnd/blob/master/docs/release_branch_management.md)
- [Commits](https://github.com/lightningnetwork/lnd/compare/v0.20.1-beta...v0.21.0-beta.rc3)

---
updated-dependencies:
- dependency-name: github.com/lightningnetwork/lnd
  dependency-version: 0.21.0-beta.rc3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: remove unused LND wrapper interface and methods

* chore: bump LND to v0.21.0-beta

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adithya Vardhan <imadithyavardhan@gmail.com>
2026-07-27 19:48:54 +07:00
dependabot[bot]
b6bce030d0
build(deps): bump github.com/mattn/go-sqlite3 from 1.14.45 to 1.14.46 (#2461)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.45 to 1.14.46.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.45...v1.14.46)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
  dependency-version: 1.14.46
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 19:20:51 +07:00
dependabot[bot]
e6fcc3e3c1
build(deps-dev): bump typescript-eslint from 8.60.1 to 8.61.0 in /frontend (#2452)
build(deps-dev): bump typescript-eslint in /frontend

Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.60.1 to 8.61.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.61.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 19:19:40 +07:00
dependabot[bot]
270d23d273
build(deps-dev): bump @types/node from 25.8.0 to 25.9.3 in /frontend (#2450)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 25.8.0 to 25.9.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.9.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-07-27 19:18:50 +07:00
Michael Bumann
b70f40e42a
fix: require full access api key for swaps/mnemonic (#2473)
Some checks failed
Multiplatform Docker build & push / build (push) Has been cancelled
Code quality - linting and typechecking / linting (push) Has been cancelled
Backend testing with Postgres / test-postgres (push) Has been cancelled
the mnemonic could be considered a non read-only route because the
mnemonic could be used.
This moves this route to the full access group to require a full access
api key.
2026-07-14 21:50:37 +07:00
Alchemist
222031a97e
fix: soften channel routing warning (#2458)
Some checks failed
Multiplatform Docker build & push / build (push) Has been cancelled
Code quality - linting and typechecking / linting (push) Has been cancelled
Backend testing with Postgres / test-postgres (push) Has been cancelled
* fix: soften channel routing warning

* Update lnclient/ldk/ldk.go

Co-authored-by: Roland <33993199+rolznz@users.noreply.github.com>

---------

Co-authored-by: Roland <33993199+rolznz@users.noreply.github.com>
2026-06-19 15:48:18 +07:00
René Aaron
bf9c346a98
feat: use switch and improve copy on node settings page (#2441)
Some checks failed
Multiplatform Docker build & push / build (push) Has been cancelled
Code quality - linting and typechecking / linting (push) Has been cancelled
Backend testing with Postgres / test-postgres (push) Has been cancelled
* feat: use switch and improve copy on node settings page

* fix: allow disabling JIT channels when no liquidity source exists
2026-06-12 11:11:17 +07:00
Roland
b1c0d4eac8
fix: add fallback instructions if JIT LSP seems to be offline (#2443)
* fix: add fallback instructions if JIT LSP seems to be offline

* fix: duplicate invoice probe

* fix: properly check if lsps2 is enabled before setting jit request failed

* fix: don't render incorrect maximum receive amount if balances aren't loaded
2026-06-12 11:09:27 +07:00
Alchemist
a21c320fde
feat: simplify receive screen (#2426)
Some checks are pending
Multiplatform Docker build & push / build (push) Waiting to run
Code quality - linting and typechecking / linting (push) Waiting to run
Backend testing with Postgres / test-postgres (push) Waiting to run
* feat: simplify receive screen

* fix: use absolute receive routes

* chore: move other options to separate card, improve copy

* chore: also add accordion to receive invoice screen (for non-logged-in users)

* fix: JIT alert padding

* feat: explain other receive options with descriptive menu rows

* fix: move first channel jit alert outside of card

---------

Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
Co-authored-by: René Aaron <rene@twentyuno.net>
2026-06-11 19:20:35 +07:00
Roland
864c841c07
feat: add solvocard + add provider name to bitcoin card topup (#2440) 2026-06-11 15:56:52 +07:00
Roland
d7ebee5058
chore: add bhodl lsp as trusted 0 conf peer (#2439) 2026-06-11 14:48:26 +07:00
René Aaron
2f258138bc
fix: send referrer header on stories YouTube embed (#2435) 2026-06-11 13:17:27 +07:00
Anthonyushie
5249ebe7db
fix: add lightning tag to Freedomia card (#2437) 2026-06-11 13:15:39 +07:00
Roland
cc429c4553
chore: fix formatting (#2430)
Some checks are pending
Multiplatform Docker build & push / build (push) Waiting to run
Code quality - linting and typechecking / linting (push) Waiting to run
Backend testing with Postgres / test-postgres (push) Waiting to run
2026-06-10 14:51:37 +07:00
Adithya Vardhan
d8faf09109
fix: avoid mempool api failures during swaps by using boltz for fee and tx lookup (#2421)
* fix: avoid mempool api failures during swaps by using boltz for fee and tx lookup

* fix: ensure swap payment isn't made twice on refresh

---------

Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
2026-06-10 14:47:54 +07:00
frnandu
b55978d7bc
feat: just in time channels with lsps2 (#2275)
* feat: just in time channels with lsps2

* fix: clarify JIT receive channel fee

* fix: fees

* fix: fees 2

* fix: don't show low inbound when LSPS2 is active

* fix: remove the receive limit below the input if LSPS2 is being used

* fix: simplify

* fix: bring back fee % for outgoing

* fix: remove unneeded changes

* fix: typo

* fix: unneeded

* fix: don't show open first channel is LSPS2

* feat: clearer JIT channel fee copy on receive screen

* fix: add LSPS2 var info

* fix: don't duplicate JIT fee hint on create invoice form

* fix: make paymentDone a standard boolean

* fix: update to golang:1.26 in Dockerfile

* feat: read LSPS2 sources from channel suggestions, set minimum receive amount, update guide link

* docs:  update LDK_LSPS2_ADDRESSES to be used as an override

* fix: only show minimum jit receive amount on validation error

* fix: add more detail to receive error when receiving low amounts with jit

* fix: do not use JIT when user has public channels

* feat: add option to disable JIT

* fix: isTrusted check, add jit property to event

* fix: do not require node restart for toggling JIT

* chore: simplify JIT alert

* chore: add guide link on node settings JIT description

* feat: fetch the lsp2info to have access to params like minimum/maximum payment size

* refactor: share single learn-more link across JIT fee hint branches

* fix: remove variable amount invoice support

* fix: use lsps2info for min payment size and remove channelPeerSuggestion usage of minimumChannelSize

* fix: only do amount validation according to lsps2Info values if jit is enabled in settings

* feat: add jit first payment fee alert on receive via lightning address

* fix: remove unnecessary conditional

* fix: ensure at least one sat is left over when opening JIT channel

* chore: remove hardcoded suggestions

* chore: rename JIT enabled config variable

* fix: ui checks when JIT is disabled

* fix: amount input validation message

* fix: formatting

---------

Co-authored-by: anon <anon@anon.com>
Co-authored-by: saunter <68239231+stackingsaunter@users.noreply.github.com>
Co-authored-by: fmar <fmar@fmar>
Co-authored-by: René Aaron <rene@twentyuno.net>
Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
2026-06-10 14:47:07 +07:00
Roland
e5dc19ae68
feat: add readonly option for app store apps (#2415) 2026-06-10 13:17:13 +07:00
Roland
98e7d987bb
feat: pass selected provider to card topup app (#2416)
* feat: pass selected provider to card topup app

The Bitcoin Card Topup app (card.albylabs.com) now supports configuration
presets selected via a `provider` query param. Pass the provider chosen on
the Cards page through to the topup app's install link so its preset is
pre-applied, simplifying setup.

Closes #2384

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: move bitcoin card topup install guide component to a new file

* chore: remove accidentally committed worktree gitlinks

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore: use more general copy for card topup app install guide

* fix: remove subtree commits

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-10 13:16:02 +07:00
Roland
c6f45e75e3
chore: update bark bindings to v0.8.0 (#2428)
* chore: update bark bindings to v0.8.0

* docs: update BARK_SERVER_ACCESS_TOKEN usage
2026-06-10 13:13:23 +07:00
René Aaron
3453b69a1c
feat: refine wallet empty states (#2382)
* fix: tighten inline empty state spacing on wallet pages

* chore: refine wallet empty states

- Replace placeholder icons (drum, link) with channel-specific icons (ZapIcon for lightning, BitcoinIcon for on-chain)
- Rewrite empty-state copy with warmer, less technical phrasing
- Drop redundant CTA (Receive button already sits above)
- Add subtle bg-accent surface to anchor the transactions section

* chore(empty-state): add variant prop, drop unused button props on wallet pages

* chore(empty-state): swap muted surface from bg-accent/40 to bg-muted

* chore(transactions): allow callers to override empty-state copy and icon

App transaction lists now show app-context messaging ('No transactions yet'
+ 'Payments made through this app will appear here.' with a ReceiptIcon)
instead of the wallet-specific lightning copy.

* chore(empty-state): drop unused 'none' variant

* chore(empty-state): default showButton to false

* chore(empty-state): drop showButton prop, derive from buttonText+buttonLink

* fix(empty-state): drop nested surface in app transactions card

Add 'none' variant and use it from AppTransactionList so the empty state
no longer renders a bg-muted box inside the already-bordered Card.

* fix(app-transactions): swap ReceiptIcon for ArrowDownUpIcon

ReceiptIcon renders a dollar sign — wrong for a bitcoin app.

* chore(empty-state): default variant to 'muted', CTA placeholders opt into 'dashed'

---------

Co-authored-by: Roland Bewick <roland.bewick@gmail.com>
2026-06-10 13:00:43 +07:00
Roland
8fc5cb25b4
chore: prevent committing worktrees (#2427) 2026-06-10 12:39:51 +07:00
René Aaron
d1636cbcce
fix: reduce wallet balance/transaction polling interval to 10s (#2425)
Some checks are pending
Multiplatform Docker build & push / build (push) Waiting to run
Code quality - linting and typechecking / linting (push) Waiting to run
Backend testing with Postgres / test-postgres (push) Waiting to run
* fix: reduce wallet balance/transaction polling interval to 10s

The wallet dashboard polls /api/balances and /api/transactions every 3s
via SWR refreshInterval. For hubs left open in a browser tab, this produces
a high, continuous volume of identical requests around the clock with little
UX benefit, since SWR already revalidates on window focus.

Raise the interval for the balances and transactions-list hooks to 10s. The
single-transaction hook (used while waiting for a specific invoice to settle)
is intentionally left at 3s, where fast updates matter and polling is
short-lived.

* refactor: drop poll-interval comments, rationale moved to PR
2026-06-09 20:52:40 +07:00