Commit Graph

21 Commits

Author SHA1 Message Date
nicolas.dorier
248401f534 Plugin assemblies shouldn't be unloadable 2023-01-18 16:46:08 +09:00
Nicolas Dorier
1228a06a90 Improve detection of plugin bricking an install on startup (#4533) 2023-01-18 14:15:27 +09:00
nicolas.dorier
ee70fe85c0 Fix loading of plugins in the plugin directory 2023-01-16 16:31:26 +09:00
Nicolas Dorier
2e31816979 Can load external plugins during dev to debug more easily (#4518)
* Can load external plugins during dev to debug more easily

* Add again load plugin by project reference

* Make sure we don't load same plugin twice
2023-01-16 10:37:17 +09:00
Nicolas Dorier
e2c5e2c7fb Remove system plugins from the plugin list (#4429) 2022-12-13 18:54:41 +09:00
Kukks
e201ddd74c Plugins: Fix plugin installer 2022-04-01 13:20:19 +02:00
Nicolas Dorier
04b8eafacb Run dotnet format (#3244) 2021-12-31 16:59:02 +09:00
Kukks
d949680d5a fix: Plugins disabled message never dissappers even after re-enabling it. 2021-09-27 09:03:59 +02:00
Kukks
4e56ef636b Make system plugins shown as system plugins
fixes #2741
2021-08-04 16:50:25 +02:00
Kukks
060fc46e4f Fix system plugins resource loading 2021-07-08 12:53:34 +02:00
Kukks
86092fc955 Wrap more plugin loading logic in try catch to not crash fatally 2021-05-03 08:35:54 +02:00
Andrew Camilleri
4e1b18e2bb do not crash invoice if wellknown metadata keys used with different e… (#2448)
* do not crash invoice if wellknown metadata keys used with different expected types

* fix

* add bits from alt PR
2021-04-28 16:49:10 +09:00
Kukks
1ada87ca31 Fix: Do not crash if plugin folder mismatches plugin identifier 2021-04-20 08:38:37 +02:00
nicolas.dorier
98eee27b93 Remove warnings 2021-04-13 17:06:11 +09:00
Andrew Camilleri
6ead5c3800 Plugin FailSafe (#2351)
This introduces the concept of plugins being disabled in the case of an unrecoverable runtime error caused by a plugin.
2021-04-01 12:27:22 +09:00
Kukks
9300326483 Remove Max body request size
Upload limit by kestrel restricts plugin upload of 30mb+. this removes that limit
2021-02-15 13:42:08 +01: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
a6ee64ea63 Remove DB and Directory settings out of the BTCPayServerOptions (#2168) 2020-12-27 22:06:00 +09:00
Kukks
179520a211 Plugins: Allow creation of independent DbContexts
This allows plugins to create custom dbcontexts, which would be namespaced in the scheme with a prefix. Migrations are supported too and the table would be prefixed too
2020-11-18 12:27:26 +01:00
Andrew Camilleri
31738c465d Plugins: Load plugins by order, aesthetic plugin dependency system (#2020)
* Plugins: Load plugins by order, aesthetic plugin dependency system

Introduces plugins loading in order of installation, BTCPay itself shows up as a system plugin, and that plugins can define other plugins as dependencies.

* use a proper type for plugin dependencies

* rebase fixes

* message when cannot install
2020-11-05 15:43:14 +01: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