Vlad Stan
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
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
dni ⚡
2161b2511c
bundle
2024-04-05 11:00:45 +02:00
dni ⚡
1b2a9c54b6
feat: active state for manage menu items
...
closes #2190
2024-04-05 11:00:45 +02:00
dni ⚡
820882db28
refactor: use new fastapi lifespan instead of startup/shutdown events ( #2294 )
...
* refactor: use new fastapi lifespan instead of events
recommended use: https://fastapi.tiangolo.com/advanced/events/?h=lifespan
threw warnings in pytest
* make startup and shutdown functions
* nix: add override for asgi-lifespan
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
2024-04-05 07:05:26 +02:00
dni ⚡
d64239f1ad
fix: remove trailing slash from admin.js
...
fixing 307 requests making a request to `/settings/`
2024-04-04 08:55:18 +02:00
dni ⚡
e0b7d2f739
chore: adhere to ruff's C
( #2379 )
2024-04-03 17:56:05 +02:00
dni ⚡
c67fcf0e45
chore: adhere to ruff's A
...
dont use pythjons builts in functions name as variable
2024-04-02 17:11:06 +02:00
dni ⚡
ef6bc4c3ae
chore: typo in function name nofiy_upgrade
( #2383 )
...
small typo in ext manager
2024-04-02 08:38:12 +02:00
dni ⚡
4679d321de
test: remove warnings for TemplateResponse
( #2368 )
...
* test: remove warnings for `TemplateResponse`
removes warnings
```
tests/core/views/test_generic.py::test_core_views_generic
tests/core/views/test_generic.py::test_get_wallet_with_user_and_wallet
tests/core/views/test_generic.py::test_get_extensions
tests/core/views/test_public_api.py::test_core_views_generic
/home/dni/.cache/pypoetry/virtualenvs/lnbits-XeqO4Z-j-py3.10/lib/python3.10/site-packages/starlette/templating.py:178: DeprecationWarning: The `name` is not the first para
meter anymore. The first parameter should be the `Request` instance.
Replace `TemplateResponse(name, {"request": request})` by `TemplateResponse(request, name)`.
warnings.warn(
```
2024-03-29 12:22:14 +01:00
Pavol Rusnak
aaa6573272
simplify description in i18n ( #2356 )
...
* simplify description in i18n
so we do not have to always edit description when a new funding source is added
* chore: make bundle
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
2024-03-28 09:06:47 +01:00
dni ⚡
741ecac78b
feat: improve on api structure, add openapi tags ( #2295 )
...
this logically groups api endpoints and gioves them specific openapi tags. which makes them nice on the `/docs` endpoint and makes the `api.py` more approachable
* add wallets list endpoint
* remove trailing slashes from endpoints
* fixup topup url
* fix trailing slash on auth
* backwards compatibility
2024-03-28 08:59:28 +01:00
Tiago Vasconcelos
1dd096213e
v-text missing
2024-03-27 17:41:08 +01:00
dni ⚡
ed44244291
bug: show extensions in frontend had wrong boolean ( #2370 )
...
bugfix
2024-03-27 12:00:50 +01:00
dni ⚡
b9f0af0e79
feat: complete use of LNBITS_EXTENSIONS_DEACTIVATE_ALL
( #2341 )
...
- add to admin ui
- move to `ExtensionsSettings`
- hide left navbar when disabled
- do not register extension routes on startup
- do not check for installed extensions on startup
- reafctor into register_all_ext_routes
2024-03-26 11:44:33 +01:00
Gonçalo Valério
86821f4606
bug: When "expiry" is null, do not display "expiry" in payment details ( #2349 )
...
* Do not display expiry in payment details, when expiry is null
2024-03-26 10:46:30 +01:00
dni ⚡
0ef9c4db10
hotfix: initial currency conversion on balance ( #2346 )
...
* hotfix: initial currency conversion on balance
fiat amount not shown in balance on initial pageload, lets reintroduce the first fetch_balance to fix it.
maybe in the future balance call and wallet itself should give the current fiat value if the wallet uses fiat tracking
2024-03-26 10:41:36 +01:00
Vlad Stan
c101b85054
chore: add extra log to check-payments
command
2024-03-25 13:14:35 +02:00
Vlad Stan
fe3b00292a
feat: extra log ( #2360 )
2024-03-25 12:58:49 +02:00
Vlad Stan
10fe113099
feat: remove autofix ( #2359 )
2024-03-25 11:22:16 +01:00
Vlad Stan
1bf5f10f53
fix: exclude internal invoices from being settled
2024-03-25 11:35:21 +02:00
Vlad Stan
e2bbcaabbd
feat: add mark-payment-pending
command ( #2355 )
...
* feat: add `mark-payment-pending` command; add `--auto-fix` to `check-payments`
* chore: code format
* chore: code clean-up
2024-03-24 23:46:52 +02:00
Vlad Stan
4265915201
feat: add commands delete-walle
, delete-wallet-payment
and verbose
option, ( #2354 )
...
* feat: add `verbose` option
* feat: add `database_delete_wallet `
* feat: add `database_delete_wallet_payment`
2024-03-24 21:51:59 +02:00
Vlad Stan
7e3c511027
feat: add check_invalid_payments
command ( #2353 )
...
* feat: add `check_invalid_payments` command
* fix: str options to int
2024-03-24 19:11:30 +02:00
Arc
7783f34998
bug: wrong pending status ( #2352 )
2024-03-24 13:58:15 +01:00
dni ⚡
299228b7b5
feat: reduce initial requests on wallet page ( #2335 )
...
* feat: reduce initial request on wallet page
- refactor allowed_currencies into function to use in generic and api.
- remove currencies request in frontend move it to generic
- dont request balance on first payments fetch
2024-03-22 12:59:49 +01:00
dni ⚡
5b022e2ef3
feat: make route hints configurable for lndrest ( #2304 )
...
* feat: make route hints configurable for lndrest
boolean if route hints for private channels will be included from `LndRest` inside bolt11 invoice.
2024-03-22 12:45:39 +01:00
Pavol Rusnak
c8818f5774
remove CACHE_VERSION from service-worker.js ( #2342 )
...
use server_startup_time as the version
(the same trick we use for static files)
2024-03-22 12:33:42 +01:00
dni ⚡
1398857688
refactor: move registering of tasks into app.py
( #2290 )
...
* refactor: move registering of tasks into `app.py`
let the app have the responsibility to create the tasks not a helper function inside tasks.py.
makes it way easier to follow on how those background tasks are ran.
2024-03-22 12:29:05 +01:00
Gonçalo Valério
2a1505bc0d
bug: Fix regression. Admin-users and allowed-users can now be removed through the web interface ( #2331 )
...
* Fix regression. Admin-users and allowed-users can now be removed through the web interface
* remove raw usage from user tab on server admin
2024-03-22 07:26:25 +01:00
dni ⚡
4bba6ecc82
hotfix: qrcode broke wallet.html ( #2340 )
...
introduced by 43a79744
2024-03-21 17:39:12 +01:00
dni ⚡
c03b81d2ea
refactor: tiny url to use require decorators and wallet.id
( #2338 )
...
- also use `wallet.wallet.id` as key instead of `wallet.wallet.inkey`
2024-03-21 13:32:55 +01:00
arbadacarba
43a797444a
recover user for export-to-phone
2024-03-21 13:14:28 +01:00
dni ⚡
d0cb961b49
bug: wallet page fetchbalance ran twice
...
there is a listener on payments which executes fetchbalance automatically if payments change. line 822
2024-03-21 13:13:33 +01:00
Arc
d208e68885
feat: added home button on error page ( #2330 )
...
* Added redirect on error page if user id not present as users keep getting stuck
2024-03-21 12:24:38 +01:00
dni ⚡
8dcb53aea0
chore: keychecker todo remove type ignores ( #2337 )
...
fixes a comment `TODO`
2024-03-21 11:36:01 +01:00
dni ⚡
17839f6a25
feat: add database debug env var ( #2333 )
...
* feat: add database debug env var
makes it visible what db actions happen
2024-03-21 09:59:17 +01:00
dni ⚡
e4d3faefa0
feat: create_unique_task helper ( #2292 )
...
this is especially useful for extension.
with this an extension can only call `create_permanent_unique_task("my-ext", task)` and it will restarted when it exists and cancels when lnbits is stopped
2024-03-18 13:02:04 +00:00
Wim van der Ham
116ca7f011
Remove all {% raw %} usage ( #2318 )
...
* Remove raw from templates
* Remove v-text from q-tooltip
* extension buttons
* Move more to spans
* Reformatted
---------
Co-authored-by: Tiago Vasconcelos <talvasconcelos@gmail.com>
2024-03-15 11:10:52 +01:00
Vlad Stan
d44339b018
fix: pending property for PaymentStatus ( #2324 )
...
* fix: pending property for PaymentStatus
* fix: invoice status
* fix: check pending status from the payment details
* refactor: make condition more explicit
2024-03-14 14:38:10 +02:00
Vlad Stan
352fd23c0b
refactor: dev-friendly payment status name ( #2322 )
...
* refactor: dev-friendly payment status name
* refactor: change `PaymentStatus(True, ...)` to `PaymentSuccessStatus(...)`
2024-03-13 16:17:33 +01:00
Vlad Stan
65b8868c36
fix: enforce order of payments ( #2313 )
...
* fix: enforce order of payments
* fix: do not return wallet by key if the wallet is deleted
2024-03-12 15:31:40 +02:00
dni ⚡
54dec171f9
fix: raise failed request to not run mark_webhook_sent
( #2289 )
...
* fix: webhook sent raise a failed request
is not raised even failed webhook would be marked is sent
* add warn log
* fix error
* improve exceptions
* fixup!
* ConnectError is already captured by RequestError
https://www.python-httpx.org/exceptions/
* log exception
2024-03-12 15:12:24 +02:00
Vlad Stan
5b4398911a
fix: check if key present in settings
before updating ( #2306 )
2024-03-12 13:03:11 +00:00
callebtc
4c0bd132b1
bug: cln paymentstate check on error ( #2151 )
...
* CLN: paymentstate check on error
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
2024-03-12 13:56:36 +01:00
dni ⚡
7ce4eddb0e
feat: add group_by to fetch_page ( #2140 )
...
---------
Co-authored-by: Pavol Rusnak <pavol@rusnak.io>
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
2024-03-12 13:55:38 +01:00
callebtc
14519135d8
Fix: LNbits backend payent state ( #2187 )
2024-03-12 13:43:41 +01:00
dni ⚡
16cb1a8026
fix: lnbits funding source ( #2319 )
...
fix a bug where payments are deleted
2024-03-12 11:28:42 +01:00
Pavol Rusnak
3e341a3555
update black to 24.2.0 and ruff to 0.3.0 ( #2307 )
...
Co-authored-by: Arc <33088785+arcbtc@users.noreply.github.com>
2024-03-07 09:55:37 +00:00
Vlad Stan
cb5c9b03bf
Fix login logout on safari ( #2309 )
...
* fix: relax security level for public cookies
* fix: corner case for logout
2024-03-07 09:22:42 +00:00