Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/ffe79c89829fb232e8ccb4ae4caf4b732ce51600
You should set ROOT_URL correctly, otherwise the web may not work correctly.
6 changed files with
73 additions and
99 deletions
@ -246,13 +246,14 @@ namespace Emby.Server.Implementations.AppBase
private object LoadConfiguration ( string path , Type configurationType )
{
try
if ( ! File . Exists ( path ) )
{
return XmlSerializer. DeserializeFromFile ( configurationType , path ) ;
return Activator. CreateInstance ( configurationType ) ;
}
catch ( FileNotFoundException )
try
{
return Activator. CreateInstance ( configurationType ) ;
return XmlSerializer. DeserializeFromFile ( configurationType , path ) ;
}
catch ( IOException )
{
@ -286,28 +286,18 @@ namespace Emby.Server.Implementations.HttpClientManager
private HttpResponseInfo GetCachedResponse ( string responseCachePath , TimeSpan cacheLength , string url )
{
try
{
if ( _fileSystem . GetLastWriteTimeUtc ( responseCachePath ) . Add ( cacheLength ) > DateTime . UtcNow )
{
var stream = _fileSystem . GetFileStream ( responseCachePath , FileOpenMode . Open , FileAccessMode . Read , FileShareMode . Read , true ) ;
return new HttpResponseInfo
{
ResponseUrl = url ,
Content = stream ,
StatusCode = HttpStatusCode . OK ,
ContentLength = stream . Length
} ;
}
}
catch ( FileNotFoundException ) // REVIEW: @bond Is this really faster?
{
}
catch ( DirectoryNotFoundException )
if ( File . Exists ( responseCachePath )
& & _fileSystem . GetLastWriteTimeUtc ( responseCachePath ) . Add ( cacheLength ) > DateTime . UtcNow )
{
var stream = _fileSystem . GetFileStream ( responseCachePath , FileOpenMode . Open , FileAccessMode . Read , FileShareMode . Read , true ) ;
return new HttpResponseInfo
{
ResponseUrl = url ,
Content = stream ,
StatusCode = HttpStatusCode . OK ,
ContentLength = stream . Length
} ;
}
return null ;
@ -395,38 +395,33 @@ namespace Emby.Server.Implementations.Library
foreach ( var fileSystemInfo in item . GetDeletePaths ( ) . ToList ( ) )
{
try
if ( File . Exists ( fileSystemInfo . FullName ) )
{
_logger . LogDebug ( "Deleting path {path}" , fileSystemInfo . FullName ) ;
if ( fileSystemInfo . IsDirectory )
try
{
_fileSystem . DeleteDirectory ( fileSystemInfo . FullName , true ) ;
_logger . LogDebug ( "Deleting path {path}" , fileSystemInfo . FullName ) ;
if ( fileSystemInfo . IsDirectory )
{
_fileSystem . DeleteDirectory ( fileSystemInfo . FullName , true ) ;
}
else
{
_fileSystem . DeleteFile ( fileSystemInfo . FullName ) ;
}
}
else
catch ( IOException )
{
_fileSystem . DeleteFile ( fileSystemInfo . FullName ) ;
if ( isRequiredForDelete )
{
throw ;
}
}
}
catch ( FileNotFoundException )
{
// may have already been deleted manually by user
}
catch ( DirectoryNotFoundException )
{
// may have already been deleted manually by user
}
catch ( IOException )
{
if ( isRequiredForDelete )
{
throw ;
}
}
catch ( UnauthorizedAccessException )
{
if ( isRequiredForDelete )
catch ( UnauthorizedAccessException )
{
throw ;
if ( isRequiredForDelete )
{
throw ;
}
}
}
@ -1029,6 +1029,11 @@ namespace Emby.Server.Implementations.Library
{
var path = GetPolicyFilePath ( user ) ;
if ( ! File . Exists ( path ) )
{
return GetDefaultPolicy ( user ) ;
}
try
{
lock ( _policySyncLock )
@ -1036,10 +1041,6 @@ namespace Emby.Server.Implementations.Library
return ( UserPolicy ) _xmlSerializer . DeserializeFromFile ( typeof ( UserPolicy ) , path ) ;
}
}
catch ( FileNotFoundException )
{
return GetDefaultPolicy ( user ) ;
}
catch ( IOException )
{
return GetDefaultPolicy ( user ) ;
@ -1128,6 +1129,11 @@ namespace Emby.Server.Implementations.Library
{
var path = GetConfigurationFilePath ( user ) ;
if ( ! File . Exists ( path ) )
{
return new UserConfiguration ( ) ;
}
try
{
lock ( _configSyncLock )
@ -1135,10 +1141,6 @@ namespace Emby.Server.Implementations.Library
return ( UserConfiguration ) _xmlSerializer . DeserializeFromFile ( typeof ( UserConfiguration ) , path ) ;
}
}
catch ( FileNotFoundException )
{
return new UserConfiguration ( ) ;
}
catch ( IOException )
{
return new UserConfiguration ( ) ;
@ -101,17 +101,20 @@ namespace Emby.Server.Implementations.ScheduledTasks
List < string > previouslyFailedImages ;
try
if ( File . Exis ts( failHisto ryPath) )
{
previouslyFailedImages = _fileSystem . ReadAllText ( failHistoryPath )
. Split ( new [ ] { '|' } , StringSplitOptions . RemoveEmptyEntries )
. ToList ( ) ;
}
catch ( FileNotFoundException )
{
previouslyFailedImages = new List < string > ( ) ;
try
{
previouslyFailedImages = _fileSystem . ReadAllText ( failHistoryPath )
. Split ( new [ ] { '|' } , StringSplitOptions . RemoveEmptyEntries )
. ToList ( ) ;
}
catch ( IOException )
{
previouslyFailedImages = new List < string > ( ) ;
}
}
catch ( IOException )
else
{
previouslyFailedImages = new List < string > ( ) ;
}
@ -129,21 +129,16 @@ namespace Emby.Server.Implementations.ScheduledTasks
{
if ( _lastExecutionResult = = null & & ! _readFromFile )
{
try
if ( File . Exists ( path ) )
{
_lastExecutionResult = JsonSerializer . DeserializeFromFile < TaskResult > ( path ) ;
}
catch ( DirectoryNotFoundException )
{
// File doesn't exist. No biggie
}
catch ( FileNotFoundException )
{
// File doesn't exist. No biggie
}
catch ( Exception ex )
{
Logger . LogError ( ex , "Error deserializing {path}" , path ) ;
try
{
_lastExecutionResult = JsonSerializer . DeserializeFromFile < TaskResult > ( path ) ;
}
catch ( Exception ex )
{
Logger . LogError ( ex , "Error deserializing {File}" , path ) ;
}
}
_readFromFile = true ;
}
@ -532,28 +527,16 @@ namespace Emby.Server.Implementations.ScheduledTasks
private TaskTriggerInfo [ ] LoadTriggerSettings ( )
{
try
{
var list = JsonSerializer . DeserializeFromFile < IEnumerable < TaskTriggerInfo > > ( GetConfigurationFilePath ( ) ) ;
if ( list ! = null )
{
return list . ToArray ( ) ;
}
}
catch ( FileNotFoundException )
{
// File doesn't exist. No biggie. Return defaults.
}
catch ( DirectoryNotFoundException )
string path = GetConfigurationFilePath ( ) ;
if ( ! File . Exists ( path ) )
{
// File doesn't exist. No biggie. Return defaults.
GetDefaultTriggers ( ) ;
}
catch
{
}
return GetDefaultTriggers ( ) ;
var list = JsonSerializer . DeserializeFromFile < TaskTriggerInfo [ ] > ( path ) ;
return list ? ? GetDefaultTriggers ( ) ;
}
private TaskTriggerInfo [ ] GetDefaultTriggers ( )