* [FEAT] cleanup GET /wallet endpoint, add wallet api route
this removes the functionalitiy to create accounts and wallets via
the GET /wallet endpoint in generic.py
it add endpoints inside the api.py for it and the frontend is modified to use the api endpoints
this also simplifies for the `feat/login` for the route.
* remove stale generic tests and add api tests
* bug wrong endpoint create account
* vlad nitpick
* added checkif deleted is 404
* reload after renaming wallet
* another iteration with vlad
* create new wallet if it none exist
* fix delete refresh
* formatting
* [FEAT] Node Managment
feat: node dashboard channels and transactions
fix: update channel variables
better types
refactor ui
add onchain balances and backend_name
mock values for fake wallet
remove app tab
start implementing peers and channel management
peer and channel management
implement channel closing
add channel states, better errors
seperate payments and invoices on transactions tab
display total channel balance
feat: optional public page
feat: show node address
fix: port conversion
feat: details dialog on transactions
fix: peer info without alias
fix: rename channel balances
small improvements to channels tab
feat: pagination on transactions tab
test caching transactions
refactor: move WALLET into wallets module
fix: backwards compatibility
refactor: move get_node_class to nodes modules
post merge bundle fundle
feat: disconnect peer
feat: initial lnd support
only use filtered channels for total balance
adjust closing logic
add basic node tests
add setting for disabling transactions tab
revert unnecessary changes
add tests for invoices and payments
improve payment and invoice implementations
the previously used invoice fixture has a session scope, but a new invoice is required
tests and bug fixes for channels api
use query instead of body in channel delete
delete requests should generally not use a body
take node id through path instead of body for delete endpoint
add peer management tests
more tests for errors
improve error handling
rename id and pubkey to peer_id for consistency
remove dead code
fix http status codes
make cache keys safer
cache node public info
comments for node settings
rename node prop in frontend
adjust tests to new status codes
cln: use amount_msat instead of value for onchain balance
turn transactions tab off by default
enable transactions in tests
only allow super user to create or delete
fix prop name in admin navbar
---------
Co-authored-by: jacksn <jkranawetter05@gmail.com>
* F541 fix
remove unused workflow and combine linters into one
add lnbits/static to ruff ignore
remote setupnode
ignore upgrades for mypy
ignore F401 for __init__ files
unused noqa
ignore upgrades for black
F821: undefine name
disabled and logged webhook_listener for opennode and lnpay because they are obvisouly not working
E402: module level import not at top of file
fixup
revert breaking changes wait for PR #1876https://github.com/lnbits/lnbits/pull/1876
E721 fixes, only popped up for python3.9 not 3.10
[REFACTOR] core/__init__ to not have circular import issues
WIP
add db for backwards compat
fix pyright
make mypy happy again
pyright did not catch those, i think mypy got confused with relative imports. maybe we should use absolute ones everywhere
E402: module level import not at top of file
dont forget to add core_app
rebase on ruff pr
f
remo
format
* fix clnrest
* ignore E402 in conftest
* refactoring issues
---------
Co-authored-by: jacksn <jkranawetter05@gmail.com>
* push notification integration into core
added missing component
fixed bell working on all pages
- made pubkey global template env var
- had to move `get_push_notification_pubkey` to `helpers.py` because of circular reference with `tasks.py`
formay
trying to fix mypy
added py-vapid to requirements
Trying to fix stub mypy issue
* removed key files
* webpush key pair is saved in db `webpush_settings`
* removed lnaddress extension changes
* support for multi user account subscriptions, subscriptions are stored user based
fixed syntax error
fixed syntax error
removed unused line
* fixed subscribed user storage with local storage, no get request required
* method is singular now
* cleanup unsubscribed or expired push subscriptions
fixed flake8 errors
fixed poetry errors
* updating to latest lnbits
formatting, rebase error
fix
* remove unused?
* revert
* relock
* remove
* do not create settings table use adminsettings
mypy
fix
* cleanup old code
* catch case when client tries to recreate existing webpush subscription e.g. on cleared local storage
* show notification bell on user related pages only
* use local storage with one key like array, some refactoring
* fixed crud import
* fixed too long line
* removed unused imports
* ruff
* make webpush editable
* fixed privkey encoding
* fix ruff
* fix migration
---------
Co-authored-by: schneimi <admin@schneimi.de>
Co-authored-by: schneimi <dev@schneimi.de>
Co-authored-by: dni ⚡ <office@dnilabs.com>
* feat: limit number of available fiat currencies
* feat: Add allowed currency selector to Admin UI
* motorinas suggestions
---------
Co-authored-by: dni ⚡ <office@dnilabs.com>
* Merged extensions into one page
* Bundle files updated
* Fixed install bug
* feat: client side version compatibility check
* fix: hide `Activated/Deactivated` toggle for non-admins
* feat: translate labels to `EN`
* feat: add other language translations
* chore: update bundle for i18n
* feat: check extension version server-side
* feat: show warning message
* refactor: nicer mapping
Co-authored-by: dni ⚡ <office@dnilabs.com>
* chore: code format
* chore: extra log
* feat: check_latest_version of ext
* feat: show tooltip for new version
* chore: `make bundle`
* chore: `mypy`
* chore: code clean-up
* feat: show version in badge (spacing is fine)
* chore: make bundle
* feat: check `min_lnbits_version` and `warning` in `config.json`
* chore: code formatting
* chore: downgrade log level
* fix: extract `ExtensionsInstallSettings` as readonly
* fix: do not show installed and deactivated extensions
* chore: format
* fix: `Enable` button tooltip
* fix: set installed release after installation
* fix: hide deactivated extensions from regular users
* bundle fundle
* bundle fundle
---------
Co-authored-by: Vlad Stan <stan.v.vlad@gmail.com>
Co-authored-by: dni ⚡ <office@dnilabs.com>
* fix: temp create account for `super_user_id` if missing
* chore: remove dumb import
* refactor: move logic outside `crud`
* feat: add uuid4 conversion
* fix: require valid string in .env file
* fix: update the `settings.super_user` value in case or normalisation for UUID4
* fix: allow long super_user
* chore: code format
* fix: add UI redirect with the normalized user
* fix: normalize `super_user` up one level
* fix: should normalize user in non-ui mode also