Commit graph

7744 commits

Author SHA1 Message Date
nicolas.dorier
66d8dda0f5
Timespan in API should be parsed with invariant culture 2024-07-11 21:41:19 +09:00
d11n
25ae6df095
Greenfield: Add file endpoints and upload (#6075)
* Greenfield: Add file endpoints and upload

- Endpoints for server files
- File upload using `multipart/form-data`

Closes #6074.

Can also be tested using cURL:

- `curl --location 'https://localhost:14142/api/v1/files' --header 'Authorization: token MY_API_TOKEN' --form 'file=@"LOCAL_FILEPATH"'`
- `curl --location 'https://localhost:14142/api/v1/users/me/picture' --header 'Authorization: token MY_API_TOKEN' --form 'file=@"LOCAL_FILEPATH"'`

* Revert UnresolvedUri changes

* Add upload for store logo
2024-07-11 09:28:24 +09:00
d11n
249b991185
Checkout: Display description if present (#6082)
This is mostly for the POS, where either an individual item title might be the description, or in case of the cart and keypad, the name of the app will be displayed. The description is omitted if it matches the store name, to avoid duplicate titles.

Closes #5023.
2024-07-11 00:14:18 +09:00
d11n
bc6d037341
POS: Improve padding on mobile and unify card look with tiles (#6088)
On mobile, the description content was lacking horizontal padding. This adjusts it while also unifying the cards to work like the tiles on checkout: Below 400px width, we pull the to the edges of the screen, which makes it looks nicer and display better than as if they'd also have an outer margin.

Adjustments take effect on all POS view variants.
2024-07-11 00:12:58 +09:00
d11n
a4a1fa0746
Greenfield: Add store id for notifications (#6093)
* Rename filter to storeid for consistency with other filters

* Greenfield: Add storeId to notification

* Cleanups

* Greenfield: Allow filtering notifications by store id
2024-07-11 00:12:22 +09:00
d11n
d73e26e0c4
Fix null pointer exception on receipt print page (#6045) (#6085) 2024-07-11 00:11:04 +09:00
Nicolas Dorier
372688b723
Disable plugins if they crash the Dashboard page (#6099) 2024-07-11 00:09:54 +09:00
d11n
a5ab68ab02
Greenfield: Fix missing delete app policy (#6098) 2024-07-10 22:50:32 +09:00
d11n
e7297ce6b8
Truncate Center Component: Fix Vue rendering (#6087)
* Truncate Center Component: Fix Vue rendering

* Simplify the TruncateCenter component

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-07-10 11:00:49 +02:00
d11n
a88b39e50d
Fix missing normalization of Settled invoice status (#6097)
Addition to #5982, which fixes lookups for invoices with status `Settled` (e.g. for Sales tiles on the Dashboard).
2024-07-10 15:33:48 +09:00
Andrew Camilleri
a0988c250d
Handle LNURL Payouts failing due to amount restriction (#6061)
* Handle LNURL payouts better when amount is not allowee

* docker-compose: Add missing restart for merchant CLN container

* show sats not msats

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2024-07-10 11:05:25 +09:00
Nicolas Dorier
3a52759090
Bump EF libs (#6096) 2024-07-10 08:50:43 +09:00
d11n
ddb07a7ba9
Receipt page fixes (#6079)
* Receipt: Don't assign empty values to data; hide present empty values
* Receipt: Use same URL on "Return to Store" link as on invoice
2024-07-09 16:59:36 +02:00
Dennis Reimann
b5ad5a5f6f
TransactionLinkProviders: Don't force single item (#6078)
* TransactionLinkProviders: Don't force single item

Fixes #6077.

* docker-compose: Add missing restart for merchant CLN container
2024-07-09 16:19:08 +02:00
d11n
a46073f3e4
Fix email settings on store level, when server has no email settings (#6080)
* Fix email settings on store level, when server has no email settings

Fixes #6076.

* docker-compose: Add missing restart for merchant CLN container
2024-07-09 16:16:53 +02:00
rockstardev
f03ea5c115
Bumping LND to 0.18.1-beta (#6094) 2024-07-07 07:48:02 -05:00
d11n
f7569b715d
Greenfield: Add missing invoice metadata to Lightning Address (#6084)
* Greenfield: Add missing invoice metadata to Lightning Address

Closes #6067.

* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.stores-lightning-addresses.json
2024-07-04 22:42:02 +09:00
Dennis Reimann
6e19d21575
Reports: Fix dropdown z-index 2024-07-04 13:22:08 +02:00
nicolas.dorier
4eb155696c
Fix Fake Data Generator for the reports 2024-07-04 19:01:58 +09:00
nicolas.dorier
1157e2d04b
Fix: Reports rows weren't always properly sorted (Fix #6065) 2024-07-04 18:09:30 +09:00
Nicolas Dorier
247532e3c4
Do not crash when refunding an invoice that has been marked settled (Fix #6003) (#6086) 2024-07-04 16:43:30 +09:00
nicolas.dorier
4a2f61de9f
Fix crash if refunding an invoice without payment 2024-07-04 10:43:39 +09:00
d11n
654cf1982e
Icon fix in checkout CSS 2024-07-03 14:13:29 +02:00
Chukwuleta Tobechi
e0a0406825
Improved Notifications List View (#6050, #3871) 2024-07-02 17:55:54 +09:00
Dennis Reimann
d6d14b4170
Re-add missing file upload
This was accidentally removed in #5744.
2024-07-01 11:52:10 +02:00
d11n
cbeb32808a
Dashboard: Remove View All link for Top Items (#6072)
Fixes #6068.
2024-06-29 11:44:51 +02:00
Nicolas Dorier
a295e123bc
Migrate Payouts to new format (#5989)
* Migrate Payouts to new format

* Rename PayoutData column to PayoutMethodId
2024-06-28 20:07:53 +09:00
Nicolas Dorier
c56b660c92
bump selenium container (#6071) 2024-06-28 17:32:55 +09:00
Dennis Reimann
6a5bc99a55
Color fix 2024-06-27 16:39:13 +02:00
Dennis Reimann
833895e797
Design system updates; add icons 2024-06-27 10:43:28 +02:00
nicolas.dorier
fa080ce0a4
Add AdditionalData to PointOfSaleBaseData 2024-06-26 17:43:56 +09:00
d11n
2482b9df74
Greenfield: Refactor app endpoints (#6051)
* Greenfield: Refactor app endpoints

- Do not change unset data
- Clean up difference between request (template) and data (items/perks)
- Add missing properties (form id and custom tip percentage)
- Update docs

* Revert ToSettings changes in GreenfieldAppsController
2024-06-26 17:42:22 +09:00
d11n
bf66b54c9a
User: Add name and image URL (#6008)
* User: Add name and image URL

More personalization options, prerequisite for btcpayserver/app#3.

Additionally:
- Remove ambigious and read-only username from manage view.
- Improve email verification conditions and display.
- Greenfield: Update current user. Prerequisite for btcpayserver/app#13.

* Refactor UpdateCurrentUser

* Replace new columns by UserBlob

* Update email check and add test case for mailbox addresses

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2024-06-26 17:39:22 +09:00
d11n
1ba7b67e70
Add setup script for dev basics like users and stores (#5987)
* Add setup script for dev basics like users and stores

I'm using and extending this script for setting up the basics after I erase my dev containers. Once you clean out everything with `cd BTCPayServer.Tests && docker-compose down --volumes --remove-orphans && docker-compose up dev` you otherwise have to recreate everything manually. This gives you ...

- An admin user with unrestricted API key
- One additional user per default role
- Store 1: Satoshis Steaks with Hot Wallet and Internal Node (and all users assigned to that store)
- Store 2: Nakamoto Nuggets with Hot Wallet and Merchant LND Lightning node (and all users besides Guest assigned to that store)
- Nakamoto Nuggets also gets Cart and Keypad apps
- Store 3 with External Lightning based store with Customer LND Lightning node

## Sample output

```bash
Admin ID: 78aa0b35-6c72-45ac-a7d4-b7976ebbbb62
Admin API Key: 992023ae659295b14c3b429007bbf67c2fec057d

Store Owner ID: e3151462-b0f8-4342-879e-16e42d3432d9
Store Manager ID: d0f11a4d-7c9f-466d-bbb9-dfba09295446
Store Employee ID: 13a882de-65f1-4be9-819e-be058e54a8a9

Satoshis Steaks Store ID: FDyaDcDxtSnNx77nEtT8VL55tcitcrV3Zoj5B6eoByEL

Nakamoto Nuggets Store ID: 8uJqvtPnvCU1XXBiSNBLGEn5XinwC1qYcyP495pPzn9a
Nakamoto Nuggets Keypad POS ID: 2q3Z6b8RUfwrvMyYngNAbj8kPqU8
Nakamoto Nuggets Cart POS ID: 2TfyrzZjiWnYp9QwWyy4U7y5dAFP

External Lightning Store ID: Cr56Ch7h3cgGPcbsZnKWnqCisMojfAdUVJhsN3zLcqSP
```

* Fix path issue
2024-06-26 09:56:22 +09:00
d11n
feffbbd980
Greenfield: Manage notifications (#6058)
Prerequisite for btcpayserver/app#12.
2024-06-25 20:01:11 +02:00
napoly
e0c5ac5271
Fix Monero development environment with wallet load (#6066) 2024-06-24 15:16:11 +02:00
Dennis Reimann
50656dc7d3
UI unifications 2024-06-23 19:38:34 +02:00
nicolas.dorier
cbeea86a13
Do not crash the plugin packer if Assembly.GetTypes crashes 2024-06-21 10:16:16 +09:00
d11n
5a6bdd756a
POS: Keypad error should sit below the header (#6055)
Fixes #6054.
2024-06-20 16:17:36 +02:00
d11n
cf7bb8cff7
Fix tests (#6060)
* docker-compose: Add missing restart for merchant CLN container

* Upgrade ChromeDriver

* Fix path and test
2024-06-20 10:48:23 +02:00
d11n
b898fd0ec1
TimeSpan JSON Converter: Parse strings (#6012)
Something I came across while working in the app: Without this, the [TimeSpan default values of the StoreBlob](https://github.com/btcpayserver/btcpayserver/blob/master/BTCPayServer/Data/StoreBlob.cs#L84) cannot be parsed and don't get applied properly.
2024-06-19 15:31:13 +02:00
d11n
f8f98ab7f0
BTCPayServerClient refactoring (#6024)
* Allow overrides on all methods

* Add non-returning SendHttpRequest methods

* Use SendHttpRequest consistently

* Use file-scoped namespace

* Rates: Set default null value for currencyPair

* Ensure it works with instances which have BTCPAY_ROOTPATH set
2024-06-19 15:25:33 +02:00
d11n
0f8da123b8
UI: Move section navigation to sidebar (#5744)
* UI: Move section navigation to sidebar

* Scroll active nav link into view

* Move CTAs to top right

* Server Settings: Make Policies first page

* Responsive table fixes

* Spacing fixes

* Add breadcrumb samples

* store settings fixes

* payment request fixes

* updates pull payment title

* adds invoice detail fix

* updates server settings breadcrumbs + copy fix

* Don't open Server Settings on Plugins page

* Add breadcrumbs to pull payment views

* adds breadcrumbs to account

* server and store breadcrumb fixes

* fixes access tokens

* Fix payment processor breadcrumbs

* fixes webhook 404

* Final touches

* Fix test

* Add breadcrumb for email rules page

* Design system updates

---------

Co-authored-by: dstrukt <gfxdsign@gmail.com>
2024-06-19 15:23:10 +02:00
napoly
aa9e1acb91
Fix Monero local dev docker start up (#6042) 2024-06-18 09:57:54 +02:00
Kukks
61e4995c14
bump v 2024-06-13 14:49:36 +02:00
d11n
078ce28b8a
v1.13.3: Add Changelog (#6048)
* v1.13.3: Add Changelog

* Update Changelog.md

---------

Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
2024-06-13 14:49:29 +02:00
Kukks
88fe28df8d
bump cln 2024-06-12 19:39:23 +02:00
d11n
e14b055651
Pull payment: Enable CORS for LNURL request (#6044)
Fixes #6043 and ensures Mutiny Wallet can do the LNURL request.
2024-06-12 11:13:51 +02:00
d11n
e5a09cbeaa
POS: Don't show free items in print view (#6009)
We cannot generate a proper LNURL response for free items, hence we should not show them in the print view.

Closes #5999.
2024-06-05 22:11:26 +09:00
Kukks
b5ade89763
fix shopify 2024-06-05 08:53:40 +02:00