Your ROOT_URL in app.ini is https://git.cloudchain.link/ but you are visiting https://dash.bss.nz/open-source-mirrors/jellyfin/commit/0b5d4ce3f839118a0a5903ec278321ecfecf1c32
You should set ROOT_URL correctly, otherwise the web may not work correctly.
12 changed files with
34 additions and
35 deletions
@ -499,6 +499,24 @@ namespace Emby.Common.Implementations.IO
CopyFile ( temp1 , file2 , true ) ;
}
public bool AreEqual ( string path1 , string path2 )
{
if ( path1 = = null & & path2 = = null )
{
return true ;
}
if ( path1 = = null | | path2 = = null )
{
return false ;
}
path1 = path1 . TrimEnd ( DirectorySeparatorChar ) ;
path2 = path2 . TrimEnd ( DirectorySeparatorChar ) ;
return string . Equals ( path1 , path2 , StringComparison . OrdinalIgnoreCase ) ;
}
public bool ContainsSubPath ( string parentPath , string path )
{
if ( string . IsNullOrEmpty ( parentPath ) )
@ -87,7 +87,7 @@ namespace Emby.Server.Core.IO
public bool IsPathLocked ( string path )
{
var lockedPaths = _tempIgnoredPaths . Keys . ToList ( ) ;
return lockedPaths . Any ( i = > string . Equals ( i , path , StringComparison . OrdinalIgnoreCase ) | | _fileSystem . ContainsSubPath ( i , path ) ) ;
return lockedPaths . Any ( i = > _fileSystem . AreEqual ( i , path ) | | _fileSystem . ContainsSubPath ( i , path ) ) ;
}
public async void ReportFileSystemChangeComplete ( string path , bool refreshPath )
@ -925,7 +925,11 @@ namespace Emby.Server.Implementations.Connect
}
_data . PendingAuthorizations = newPendingList ;
CacheData ( ) ;
if ( ! newPendingList . Select ( i = > i . Id ) . SequenceEqual ( currentPendingList . Select ( i = > i . Id ) , StringComparer . Ordinal ) )
{
CacheData ( ) ;
}
await RefreshGuestNames ( list , refreshImages ) . ConfigureAwait ( false ) ;
}
@ -361,10 +361,7 @@ namespace Emby.Server.Implementations.Dto
if ( collectionFolder ! = null )
{
dto . OriginalCollectionType = collectionFolder . CollectionType ;
dto . CollectionType = user = = null ?
collectionFolder . CollectionType :
collectionFolder . GetViewType ( user ) ;
dto . CollectionType = collectionFolder . CollectionType ;
}
if ( fields . Contains ( ItemFields . CanDelete ) )
@ -2010,7 +2010,7 @@ namespace Emby.Server.Implementations.Library
private string GetContentTypeOverride ( string path , bool inherit )
{
var nameValuePair = ConfigurationManager . Configuration . ContentTypes . FirstOrDefault ( i = > string . Equals ( i . Name , path , StringComparison . OrdinalIgnoreCase ) | | ( inherit & & ! string . IsNullOrWhiteSpace ( i . Name ) & & _fileSystem . ContainsSubPath ( i . Name , path ) ) ) ;
var nameValuePair = ConfigurationManager . Configuration . ContentTypes . FirstOrDefault ( i = > _fileSystem . AreEqual ( i . Name , path ) | | ( inherit & & ! string . IsNullOrWhiteSpace ( i . Name ) & & _fileSystem . ContainsSubPath ( i . Name , path ) ) ) ;
if ( nameValuePair ! = null )
{
return nameValuePair . Value ;
@ -3066,7 +3066,7 @@ namespace Emby.Server.Implementations.Library
{
removeList . Add ( contentType ) ;
}
else if ( string . Equals ( path , contentType . Nam e, StringComparison . OrdinalIgnoreCas e)
else if ( _fileSystem . AreEqual ( path , contentType . Nam e)
| | _fileSystem . ContainsSubPath ( path , contentType . Name ) )
{
removeList . Add ( contentType ) ;
@ -55,8 +55,6 @@ namespace Emby.Server.Implementations.Library
} ) . ToList ( ) ;
}
var plainFolderIds = user . Configuration . PlainFolderViews . Select ( i = > new Guid ( i ) ) . ToList ( ) ;
var groupedFolders = new List < ICollectionFolder > ( ) ;
var list = new List < Folder > ( ) ;
@ -72,12 +70,6 @@ namespace Emby.Server.Implementations.Library
continue ;
}
if ( plainFolderIds . Contains ( folder . Id ) & & UserView . IsEligibleForEnhancedView ( folderViewType ) )
{
list . Add ( folder ) ;
continue ;
}
if ( collectionFolder ! = null & & UserView . IsEligibleForGrouping ( folder ) & & user . IsFolderGrouped ( folder . Id ) )
{
groupedFolders . Add ( collectionFolder ) ;
@ -150,7 +150,7 @@ namespace Emby.Server.Implementations.LiveTv.EmbyTV
foreach ( var recordingFolder in recordingFolders )
{
var pathsToCreate = recordingFolder . Locations
. Where ( i = > ! allExistingPaths . Contains( i , StringComparer . OrdinalIgnoreCase ) )
. Where ( i = > ! allExistingPaths . Any( p = > _fileSystem . AreEqual ( p , i ) ) )
. ToList ( ) ;
if ( pathsToCreate . Count = = 0 )
@ -151,7 +151,9 @@ namespace Emby.Server.Implementations.UserViews
string [ ] collectionStripViewTypes =
{
CollectionType . Movies ,
CollectionType . TvShows
CollectionType . TvShows ,
CollectionType . Playlists ,
CollectionType . Photos
} ;
return collectionStripViewTypes . Contains ( view . ViewType ? ? string . Empty ) ;
@ -647,7 +647,7 @@ namespace MediaBrowser.Controller.Entities
private static bool ContainsPath ( string parent , string path )
{
return string . Equals ( parent , path , StringComparison . OrdinalIgnoreCase ) | | FileSystem . ContainsSubPath ( parent , path ) ;
return FileSystem . AreEqual ( parent , path ) | | FileSystem . ContainsSubPath ( parent , path ) ;
}
/// <summary>
@ -20,17 +20,4 @@ namespace MediaBrowser.Controller.Entities
{
bool EnableUserSpecificView { get ; }
}
public static class CollectionFolderExtensions
{
public static string GetViewType ( this ICollectionFolder folder , User user )
{
if ( user . Configuration . PlainFolderViews . Contains ( folder . Id . ToString ( "N" ) , StringComparer . OrdinalIgnoreCase ) )
{
return null ;
}
return folder . CollectionType ;
}
}
}
@ -37,7 +37,6 @@ namespace MediaBrowser.Model.Configuration
public string [ ] OrderedViews { get ; set ; }
public string [ ] LatestItemsExcludes { get ; set ; }
public string [ ] PlainFolderViews { get ; set ; }
public bool HidePlayedInLatest { get ; set ; }
@ -61,8 +60,6 @@ namespace MediaBrowser.Model.Configuration
LatestItemsExcludes = new string [ ] { } ;
OrderedViews = new string [ ] { } ;
PlainFolderViews = new string [ ] { } ;
GroupedFolders = new string [ ] { } ;
}
}
@ -120,6 +120,8 @@ namespace MediaBrowser.Model.IO
/// <param name="file2">The file2.</param>
void SwapFiles ( string file1 , string file2 ) ;
bool AreEqual ( string path1 , string path2 ) ;
/// <summary>
/// Determines whether [contains sub path] [the specified parent path].
/// </summary>