mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-30 20:38:27 +01:00
Merge branch 'master' into network-rewrite
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
using Jellyfin.Data.Enums;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
@@ -53,13 +54,21 @@ internal class FixPlaylistOwner : IMigrationRoutine
|
||||
foreach (var playlist in playlists)
|
||||
{
|
||||
var shares = playlist.Shares;
|
||||
var firstEditShare = shares.First(x => x.CanEdit);
|
||||
if (firstEditShare is not null && Guid.TryParse(firstEditShare.UserId, out var guid))
|
||||
if (shares.Length > 0)
|
||||
{
|
||||
playlist.OwnerUserId = guid;
|
||||
playlist.Shares = shares.Where(x => x != firstEditShare).ToArray();
|
||||
|
||||
_playlistManager.UpdatePlaylistAsync(playlist).GetAwaiter().GetResult();
|
||||
var firstEditShare = shares.First(x => x.CanEdit);
|
||||
if (firstEditShare is not null && Guid.TryParse(firstEditShare.UserId, out var guid))
|
||||
{
|
||||
playlist.OwnerUserId = guid;
|
||||
playlist.Shares = shares.Where(x => x != firstEditShare).ToArray();
|
||||
playlist.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, CancellationToken.None).GetAwaiter().GetResult();
|
||||
_playlistManager.SavePlaylistFile(playlist);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
playlist.OpenAccess = true;
|
||||
playlist.UpdateToRepositoryAsync(ItemUpdateType.MetadataEdit, CancellationToken.None).GetAwaiter().GetResult();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -182,7 +182,7 @@ namespace Jellyfin.Server
|
||||
|
||||
// This must be injected before any path related middleware.
|
||||
mainApp.UsePathTrim();
|
||||
mainApp.UseStaticFiles();
|
||||
|
||||
if (appConfig.HostWebClient())
|
||||
{
|
||||
var extensionProvider = new FileExtensionContentTypeProvider();
|
||||
@@ -190,6 +190,11 @@ namespace Jellyfin.Server
|
||||
// subtitles octopus requires .data, .mem files.
|
||||
extensionProvider.Mappings.Add(".data", MediaTypeNames.Application.Octet);
|
||||
extensionProvider.Mappings.Add(".mem", MediaTypeNames.Application.Octet);
|
||||
mainApp.UseDefaultFiles(new DefaultFilesOptions
|
||||
{
|
||||
FileProvider = new PhysicalFileProvider(_serverConfigurationManager.ApplicationPaths.WebPath),
|
||||
RequestPath = "/web"
|
||||
});
|
||||
mainApp.UseStaticFiles(new StaticFileOptions
|
||||
{
|
||||
FileProvider = new PhysicalFileProvider(_serverConfigurationManager.ApplicationPaths.WebPath),
|
||||
@@ -200,6 +205,7 @@ namespace Jellyfin.Server
|
||||
mainApp.UseRobotsRedirection();
|
||||
}
|
||||
|
||||
mainApp.UseStaticFiles();
|
||||
mainApp.UseAuthentication();
|
||||
mainApp.UseJellyfinApiSwagger(_serverConfigurationManager);
|
||||
mainApp.UseQueryStringDecoding();
|
||||
|
||||
Reference in New Issue
Block a user