Commit graph

95 commits

Author SHA1 Message Date
Patrick Barron 1e1e1560a4 Add IServerApplicationHost parameter to IPluginServiceRegistrator 2023-11-10 07:43:46 -05:00
Bond_009 d7748cfa04 Multiple Stream changes
* Remove useless MemoryStream in DlnaHttpClient
* Use HttpContent.ReadFromJsonAsync extension
* Call ConfigureAwait for IAsyncDisposable
* Use HttpContent.CopyToAsync where possible
2023-10-11 18:32:57 +02:00
Patrick Barron 493de3297a Use IHostLifetime to handle restarting and shutting down 2023-09-23 11:57:38 -04:00
Bond_009 5677566a41 Enable nullable for more files 2023-07-29 21:35:38 +02:00
AmbulantRex c717425549 Remove unnecessary type extension and handle feedback. 2023-04-16 18:47:57 -06:00
AmbulantRex 92f50054b2 Add explicit mapping instead of reflection to manifest reconciliation. 2023-04-16 07:46:12 -06:00
AmbulantRex 4a0b135b7a
Merge branch 'jellyfin:master' into whitelist-dlls 2023-04-15 07:11:33 -06:00
AmbulantRex 7dd4201971 Reconcile pre-packaged meta.json against manifest on install 2023-04-09 10:53:09 -06:00
Stepan Goremykin e74630a613 Use MinBy and MaxBy 2023-04-01 23:00:51 +02:00
AmbulantRex a944352aa8 Correct style inconsistencies 2023-04-01 04:59:07 -06:00
AmbulantRex 677b1f8e34 Remove unnecessary using statements in PluginManager 2023-03-30 12:56:57 -06:00
AmbulantRex 891b9f7a99 Add DLL whitelist support for plugins 2023-03-30 08:59:21 -06:00
Patrick Barron 8cabac0cf2 Load all plugin assemblies before attempting to load types 2023-01-18 10:26:39 -05:00
Patrick Barron 79a7815be7 Use one AssemblyLoadContext per plugin 2023-01-17 18:49:00 -05:00
Patrick Barron 577d396649 Use custom plugin assembly load context 2023-01-15 17:35:36 -05:00
Patrick Barron a48f188874 Use separate assembly load contexts per plugin 2023-01-15 17:00:38 -05:00
Patrick Barron dc85d86ea1 Enable in-process restarting 2023-01-15 15:56:18 -05:00
Bond_009 b366dc2e6e Use ArgumentException.ThrowIfNullOrEmpty 2022-12-07 16:43:59 +01:00
Bond_009 52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Bond_009 c7d50d640e Replace == null with is null 2022-12-05 15:00:20 +01:00
Cody Robibero d7f0596d5d Don't auto-update if plugin is pending restart 2022-11-11 08:32:29 -07:00
Bond_009 a9a5fcde81 Use ArgumentNullException.ThrowIfNull helper method
Did a simple search/replace on the whole repo (except the RSSDP project)
This reduces LOC and should improve performance (methods containing a throw statement don't get inlined)

```
if \((\w+) == null\)
\s+\{
\s+throw new ArgumentNullException\((.*)\);
\s+\}
```

```
ArgumentNullException.ThrowIfNull($1);
```
2022-10-06 20:21:23 +02:00
Bond_009 f50a250cd9 Optimize Guid comparisons
* Use Guid.Equals(Guid) instead of the == override
* Ban the usage of Guid.Equals(Object) to prevent accidental boxing
* Compare to default(Guid) instead of Guid.Empty
2022-02-21 14:15:09 +01:00
Bond_009 ea8f40e84a More cleanup 2021-12-27 14:20:05 +00:00
cvium d95c281142 Load all types when checking plugin DLLs 2021-11-06 22:44:05 +01:00
Bond_009 79642af3b8 Fix some warnings 2021-09-25 20:32:53 +02:00
Bond_009 e3dac4fda2 Use async FileStreams where it makes sense 2021-09-02 14:02:04 +02:00
Bond_009 6f8ccab788 Move non-jellyfin extensions to separate project 2021-06-19 18:04:46 +02:00
Bond_009 c78457e6d3 Minor fixes 2021-06-06 18:11:51 +02:00
Bond_009 0bc0601442 Fix some warnings 2021-05-28 14:33:54 +02:00
Bond_009 7e8428e588 Enable nullable reference types for Emby.Server.Implementations 2021-05-20 22:48:53 +02:00
BaronGreenback 2e98de9062
Code Clean up: Convert to null-coalescing operator ?? (#5845)
Co-authored-by: Cody Robibero <cody@robibe.ro>
Co-authored-by: Patrick Barron <18354464+barronpm@users.noreply.github.com>
2021-05-05 13:51:14 +02:00
BaronGreenback bcba501dfb minor optimization. 2021-05-02 19:25:04 +01:00
BaronGreenback 65f880be32 Keep plugin status after update. 2021-04-06 20:59:47 +01:00
Bond_009 a8ed753f6c FxCop -> Net Analyzers (part 2) 2021-03-13 22:33:28 +01:00
Bond_009 a6d0db5d04 100% branch coverage for DashboardController 2021-03-05 11:15:14 +01:00
dkanada 9bfe945f6c catch http exception and fix possible issues 2021-02-24 00:03:26 +09:00
dkanada fb2d178242
add await directive for image download
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-23 23:39:33 +09:00
dkanada e9030a62fb
remove useless call to dispose
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-23 23:37:32 +09:00
dkanada 454deece13
improve performance in the wrong place
Co-authored-by: Cody Robibero <cody@robibe.ro>
2021-02-23 23:36:49 +09:00
dkanada 64cc5889f2 add suggested changes 2021-02-23 23:11:17 +09:00
dkanada b18bb3d0de update timestamp parse for plugins 2021-02-23 19:22:20 +09:00
dkanada 9caf311925 handle plugin manifests automatically 2021-02-12 22:33:10 +09:00
Bond_009 13c1c2815f Add regression test for PluginManager.SaveManifest 2021-02-08 17:10:20 +01:00
cvium 311b2f5012 Exclude BOM when writing meta.json plugin manifest 2021-02-08 15:38:06 +01:00
dkanada 54a3ab15a3
Merge pull request #5005 from jellyfin/bytes
JsonSerializer deserialize from bytes where possible
2021-02-05 11:47:06 +09:00
David Ullmer b014f2309d
Update Emby.Server.Implementations/Plugins/PluginManager.cs
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2021-01-25 09:44:06 +01:00
David 677bba742e Remove try-catch nesting 2021-01-24 13:34:22 +01:00
David 80f3e20394 Change plugin error message 2021-01-24 13:22:04 +01:00
David Ullmer 4adbbb9f51 Catch TypeLoadException during plugin loading 2021-01-24 00:58:52 +01:00