Stepan Goremykin
e74630a613
Use MinBy and MaxBy
2 years ago
Patrick Barron
8cabac0cf2
Load all plugin assemblies before attempting to load types
2 years ago
Patrick Barron
79a7815be7
Use one AssemblyLoadContext per plugin
2 years ago
Patrick Barron
577d396649
Use custom plugin assembly load context
2 years ago
Patrick Barron
a48f188874
Use separate assembly load contexts per plugin
2 years ago
Patrick Barron
dc85d86ea1
Enable in-process restarting
2 years ago
Bond_009
b366dc2e6e
Use ArgumentException.ThrowIfNullOrEmpty
2 years ago
Bond_009
52194f56b5
Replace != null with is not null
2 years ago
Bond_009
c7d50d640e
Replace == null with is null
2 years ago
Cody Robibero
d7f0596d5d
Don't auto-update if plugin is pending restart
2 years ago
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);
```
2 years ago
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
3 years ago
Bond_009
ea8f40e84a
More cleanup
3 years ago
cvium
d95c281142
Load all types when checking plugin DLLs
3 years ago
Bond_009
79642af3b8
Fix some warnings
3 years ago
Bond_009
e3dac4fda2
Use async FileStreams where it makes sense
3 years ago
Bond_009
6f8ccab788
Move non-jellyfin extensions to separate project
3 years ago
Bond_009
c78457e6d3
Minor fixes
3 years ago
Bond_009
0bc0601442
Fix some warnings
3 years ago
Bond_009
7e8428e588
Enable nullable reference types for Emby.Server.Implementations
4 years ago
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>
4 years ago
BaronGreenback
bcba501dfb
minor optimization.
4 years ago
BaronGreenback
65f880be32
Keep plugin status after update.
4 years ago
Bond_009
a8ed753f6c
FxCop -> Net Analyzers (part 2)
4 years ago
Bond_009
a6d0db5d04
100% branch coverage for DashboardController
4 years ago
dkanada
9bfe945f6c
catch http exception and fix possible issues
4 years ago
dkanada
fb2d178242
add await directive for image download
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
4 years ago
dkanada
e9030a62fb
remove useless call to dispose
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
4 years ago
dkanada
454deece13
improve performance in the wrong place
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
4 years ago
dkanada
64cc5889f2
add suggested changes
4 years ago
dkanada
b18bb3d0de
update timestamp parse for plugins
4 years ago
dkanada
9caf311925
handle plugin manifests automatically
4 years ago
Bond_009
13c1c2815f
Add regression test for PluginManager.SaveManifest
4 years ago
cvium
311b2f5012
Exclude BOM when writing meta.json plugin manifest
4 years ago
dkanada
54a3ab15a3
Merge pull request #5005 from jellyfin/bytes
...
JsonSerializer deserialize from bytes where possible
4 years ago
David Ullmer
b014f2309d
Update Emby.Server.Implementations/Plugins/PluginManager.cs
...
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
4 years ago
David
677bba742e
Remove try-catch nesting
4 years ago
David
80f3e20394
Change plugin error message
4 years ago
David Ullmer
4adbbb9f51
Catch TypeLoadException during plugin loading
4 years ago
BaronGreenback
89046e1d97
Bug fixes
4 years ago
Bond_009
1fdd2d6e05
Handle IO errors in LoadManifest
4 years ago
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 |
```
4 years ago
BaronGreenback
149c2b2169
Added referenced assembly failure detection, and DI failure protection.
4 years ago
BaronGreenback
21f6d39432
copy constructor
4 years ago
BaronGreenback
62702fa3eb
Changes as requested
4 years ago
BaronGreenback
e8df9551ef
Update PluginManager.cs
...
Changed a to i
4 years ago
BaronGreenback
9a97933499
Update Emby.Server.Implementations/Plugins/PluginManager.cs
...
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
4 years ago
BaronGreenback
4ba4eefeeb
Update Emby.Server.Implementations/Plugins/PluginManager.cs
...
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
4 years ago
BaronGreenback
1f2ecd0775
Fix for DI.
4 years ago
BaronGreenback
621e6d28cd
Fallback to default guid
4 years ago