Commit Graph

151 Commits

Author SHA1 Message Date
Nicolas Dorier
36bada8feb Uniformize Wallet API's path (#6209)
* Uniformize Wallet API's path

* Rewrite old API path to new API

* Rename routes
2024-09-12 15:19:10 +09:00
Nicolas Dorier
ca4abcb497 Allow translations of BTCPay Server Backend by admins (#5662) 2024-07-24 20:16:20 +09:00
Nicolas Dorier
372688b723 Disable plugins if they crash the Dashboard page (#6099) 2024-07-11 00:09:54 +09:00
d11n
e43b4ed540 Onboarding: Invite new users (#5714)
* Server Users: More precise message when inviting users

This lets the admin who invited a new user know whether or not an email has been sent. If the SMTP server hasn't been set up, they need to share the invite link with the user.

* Onboarding: Invite new users

- Separates the user self-registration and invite cases
- Adds invitation email for users created by the admin
- Adds invitation tokens to verify user was invited
- Adds handler action for invite links
- Refactors `UserEventHostedService`

* Remove duplicate status message from views that use the wizard layout

* Auto-approve users created by an admin

* Notify admins via email if a new account requires approval

* Update wording

* Fix update user error

* Fix redirect to email confirmation in invite action

* Fix precondition checks after signup

* Improve admin notification

Send notification only if the user does not require email confirmation or when they confirmed their email address. Rationale: We want to inform admins only about qualified users and not annoy them with bot registrations.

* Allow approval alongside resending confirm email

* Use user email in log messages instead of ID

* Prevent unnecessary notification after email confirmation

* Use ApplicationUser type explicitly

* Fix after rebase

* Refactoring: Do not subclass UserRegisteredEvent
2024-02-28 20:43:18 +09:00
Nicolas Dorier
376067324b Remove unused variables (#5669) 2024-01-18 09:47:39 +09:00
Nicolas Dorier
1d6d146fb2 Revert "Remove unused variables" (#5667)
This reverts commit f070b22355.
2024-01-18 00:05:50 +09:00
nicolas.dorier
f070b22355 Remove unused variables 2024-01-17 18:46:28 +09:00
Nicolas Dorier
04292d09e1 Pluginify BTCPayNetworkProvider (#5331) 2023-11-29 18:51:40 +09:00
Nicolas Dorier
9ccc42f556 Bump .NET 8.0 (#5479) 2023-11-21 14:11:17 +09:00
Nicolas Dorier
73a4ac599c Add Blazor server (#5312)
* Add Blazor server

* Improve Blazor status UI

* Improve UX

---------

Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
2023-09-13 13:13:15 +09:00
d11n
a671632fde Dashboard: Fix app stats tiles (#4775)
* Dashboard: Fix app stats tiles

They broke with #4747, because they contain script blocks that are loaded asynchronuosly and need to get run once the chart data is added to the page.

* Refactor PoS dashboard component

* Collocate the component JS files in separate files

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-03-16 15:51:24 +09:00
d11n
23761eacc1 Unset X-Frame-Options header correctly (#4721)
* Unset X-Frame-Options header correctly

According to the [spec](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) there are onlye the `DENY` and `SAMEORIGIN` options, `ALLOW-FROM` being deprecated. Hence we have to actively unset the header, as we made `DENY` the default.

This also unsets the X-Frame-Options header for the public form pages, which fixes #4666.

* Ignore anti forgery token in Forms

---------

Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
2023-03-01 15:27:18 +09:00
d11n
d5d0be5824 Code formatting updates (#4502)
* Editorconfig: Add space_before_self_closing setting

This was a difference between the way dotnet-format and Rider format code. See https://www.jetbrains.com/help/rider/EditorConfig_Index.html

* Editorconfig: Keep 4 spaces indentation for Swagger JSON files

They are all formatted that way, let's keep it like that.

* Apply dotnet-format, mostly white-space related changes
2023-01-06 22:18:07 +09:00
Kukks
b0253e11bf Revert "Allow bind and port for http too (#4031)"
This reverts commit a51c9d2b2d.
2022-08-18 13:12:29 +02:00
Andrew Camilleri
a51c9d2b2d Allow bind and port for http too (#4031) 2022-08-17 09:11:13 +02:00
Nicolas Dorier
0aa7dacbca Add spam rate limits for public invoice endpoints (Fix #3782) (#3889) 2022-06-21 12:33:20 +09:00
Andrew Camilleri
7652d2c7e3 LN Address - db schema fix method (#3638)
* LN Address - db schema fix method

* pr changes

* shorten
2022-04-19 16:58:31 +09:00
Dennis Reimann
4abc6eb387 Refactoring: Allow GreenfieldExtensions to be used by plugins 2022-03-01 09:14:51 +01:00
Nicolas Dorier
14da3023d8 Merge pull request #3310 from NicolasDorier/niceurl
Use nicer urls, part2 (Fix #921)
2022-01-17 11:41:20 +09:00
nicolas.dorier
b9fdd54538 Use nicer urls, part2 (Fix #921) 2022-01-15 14:54:06 +09:00
Kukks
7243aec213 Support LNURL Auth 2022-01-14 13:26:30 +01:00
nicolas.dorier
23a96c07ae Rename GreenField -> Greenfield 2022-01-14 13:46:04 +09:00
nicolas.dorier
7a787fc945 Rename UI controllers 2022-01-14 13:46:03 +09:00
Nicolas Dorier
5eebdb6774 Use nicer urls (Fix #921) (#3304) 2022-01-14 12:20:50 +09:00
nicolas.dorier
8bea3dd21e [Greenfield] if some json property are invalid, throw nice error instead of an exception (fix #2795) 2022-01-10 22:11:04 +09:00
nicolas.dorier
47d8d3cdb1 Validate the name of controllers when LinkGenerator 2022-01-08 14:16:17 +09:00
nicolas.dorier
88bc1c64d2 Fix tests 2022-01-07 21:47:19 +09:00
nicolas.dorier
81c1cc6728 Add rockstar friendly error 403 2022-01-07 19:46:38 +09:00
nicolas.dorier
ab3aab9c22 Make BTCPayServer works with dotnet watch hot reload 2022-01-01 22:05:51 +09:00
Nicolas Dorier
04b8eafacb Run dotnet format (#3244) 2021-12-31 16:59:02 +09:00
Andrew Camilleri
48ac996d77 Sign in with other device (quick mobile login) (#2504)
Co-authored-by: Dennis Reimann <mail@dennisreimann.de>
Co-authored-by: Nicolas Dorier <nicolas.dorier@gmail.com>
2021-12-24 09:27:00 +01:00
nicolas.dorier
4f7eeea14e Greenfield: Improve error message, do not use internal lightning node on store's lightning API 2021-12-16 14:27:34 +09:00
Dennis Reimann
e42ef4b2f8 Plugins: Update startup for plugin compatibility 2021-11-25 10:24:14 +01:00
nicolas.dorier
35aad4ebf9 Remove Logs static singletons 2021-11-23 13:55:34 +09:00
Nicolas Dorier
fc4e47cec6 Add CSP at the website level (#2863) 2021-09-09 21:51:28 +09:00
d11n
ed7031981b Bootstrap v5 migration (#2490)
* Swap bootstrap asset files

* Update themes and color definitions

* Move general bootstrap customizations

* Theme updates

Theme updates

* Remove BuildBundlerMinifier

This lead to an error, because BuildBundlerMinifier and BundlerMinifier.Core seem to conflict here. Details: https://stackoverflow.com/a/61119586

* Rewplace btn-block class with w-100

* Update badge classes

* Remove old font family head variable

* Update margin classes

* Cleanups

* Update float classes

* Update text classes

* Update padding classes

* Update border classes

* UPdate dropdown classes

* Update select classes

* Update neutral custom props

* Update bootstrap and customizations

* Update ChromeDriver; disable smooth scroll

https://github.com/SeleniumHQ/selenium/issues/8295

* Improve alert messages

* Improve bootstrap customizations

* Disable reduced motion

See also 7358282f

* Update Bootstrap data attributes

* Update file inputs

* Update input groups

* Replace deprecated jumbotron class

* Update variables; re-add negative margin util classes

* Update cards

* Update form labels

* Debug alerts

* Fix aria-labelledby associations

* Dropdown-related test fixes

* Fix CanUseWebhooks test

* Test fixes

* Nav updates

* Fix nav usage in wallet send and payouts

* Update alert and modal close buttons

* Re-add backdrop properties

* Upgrade Bootstrap to v5 final

* Update screen reader classes

* Update font-weight classes

* Update monospace font classes

* Update accordians

* Update close icon usage

* Cleanup

* Update scripts and style integrations

* Update input group texts

* Update LN node setup page

* Update more form control classes

* Update inline forms

* Add js specific test

* Upgrade Vue.js

* Remove unused JS

* Upgrade Bootstrap to v5.0.1

* Try container related test updates

* Separate jQuery bundle

* Remove jQuery from LND seed backup page

* Remove unused code

* Refactor email autofill js

* Refactor camera scanner JS

* Re-add tests

* Re-add BuildBundlerMinifier

* Do not minify bundles containing Bootstrap

Details https://github.com/madskristensen/BundlerMinifier/issues/558

* Update bundles

* Cleanup JS test

* Cleanup tests involving dropdowns

* Cleanup tests involving collapses

* Cleanup locale additions in ConfigureCore

* Cleanup bundles

* Remove duplicate status message

* Cleanup formatting

* Fix missing validation scripts

* Remove unused unminified Bootstrap js files

* Fix classic theme

* Fix Casa theme

* Fix PoS validation
2021-05-19 11:39:27 +09:00
nicolas.dorier
4b30132d06 Make sure BTCPayServer does not take the culture of the server 2021-05-06 20:28:02 +09:00
nicolas.dorier
dcc4214dcb Make sure model binder error are returning error 422, use DateTimeOffsetModelBinder 2021-04-26 12:37:56 +09:00
Andrew Camilleri
0554565b30 FIDO2/WebAuthN Support (#2356)
* FIDO2/WebAuthN Support

This adds initial support for WebAuthN/FIDO2 as another MFA mode. U2F is still intact and runs alongside it for now. Once this is merged, I will start work on migrating U2F support to happen over the FIDO2 protocol instead.

* Refactor and future proof system (prep work of seamless u2f migration)

* attempt js fix for mobile devices

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* fix fido name saving

* do not spam logs and hide loader when failed

* PR Changes

* Apply suggestions from code review

Co-authored-by: d11n <mail@dennisreimann.de>

* attempt fido2 bump

* add name if not named for credentials

Co-authored-by: d11n <mail@dennisreimann.de>
2021-04-20 14:06:32 +09:00
Nicolas Dorier
14e6e492dd Refactor domain mapping (#2407) 2021-03-30 11:47:03 +09:00
nicolas.dorier
1fc114fec7 Check the authentication cookie every 5 min rather than 30min 2021-03-23 17:43:13 +09:00
nicolas.dorier
923a567822 Make cookies secure 2021-03-19 20:54:30 +09:00
nicolas.dorier
779f21a1ca Make sure cookie are HttpOnly 2021-03-19 20:09:55 +09:00
Andrew Camilleri
58d01738ab More Options refactoring (#2179)
* More Options refactoring

Continues refactoring config classes to use the propert Options pattern where possible.
DataDirectories and DatabaseOptions are now configured the Options pattern and the BTCPayOptions is now moved alongside the other config setup

* Move COnfigure logic for Options to the Startup
2021-01-06 23:51:13 +09:00
Nicolas Dorier
623347bc48 Add Label and accountKeyPath to the on chain payment methods (#2166) 2020-12-28 13:59:01 +01:00
Nicolas Dorier
a6ee64ea63 Remove DB and Directory settings out of the BTCPayServerOptions (#2168) 2020-12-27 22:06:00 +09:00
Andrew Camilleri
5979fe5eef BTCPay Extensions Part 2 (#2001)
* BTCPay Extensions Part 2

This PR cleans up the extension system a bit in that:
 * It renames the test extension to a more uniform name
 * Allows yo uto have system extensions, which are extensions but bundled by default with the release (and cannot be removed)
 * Adds a tool to help you generate an extension package from a csproj
 * Refactors the UI extension points to a view component
 * Moves some more interfaces to the Abstractions csproj

* Rename to plugins
2020-10-21 14:02:20 +02:00
Andrew Camilleri
1440e8c55d BTCPay Server Extensions (#1925)
* BTCPay Server Extensions

![demo](https://i.imgur.com/2S00aL2.gif)

* cleanup

* fix

* Polish UI a bit,detect when docker deployment
2020-10-15 21:28:09 +09:00
nicolas.dorier
5c9d0fd40a Use razor component to encapsulate UI logic 2020-08-12 16:48:14 +09:00
rockstardev
f88c02cccd Removing unused usings, readonly fields where possible 2020-06-28 22:07:48 -05:00