* Checkout v2: Play sound when invoice is paid
Closes#5085.
* Refactoring: Use low-level audio API to play the sound
Allows to play the sound regardless of browser permissions.
* Add audio file detection
* Use model state for file upload errors
* Add default sound and customizing option
* Fix mp3 detection
* Add sounds
* Update defaults
* Add nfcread and error sounds
* Improve label wording
* Replace sound
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Add reporting feature
* Remove nodatime
* Add summaries
* work...
* Add chart title
* Fix error
* Allow to set hour in the field
* UI updates
* Fix fake data
* ViewDefinitions can be dynamic
* Add items sold
* Sticky table headers
* Update JS and remove jQuery usages
* JS click fix
* Handle tag all invoices for app
* fix dup row in items report
* Can cancel invoice request
* Add tests
* Fake data for items sold
* Rename Items to Products, improve navigation F5
* Use bordered table for summaries
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Quality of life improvements to payout processors
* Allows more fleixble intervals for payout processing from 10-60 mins to 1min-24hours(requested by users)
* Cancel ln payotus that expired (bolt11)
* Allow cancelling of ln payotus that have failed to be paid after x attempts
* Allow conifguring a threshold for when to process on-chain payouts (reduces fees)
# Conflicts:
# BTCPayServer.Tests/SeleniumTests.cs
* Simplify the code
* switch to concurrent dictionary
* Allow ProcessNewPayoutsInstantly
* refactor plugin hook service to have events available and change processor hooks to actions with better args
* add procesor extended tests
* Update BTCPayServer.Tests/GreenfieldAPITests.cs
* fix concurrency issue
* Update BTCPayServer/PayoutProcessors/BaseAutomatedPayoutProcessor.cs
---------
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Fix constant fields being editable on UI
* fix redirect to checkout if invoice is settled (redirect to receipt instead)
* enhance: make mirror field type able to map values
* Introduce invoice amount adjustment fields for form
* Integrate invoice amount adjustment fields for form on pos
* Support mirror in editor
* Indicate when special field names are used
* polsih mirror view and name suggestions for fields
* clarify
* hide hidden field from ui
* Minor adjustmentts
* Improve mirror field editing
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* When WebSocket disconnects, we should continue polling via XHR
* Update BTCPayServer/wwwroot/checkout-v2/checkout.js
Co-authored-by: d11n <mail@dennisreimann.de>
---------
Co-authored-by: d11n <mail@dennisreimann.de>
* Custom Forms: Allow HTML in labels and help text
Fixes#5003.
* Vue: Sanitize labels and helper text input
* Form editor: Fix blur on input for select option values
---------
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
* Add grouping feature to the PoS with Cart
* Improve UI
* Rename groups to categories
* Make it easier to select categories of the items
* Refactor TemplateEditor, use TomSelect for categories
* Prevent Vue code insertion
* Prevent empty categories
* Add label ids
* Add test case
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Remove Order ID link
* Add separate print version for receipt
* Fix POS number handling and add keypad test
Fixes#5056.
* Add formatting function
* Remove OrderUrl for POS, bring back order link for receipt
* Update BTCPayServer/Plugins/PointOfSale/Controllers/UIPointOfSaleController.cs
Two changes which fix#4807:
- Once permissions are granted we start scanning immediately, no need to ask for permissions or have the user click the button again
- We don't abort the scan, which gets rid of the cases in which the OS took over after the scan, because the user left the card on the device
Also adds feedback for the NFC states scanning and submitting.
* Wallet transactions: Add label manager
* Update BTCPayServer/Views/UIWallets/WalletTransactions.cshtml
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Add rich label info
* Fixes
* support labels in wallet send
* add labels to tx info page
* Remove noscript parts
* Allow click on transaction label info
* update psbt info labelstyling
* revert red pixel fix as it broke all
---------
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>
* Renamed "WithdrawAsync" to "WithdrawToStoreWalletAsync"
* WIP
* WIP withdrawal + Refactored Form saving to JObject
* WIP
* Form to fix bad values during withdrawing appears correctly
* WIP
* Lots of cleanup and refactoring + Password field and toggle password view
* Cleanup + Finishing touches on withdrawals
* Added "Destination" dummy text as this is always the destination.
* Fixed broken test
* Added support for withdrawing using qty as a percentage if it ends with "%". Needs more testing.
* Fixed broken build
* Fixed broken build (2)
* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json
Co-authored-by: d11n <mail@dennisreimann.de>
* Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json
Co-authored-by: d11n <mail@dennisreimann.de>
* Improved unit tests
* Fixed swagger bug
* Test improvements
Make string conversion of quantity explicitely.
* Fix build warnings
* Swagger: Add missing operationId
* Made change Dennis requested
* Removed unused file
* Removed incorrect comment
* Extra contructor
* Renamed client methods
* Cleanup config before saving
* Fixed broken controller
* Refactor custodian
* Fix build
* Make decimal fields strings to match the rest of Greenfield
* Improve parsing of % quantities
---------
Co-authored-by: d11n <mail@dennisreimann.de>
Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
* Language selector: Ensure correct font-size
Fixes the cut-off text on iOS, because somehow iOS uses a larger font-size by default.
* Fix select background color
Webkit-based browsers displayed transparent in a weird way.
* Plugins can now build apps
* fix tests
* fixup
* pluginize existing apps
* Test fixes part 1
* Test fixes part 2
* Fix Crowdfund namespace
* Syntax
* More namespace fixes
* Markup
* Test fix
* upstream fixes
* Add plugin icon
* Fix nullable build warnings
* allow pre popualting app creation
* Fixes after merge
* Make link methods async
* Use AppData as parameter for ConfigureLink
* GetApps by AppType
* Use ConfigureLink on dashboard
* Rename method
* Add properties to indicate stats support
* Property updates
* Test fixes
* Clean up imports
* Fixes after merge
---------
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
* Checkout v2: Minor copy change
* Allow copying of invoice ID and order ID on results page
* Add copy icons for payment details on results view
* Add missing powered by class to store footers
* Greenfield: Admins can create/delete API keys of any user
* Greenfield: Improve doc for scoped apikey (Close#4673)
* Fix permissions hierarchy
* Update BTCPayServer.Client/Permissions.cs
* Fix tests
---------
Co-authored-by: Andrew Camilleri <evilkukka@gmail.com>