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
BaronGreenback
89046e1d97
Bug fixes
2021-01-19 21:15:40 +00:00
Bond_009
1fdd2d6e05
Handle IO errors in LoadManifest
2021-01-12 16:03:13 +01:00
Bond_009
1ea2b200c0
JsonSerializer deserialize from bytes where possible
...
This is faster and uses way less memory
```
BenchmarkDotNet=v0.12.1, OS=fedora 32
Intel Core i7-6700HQ CPU 2.60GHz (Skylake), 1 CPU, 8 logical and 4 physical cores
.NET Core SDK=5.0.100
[Host] : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT
DefaultJob : .NET Core 5.0.0 (CoreCLR 5.0.20.51904, CoreFX 5.0.20.51904), X64 RyuJIT
| Method | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |---------:|--------:|--------:|--------:|------:|------:|----------:|
| Bytes | 158.4 us | 2.56 us | 2.14 us | 16.8457 | - | - | 52.08 KB |
| String | 172.8 us | 0.78 us | 0.70 us | 41.5039 | - | - | 127.82 KB |
| Custom | 155.5 us | 2.95 us | 2.76 us | 10.0098 | - | - | 31.27 KB |
```
2021-01-12 15:28:02 +01:00
BaronGreenback
149c2b2169
Added referenced assembly failure detection, and DI failure protection.
2020-12-31 11:39:34 +00:00
BaronGreenback
21f6d39432
copy constructor
2020-12-23 17:43:29 +00:00