Stepan Goremykin
8d7e4229ca
Merge branch 'master' into fix-resharper-warnings
...
# Conflicts:
# Emby.Server.Implementations/Net/SocketFactory.cs
# RSSDP/SsdpCommunicationsServer.cs
# RSSDP/SsdpDeviceLocator.cs
# RSSDP/SsdpDevicePublisher.cs
1 year ago
Stepan Goremykin
8ea812b65d
Reduce string literal length by using verbatim string
1 year ago
Stepan Goremykin
a3d3ec7e0b
Remove redundant SuppressFinalize call
1 year ago
Bond_009
b176beb88e
Reduce string allocations
...
Some simple changes to reduce the number of allocated strings
1 year ago
Patrick Barron
78e00578c2
Use DI for IFileSystem
1 year ago
Bond_009
b8f42573c4
Address review comments
1 year ago
Bond_009
767a42fbdb
Minor LibraryMonitor improvements
...
* Enable nullable
* Add a fast return to ReportFileSystemChanged when path should be ignored
* Use Span overloads of Path.* functions where possible
* IFileSystem: remove NormalizePath as Path.TrimEndingDirectorySeparator already checks if it's a root path
1 year ago
Ronan Charles-Lorel
4dc87a6f93
Align indentation on bottom brace of new list
...
Should stop error SA1137 in debug build
1 year ago
Ronan Charles-Lorel
c21140eeb5
Formatting
...
Fixes debug build?
Co-authored-by: Bond-009 <bond.009@outlook.com>
1 year ago
Ronan Charles-Lorel
07c142d5bd
Moving invalid chars list at class level with a better name
1 year ago
Ronan Charles-Lorel
46763b7661
Remove call to Path.GetInvalidFileNameChars
...
Superseded by a static char list to avoid platform-dependent issues
1 year ago
Ronan Charles-Lorel
e108183b13
Merge branch 'jellyfin:master' into master
1 year ago
Bond-009
756ee38d01
Remove ExtendedFileSystemInfo ( #9749 )
2 years ago
Ronan Charles-Lorel
31ac861b85
Formatting
2 years ago
Ronan Charles-Lorel
a2ac791bb7
Add a way to add more invalid characters when sanitizing a filename
2 years ago
Claus Vium
760b7f8fca
Merge pull request #8922 from Bond-009/distinctby
...
Use DistinctBy introduced in .NET 6
2 years ago
Bond-009
497d8c4957
Use Order() introduced in .NET 7 ( #8923 )
2 years ago
Bond_009
6481376b81
Use DistinctBy introduced in .NET 6
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
jgriff6
c2c286be6e
Remove unnecessary IsPathLocked function
2 years ago
ignacio laborde
c6bf6e00de
Remove unnecessary ToList usage
2 years ago
Joshua M. Boniface
3515c76ca1
Merge pull request #7724 from jtcasper/perms
...
(cherry picked from commit 884a59da07
)
Signed-off-by: Joshua Boniface <joshua@boniface.me>
3 years ago
Cody Robibero
1b3e56bae3
Split DirectoryExists and FileExists
3 years ago
Cody Robibero
fc5c6c0404
Use IFileSystem
3 years ago
Bond_009
1c14c86b20
Fix some warnings
3 years ago
Cody Robibero
7bfc6b5679
Remove more warnings
3 years ago
Bond_009
ea8f40e84a
More cleanup
3 years ago
Bond_009
474b035d99
Fix some warnings
3 years ago
Bond_009
1d19a5be61
Fix some warnings
...
down to 580
3 years ago
Bond_009
5726535a26
Fix some warnings
...
609 left
3 years ago
Bond_009
4dfb7b18ae
Add some docs and tests
3 years ago
Bond_009
0f52896691
Fix UnauthorizedAccessException in GetDrives
...
```
[15:01:24] [ERR] [55] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /Environment/Drives.
System.UnauthorizedAccessException: Access to the path is denied.
---> System.IO.IOException: Operation not permitted
--- End of inner exception stack trace ---
at System.IO.DriveInfo.CheckStatfsResultAndThrowIfNecessary(Int32 result)
at System.IO.DriveInfo.get_TotalSize()
at Emby.Server.Implementations.IO.ManagedFileSystem.<>c.<GetDrives>b__32_0(DriveInfo d) in /home/bond/dev/jellyfin/Emby.Server.Implementations/IO/ManagedFileSystem.cs:line 583
at System.Linq.Enumerable.WhereSelectArrayIterator`2.ToList()
at Emby.Server.Implementations.IO.ManagedFileSystem.GetDrives() in /home/bond/dev/jellyfin/Emby.Server.Implementations/IO/ManagedFileSystem.cs:line 583
at Jellyfin.Api.Controllers.EnvironmentController.GetDrives() in /home/bond/dev/jellyfin/Jellyfin.Api/Controllers/EnvironmentController.cs:line 153
at lambda_method559(Closure , Object , Object[] )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
```
3 years ago
Patrick Barron
c09ef74b51
Fix warnings in IO
3 years ago
Bond_009
a4eede29ab
Use RandomAccess instead of a FileStream where it makes sense
3 years ago
Fernando Fernández
3d0b1ccae6
Remove all unused usings
3 years ago
Claus Vium
74fef6c05b
Merge pull request #6177 from Bond-009/async
...
Use async FileStreams where it makes sense
3 years ago
Bond_009
637e86478f
Fix some warnings
3 years ago
Bond_009
e3dac4fda2
Use async FileStreams where it makes sense
3 years ago
Bond_009
8528e9bddb
Improve platform checks
3 years ago
Bond_009
6f8ccab788
Move non-jellyfin extensions to separate project
3 years ago
cvium
42a2cc1747
Remove some unnecessary allocations
4 years ago
Bond_009
7e8428e588
Enable nullable reference types for Emby.Server.Implementations
4 years ago
Bond_009
c608d5104d
Fix scanning
4 years ago
Bond_009
33327aa1a9
Improve fast path of ManagedFileSystem.GetValidFilename
...
| Method | Data | Mean | Error | StdDev | Median | Gen 0 | Gen 1 | Gen 2 | Allocated |
|---------------------------- |-------------- |------------:|----------:|----------:|------------:|-------:|------:|------:|----------:|
| GetValidFilenameBench | AC/DCKD/A | 52.29 ns | 0.537 ns | 0.448 ns | 52.35 ns | 0.0255 | - | - | 80 B |
| GetValidFilenameOldBench | AC/DCKD/A | 86.68 ns | 1.205 ns | 1.127 ns | 86.33 ns | 0.0587 | - | - | 184 B |
| GetValidFilenameWinBench | AC/DCKD/A | 448.55 ns | 1.228 ns | 1.088 ns | 448.33 ns | 0.0505 | - | - | 160 B |
| GetValidFilenameOldWinBench | AC/DCKD/A | 865.21 ns | 5.734 ns | 5.083 ns | 866.60 ns | 0.0839 | - | - | 264 B |
| GetValidFilenameBench | ValidFileName | 16.00 ns | 0.234 ns | 0.207 ns | 16.02 ns | 0.0102 | - | - | 32 B |
| GetValidFilenameOldBench | ValidFileName | 100.66 ns | 1.255 ns | 1.174 ns | 101.21 ns | 0.0587 | - | - | 184 B |
| GetValidFilenameWinBench | ValidFileName | 116.60 ns | 1.624 ns | 1.519 ns | 116.88 ns | 0.0356 | - | - | 112 B |
| GetValidFilenameOldWinBench | ValidFileName | 1,052.66 ns | 18.077 ns | 33.056 ns | 1,037.25 ns | 0.0839 | - | - | 264 B |
4 years ago
Bond_009
81209258ab
ManagedFileSystem: Rewrite GetValidFilename and more improvements
4 years ago
Claus Vium
f99237cf9b
Update Emby.Server.Implementations/IO/ManagedFileSystem.cs
...
Co-authored-by: Cody Robibero <cody@robibe.ro>
4 years ago
cvium
1a3352003d
don't die on dangling symlinks
4 years ago
Bond_009
c533b20496
Remove ManagedFileSystem.IsRootPath
...
`Path.IsPathRooted` should be used instead
4 years ago