Vlad Stan and GitHub
f6c8a308dc
feat: create new user from the command line ( #3098 )
2025-04-09 14:01:34 +02:00
Vlad Stan and GitHub
1058461882
fix: include node balance in server status ( #3079 )
2025-04-02 15:31:47 +03:00
Vlad Stan and GitHub
3a7a88857a
fix: missing label ( #3081 )
2025-04-02 14:51:15 +03:00
Vlad Stan and GitHub
6834b5e00f
feat: do not allow regular admins to edit super user ( #3077 )
2025-04-01 14:01:02 +03:00
Vlad Stan and GitHub
10093bb465
feat: show wallet payments on search ( #3076 )
2025-04-01 12:41:10 +02:00
Vlad Stan and GitHub
bafb4ddf75
fix: allow admin to view payments in deleted wallets ( #3074 )
2025-03-31 17:18:32 +03:00
Vlad Stan and GitHub
aa050eaf49
fix: make parallel calls for exchages ( #3073 )
2025-03-31 14:44:36 +03:00
Vlad Stan and GitHub
b185d9585c
fix: add default extensions when a user is created ( #3061 )
2025-03-22 23:54:15 +00:00
Vlad Stan and GitHub
b8a5f3942c
[fix] limit the size of the invoice description to 640 characters ( #3045 )
2025-03-12 16:29:29 +02:00
Vlad Stan and GitHub
ebd080192c
feat: return payment status in the websocket response ( #3025 )
2025-03-10 12:48:40 +02:00
Vlad Stan and GitHub
9bd037b6e7
[fix] settings cleanup ( #3013 )
2025-03-04 16:30:54 +02:00
Vlad Stan and GitHub
ec77a00f49
feat: only check the current page ( #3015 )
2025-03-03 16:28:55 +02:00
Vlad Stan and GitHub
4ce14e2312
fix: rate lmitter init ( #3011 )
2025-02-28 12:50:50 +01:00
Vlad Stan and GitHub
ebe9ff700f
[fix] admin errors ( #3004 )
2025-02-27 11:00:15 +02:00
Vlad Stan and GitHub
048aff3db4
[fix]: various issues discovered during testing ( #3002 )
...
* fix: prevent invalid calls to exchange APIs
* fix: audit conditions
* fix: audit filtering
2025-02-27 07:45:29 +01:00
5aa1f9b0f8
[feat] filter payments in wallet ( #2997 )
...
* fix: search payments
* fix rogue button
* feat: UI polishing
* feat: better charts
---------
Co-authored-by: Tiago Vasconcelos <talvasconcelos@gmail.com >
2025-02-26 11:34:57 +01:00
Vlad Stan and GitHub
30cf6913af
[feat]: invoice amount settings ( #2990 )
2025-02-24 14:45:17 +02:00
Vlad Stan and GitHub
9fe63b49d6
feat: add normalize_path helper ( #2981 )
2025-02-21 11:04:19 +02:00
Vlad Stan and GitHub
d1692a18dd
fix: extract tag from extra ( #2977 )
2025-02-18 10:11:56 +02:00
Vlad Stan
0305d740ee
feat: update LNBITS_SITE_TAGLINE
2025-02-18 09:35:28 +02:00
Vlad Stan and GitHub
1e083856ed
fix: nostr login ( #2975 )
2025-02-17 16:18:04 +02:00
Vlad Stan and GitHub
c08623277e
Chart polish ( #2973 )
2025-02-17 14:30:16 +02:00
Vlad Stan and GitHub
60de308c8f
fix: logout on safari ( #2971 )
2025-02-17 12:07:02 +02:00
Vlad Stan and GitHub
0912d7d1c8
fix: wallet url ( #2961 )
2025-02-13 22:54:28 +02:00
Vlad Stan and GitHub
bfa23568e3
[fix] callback url validation ( #2959 )
2025-02-13 15:11:46 +02:00
Vlad Stan and GitHub
b76d8b5458
fix: keep upgrades out of codebase ( #2957 )
...
* fix: keep upgrades out of codebase
* chore: code format
2025-02-12 13:31:53 +00:00
Vlad Stan and GitHub
16fbfd1c6f
Fix: date grouping for older SQLite versions ( #2955 )
2025-02-12 13:23:38 +02:00
Vlad Stan and GitHub
2d41a1bed3
Wallet polish ( #2942 )
2025-02-11 15:19:41 +02:00
Vlad Stan and GitHub
69350849b1
[fix] small fixes for ext upgrades ( #2941 )
2025-02-10 10:52:22 +02:00
Vlad Stan and GitHub
828261d696
[fix]: small fixes v1 on demo DB ( #2940 )
2025-02-10 10:25:33 +02:00
Vlad Stan and GitHub
a8809ed5a4
feat: migrate in chunks ( #2936 )
2025-02-07 14:16:53 +02:00
Vlad Stan
c1d26bb274
fix: email check
2025-02-06 11:57:01 +02:00
Vlad Stan
b24a65cf2a
doc: move security config at the top
2025-02-04 15:32:37 +02:00
Vlad Stan and GitHub
7af9da4a58
fix: convert BigDecimal object to int (postgres only) ( #2918 )
2025-01-30 10:09:13 +02:00
Vlad Stan and GitHub
f845bfe651
feat: do not allow user_id_only login for admins ( #2904 )
2025-01-23 15:01:54 +02:00
Vlad Stan and GitHub
b6bdf50ed7
[feat] Watchdog and notifications ( #2895 )
2025-01-23 13:23:09 +02:00
Vlad Stan and GitHub
56a4b702f3
fix: multiple ws connections ( #2907 )
2025-01-23 13:05:35 +02:00
Vlad Stan and GitHub
b164317121
[feat] access control lists (with access tokens) ( #2864 )
2025-01-16 17:25:27 +02:00
Vlad Stan
16c78f1901
fix: websocket prefix
2025-01-16 14:19:26 +02:00
Vlad Stan and GitHub
f17ff3d12b
fix: set default values ( #2854 )
2024-12-19 10:08:34 +02:00
Vlad Stan and GitHub
32c042741d
fix: backwards compatible ( #2853 )
2024-12-19 09:50:52 +02:00
Vlad Stan and GitHub
27241e01f3
[feat] introduce max_lnbits_version for extensions ( #2834 )
...
* feat: add `max_lnbits_version`
* fix: min/max lables
* chore: `make bundle`
* refactor: extract `is_version_compatible_with_lnbits`
* refactor: rename method
2024-12-16 17:41:36 +02:00
Vlad Stan and GitHub
b81b30c896
[feat] update multiple extensions from the UI ( #2833 )
...
* feat: add `Update` button
* feat: select all updatable extensions
* feat: dialog improvements
* fix: bad logging and permissions
2024-12-16 13:54:49 +01:00
Vlad Stan and GitHub
36dbdaa159
feat: return the price with the fiat rate ( #2823 )
...
* feat: return the price with the fiat rate
* fix: not supported currencies
2024-12-13 13:42:39 +01:00
Vlad Stan and GitHub
524a4c9213
[feat] custom exchange providers ( #2797 )
2024-12-13 14:01:54 +02:00
Vlad Stan and GitHub
826f8ad2ac
fix: ext upgrade from lnbits-cli ( #2822 )
2024-12-12 15:18:03 +02:00
Vlad Stan and GitHub
80ac158ca0
fix: extension init ( #2815 )
2024-12-11 13:49:12 +02:00
Vlad Stan and GitHub
fa71219ce7
[fix] wallet search on postgres ( #2780 )
...
* fix: wallet search for postgres
* reformat: make it easier to read
2024-12-09 12:16:34 +01:00
Vlad Stan and GitHub
0547abe54a
[feat] install extensions from dir ( #2781 )
...
* feat: search ext dir and install
* fix: `upgrade_hash` logic
* chore: clean-up `upgrade_hash` logic
* fix: screen refresh
* fix: ignore non-ext dirs
* fix: ext migration
2024-11-28 11:51:29 +01:00
Vlad Stan and GitHub
fa8d7c665b
Feat: audit ( #2779 )
2024-11-27 13:06:35 +02:00
Vlad Stan and GitHub
af568d0f31
feat: improve user admin ( #2777 )
2024-11-19 10:33:57 +02:00
Vlad Stan and GitHub
8c5c455f1c
fix: ext upgrade ( #2776 )
2024-11-13 13:00:05 +02:00
Vlad Stan
bbae4a01c1
fix: remove release candidate suffix
2024-11-13 10:59:27 +02:00
Vlad Stan and GitHub
edfd297bf3
refactor: simplify condition ( #2775 )
2024-11-13 10:28:46 +02:00
Vlad Stan and GitHub
09b1623bb0
feat: let user filter its own extensions ( #2774 )
2024-11-12 15:17:05 +02:00
Vlad Stan and GitHub
fa18170ed7
fix: extension name and icon ( #2771 )
2024-11-12 10:34:45 +02:00
Vlad Stan and GitHub
3eece03715
fix: vue3 changes ( #2770 )
2024-11-12 10:01:33 +02:00
Vlad Stan and GitHub
dd972e2aaa
[ui] update settings UI ( #2767 )
2024-11-08 10:15:56 +02:00
Vlad Stan and GitHub
ec9ad9f940
refactor: make settings key-value in DB ( #2766 )
2024-11-08 10:06:21 +02:00
Vlad Stan and GitHub
aced333c0b
fix: check the settings for extension installed ( #2764 )
2024-11-06 12:07:12 +02:00
Vlad Stan and GitHub
ba5f79da2d
refactor: extract models ( #2759 )
2024-11-05 13:26:12 +02:00
Vlad Stan and GitHub
2fa0a3c995
fix: v1 left over ( #2757 )
2024-10-31 15:49:55 +02:00
Vlad Stan and GitHub
1dddc9e7f0
fix: handle list models ( #2756 )
2024-10-31 14:21:23 +02:00
Vlad Stan and GitHub
ae4eda04ba
test: more payment tests ( #2738 )
...
* test: pay_invoice
2024-10-17 10:27:36 +02:00
Vlad Stan and GitHub
13f2dd732f
fix: await retry ( #2739 )
2024-10-16 11:09:45 +02:00
Vlad Stan and GitHub
3b503eaa8a
feat: add server status endpoin ( #2736 )
2024-10-15 14:53:49 +03:00
Vlad Stan and GitHub
a58deff70c
feat: block pay invoice ( #2727 )
2024-10-01 17:17:42 +03:00
0b8da2b524
[feat] Nostr Login ( #2703 )
...
---------
Co-authored-by: dni ⚡ <office@dnilabs.com >
2024-09-30 13:53:38 +02:00
Vlad Stan and GitHub
04882e05a3
chore: update some log messages ( #2710 )
2024-09-25 11:22:00 +03:00
Vlad Stan and GitHub
5f4f1288d7
Fix overlapping redirect paths ( #2671 )
2024-09-11 12:41:37 +03:00
80e7b9639d
feat: filter response fields for /api/v1/payments/decode ( #2612 )
...
* feat: filter response fields
* chore: `make format`
* chore: comment
* Update lnbits/helpers.py
Co-authored-by: Pavol Rusnak <pavol@rusnak.io >
* Update lnbits/helpers.py
Co-authored-by: Pavol Rusnak <pavol@rusnak.io >
* chore: code format
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io >
2024-07-31 14:36:42 +03:00
7d1e22c7de
fix: always create default wallet for user ( #2580 )
...
* fix: always create default wallet for user
* no assert in api
---------
Co-authored-by: dni ⚡ <office@dnilabs.com >
2024-07-15 13:34:26 +03:00
Vlad Stan and GitHub
b2564154cd
[feat] add default_user_extensions setting ( #2571 )
...
* feat: add `lnbits_user_default_extensions` to `settings`
* refactor: extract `create_user_account` in services
* feat: auto enable user extensions
2024-07-09 13:55:05 +01:00
Vlad Stan and GitHub
fb17611207
[feat] add authenticated_user_id decorator ( #2566 )
...
* feat: add `optional_user_id` decorator
2024-07-04 17:24:20 +03:00
Vlad Stan and GitHub
eacdd432b2
[feat] Extension details page ( #2544 )
...
* feat: add empty dialog
* feat: add `details_link` field for extension
* feat: show info icon if `details_link` present
* feat: add extension details endpoint
* feat: first details page
* feat: carousel working
* feat: full screen
* fix: layout
* fix: repo site
* fix: release icon
* fix: repo link
* feat: terms and conditions partial
* chore: fix typing
* fix: info icon layout
* chore: add try-catch
* feat: layout improvements
* feat: add video link
* fix: show terms and conditions
* chore: code format
* feat: add `details_link`
* fix: github release details
* feat: add close button
* chore: code clean-up
* chore: revert some changes
* feat: i18n
* chore: `make bundle`
* chore: make bundle
* feat: terms and conditions is a link now
2024-06-19 11:52:18 +01:00
d72cf40439
[feat] Pay to enable extension ( #2516 )
...
* feat: add payment tab
* feat: add buttons
* feat: persist `pay to enable` changes
* fix: do not disable extension on upgrade
* fix: show releases tab first
* feat: extract `enableExtension` logic
* refactor: rename routes
* feat: show dialog for paying extension
* feat: create invoice to enable
* refactor: extract enable/disable extension logic
* feat: add extra info to UserExtensions
* feat: check payment for extension enable
* fix: parsing
* feat: admins must not pay
* fix: code checks
* fix: test
* refactor: extract extension activate/deactivate to the `api` side
* feat: add `get_user_extensions `
* feat: return explicit `requiresPayment`
* feat: add `isPaymentRequired` to extension list
* fix: `paid_to_enable` status
* fix: ui layout
* feat: show QR Code
* feat: wait for invoice to be paid
* test: removed deprecated test and dead code
* feat: add re-check button
* refactor: rename paths for endpoints
* feat: i18n
* feat: add `{"success": True}`
* test: fix listener
* fix: rebase errors
* chore: update bundle
* fix: return error status code for the HTML error pages
* fix: active extension loading from file system
* chore: temp commit
* fix: premature optimisation
* chore: make check
* refactor: remove extracted logic
* chore: code format
* fix: enable by default after install
* fix: use `discard` instead of `remove` for `set`
* chore: code format
* fix: better error code
* fix: check for stop function before invoking
* feat: check if the wallet belongs to the admin user
* refactor: return 402 Requires Payment
* chore: more typing
* chore: temp checkout different branch for tests
* fix: too much typing
* fix: remove try-except
* fix: typo
* fix: manual format
* fix: merge issue
* remove this line
---------
Co-authored-by: dni ⚡ <office@dnilabs.com >
2024-05-28 12:07:33 +01:00
Vlad Stan and GitHub
7c68a02eee
[feat] Check payment tag ( #2522 )
...
* feat: check if the payment is made for an extension that the user disabed
2024-05-24 17:24:59 +03:00
Vlad Stan and GitHub
93965bc5b6
[test] webpush_api endpoints ( #2534 )
...
* test: webpush_api endpoints
* fix: SQL quote for `user`
2024-05-23 23:23:32 +02:00
Vlad Stan and GitHub
ae60b4517c
[fix] SQL error for create webpush notification ( #2533 )
...
* fix: replace all SQL `user = ?` with `"user"" = ?`
* fix: surround with try-catch
* fix: bad double quote
2024-05-23 10:16:00 +02:00
Vlad Stan and GitHub
07f0dc80f8
[fix] editable fields with default=None must be Optional ( #2530 )
...
* fix: optional fields
* fix: bad uppercase field
2024-05-22 14:03:52 +01:00
Vlad Stan and dni ⚡
44b458ebb8
[fix] check user extension access ( #2519 )
...
* feat: check user extension access
* fix: handle upgraded extensions
2024-05-22 11:10:35 +02:00
Vlad Stan
d4da96597e
chore: project version bump
2024-05-22 12:04:56 +03:00
Vlad Stan and GitHub
6a0b645316
hotfix: check for lnbits_site_description setting ( #2527 )
...
* fix: make `lnbits_site_description` optional again
2024-05-22 10:53:34 +02:00
b84161c49d
[chore] Update legend to demo ( #2505 )
...
* fix: update `legend.lnbits.com` to `demo.lnbits.com`
* Update docs/guide/admin_ui.md
* fix: docker image name
* fix: donation links
---------
Co-authored-by: dni ⚡ <office@dnilabs.com >
2024-05-16 10:05:22 +02:00
Vlad Stan and GitHub
5114bd4a47
fix: link to demo server
2024-05-15 11:57:24 +03:00
Vlad Stan and GitHub
f37cb6481c
fix: copy invoice ( #2500 )
...
* fix: copy invoice
* chore: add mixins
* chore: make bundle
2024-05-14 17:55:45 +02:00
Vlad Stan and GitHub
d1ae531750
fix: add methods back ( #2495 )
2024-05-14 13:48:33 +02:00
Vlad Stan and GitHub
9f8942a921
chore: sort funding sources ( #2489 )
2024-05-10 17:45:51 +02:00
eae5002b69
fix: pay invoice status ( #2481 )
...
* fix: rest `pay_invoice` pending instead of failed
* fix: rpc `pay_invoice` pending instead of failed
* fix: return "failed" value for payment
* fix: handle failed status for LNbits funding source
* chore: `phoenixd` todo
* test: fix condition
* fix: wait for payment status to be updated
* fix: fail payment when explicit status provided
---------
Co-authored-by: dni ⚡ <office@dnilabs.com >
2024-05-10 11:49:50 +02:00
Vlad Stan and GitHub
b2ff2d8cee
[test] add tests for lnbits funding source ( #2460 )
2024-04-24 09:31:23 +03:00
Vlad Stan and GitHub
8d3b156738
[test] add tests for eclair funding source ( #2459 )
...
* fix: test data
* test: add `status` tests
* refactor: try-catch
* test: create invoice tests
* test: add first `payinvoice` test
* test: add pay_invoice error test
* feat: allow more test options
* test: add pending tests
* fix: make check
* test: add, pending no fee
* fix: make consistent with other API calls
* test: more assertions
* test: add pending
* test: first payment status test
* test: pending status
* refactor: remove duplicate code
* refactor: rename field
* chore: code format
* chore: uniform
2024-04-23 16:18:52 +01:00
Vlad Stan and GitHub
4ac30116a9
feat: add settings.lnbits_running ( #2450 )
...
* feat: add `settings.lnbits_runing `
2024-04-22 12:33:53 +03:00
Vlad Stan and GitHub
67fdb77339
test: unit tests for lndrpc ( #2442 )
2024-04-19 13:21:21 +02:00
69ce0e565b
[test] create unit-test framework for RPC wallets ( #2396 )
...
---------
Co-authored-by: dni ⚡ <office@dnilabs.com >
2024-04-15 17:24:28 +02:00
Vlad Stan and GitHub
e8479941c8
fix: check installed extensions, not available ones ( #2413 )
2024-04-15 10:21:15 +03:00
adb8f9bdec
feat: add funding_source_max_retries env setting ( #2404 )
...
* feat: add `funding_source_max_retries` env setting
* feat: default to zero retries
* feat: exponential retry time increase
* chore: Let's use the same value as the default
Co-authored-by: Pavol Rusnak <pavol@rusnak.io >
* feat: using 0.25 leads to less awkward numbers
Co-authored-by: Pavol Rusnak <pavol@rusnak.io >
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io >
2024-04-11 17:29:25 +01:00
Vlad Stan and GitHub
ea58b51619
test: add tests for alby ( #2390 )
...
* test: initial commit
* chore: code format
* fix: comment out bad `status.pending` (to be fixed in core)
* fix: 404 tests
* test: extract first `create_invoice` test
* chore: reminder
* add: error test
* chore: experiment
* feat: adapt parsing
* refactor: data structure
* fix: some tests
* fix: make response uniform
* fix: test data
* chore: clean-up
* fix: uniform responses
* fix: user agent
* fix: user agent
* fix: user-agent again
* test: add `with error` test
* feat: customize test name
* fix: better exception handling for `status`
* fix: add `try-catch` for `raise_for_status`
* test: with no mocks
* chore: clean-up generalized tests
* chore: code format
* chore: code format
* chore: remove extracted tests
* test: add `create_invoice`: error test
* add: test for `create_invoice` with http 404
* test: extract `test_pay_invoice_ok`
* test: extract `test_pay_invoice_error_response`
* test: extract `test_pay_invoice_http_404`
* test: add "missing data"
* test: add `bad-json`
* test: add `no mocks` for `create_invoice`
* test: add `no mocks` for `pay_invoice`
* test: add `bad json` tests
* chore: re-order tests
* test: add `missing data` test for `pay_imvoice`
* chore: re-order tests
* test: add `success` test for `get_invoice_status `
* feat: update test structure
* test: new status
* test: add more test
* chore: code clean-up
* test: add success test for `get_payment_status `
* test: add `pending` tests for `check_payment_status`
* chore: remove extracted tests
* test: add more tests
* test: add `no mocks` test
* fix: funding source loading
* refactor: start to extract data model
* chore: final clean-up
* chore: rename file
* test: add tests for alby
* refactor: `KeyError` handling
* chore: log error
* chore: skip the negative fee test
* fix: error message fetching
2024-04-08 13:26:00 +03:00
Vlad Stan and GitHub
bfda0b62da
test: add unit tests for wallets (funding sources) ( #2363 )
...
* test: initial commit
* feat: allow external label for `create_invoice` (useful for testing)
* chore: code format
* fix: ignore temp coverage files
* feat: add properties to the Status classes for a better readability
* fix: add extra validation for data
* fix: comment out bad `status.pending` (to be fixed in core)
* fix: 404 tests
* test: first draft of generic rest wallet tests
* test: migrate two more tests
* feat: add response type
* feat: test exceptions
* test: extract first `create_invoice` test
* chore: reminder
* add: error test
* chore: code format
* chore: experiment
* feat: adapt parsing
* refactor: data structure
* fix: some tests
* refactor: extract methods
* fix: make response uniform
* fix: test data
* chore: clean-up
* fix: uniform responses
* fix: user agent
* fix: user agent
* fix: user-agent again
* test: add `with error` test
* feat: customize test name
* fix: better exception handling for `status`
* fix: add `try-catch` for `raise_for_status`
* test: with no mocks
* chore: clean-up generalized tests
* chore: code format
* chore: code format
* chore: remove extracted tests
* test: add `create_invoice`: error test
* add: test for `create_invoice` with http 404
* test: extract `test_pay_invoice_ok`
* test: extract `test_pay_invoice_error_response`
* test: extract `test_pay_invoice_http_404`
* test: add "missing data"
* test: add `bad-json`
* test: add `no mocks` for `create_invoice`
* test: add `no mocks` for `pay_invoice`
* test: add `bad json` tests
* chore: re-order tests
* fix: response type
* test: add `missing data` test for `pay_imvoice`
* chore: re-order tests
* test: add `success` test for `get_invoice_status `
* feat: update test structure
* test: new status
* test: add more test
* fix: error handling
* chore: code clean-up
* test: add success test for `get_payment_status `
* test: add `pending` tests for `check_payment_status`
* chore: remove extracted tests
* test: add more tests
* test: add `no mocks` test
* fix: funding source loading
* refactor: extract `rest_wallet_fixtures_from_json` function
* chore: update comment
* feat: cover `cleanup` call also
* chore: code format
* refactor: start to extract data model
* refactor: extract mock class
* fix: typings
* refactor: improve typings
* chore: add some documentation
* chore: final clean-up
* chore: rename file
* chore: `poetry add --dev pytest_httpserver` (after rebase)
2024-04-08 12:18:21 +03:00
Vlad Stan and GitHub
9b5bb1b07a
[test] add jmeter tests to install and enable all vetted extensions ( #2371 )
...
* test: initial commit
* feat: allow excluding of certain releases
* test: activate and enable
* fix: title indexes
* chore: remove disabled element
* test: skip `cashu` too many DB errors
* chore: improve logs
* chore: test logs
* chore: logs
* fix: condition
* fix: condition harder
* test: disable some listeners
* fix: remove hanging element
* fix: multiple reports with: `-m 1, --max-count, stop reading a file after 1 matching line`
* chore: test that github actions still detect failures
* Revert "chore: test that github actions still detect failures"
This reverts commit a6769c5fd1 .
2024-03-28 10:22:39 +01:00
Vlad Stan
c101b85054
chore: add extra log to check-payments command
2024-03-25 13:14:35 +02:00