diff --git a/CHANGELOG.md b/CHANGELOG.md index 34f6840fa..2234a2be6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -40,6 +40,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Fix loading requested number of epg entries for motion graphics elements - Fix bug with mirror channels where seemingly random content would be played every ~40 seconds - Fix chronological sorting for Other Videos that have release date metadata +- Fix playout sorting after using channel number editor + - If your playouts are sorted incorrectly, use the channel number editor to fix (swap two channels, then swap them back) ### Changed - No longer round framerate to nearest integer when normalizing framerate diff --git a/ErsatzTV.Application/Channels/Commands/UpdateChannelNumbersHandler.cs b/ErsatzTV.Application/Channels/Commands/UpdateChannelNumbersHandler.cs index 57a8b5a55..c28cc3a59 100644 --- a/ErsatzTV.Application/Channels/Commands/UpdateChannelNumbersHandler.cs +++ b/ErsatzTV.Application/Channels/Commands/UpdateChannelNumbersHandler.cs @@ -1,3 +1,4 @@ +using System.Globalization; using System.Threading.Channels; using ErsatzTV.Core; using ErsatzTV.Infrastructure.Data; @@ -38,6 +39,14 @@ public class UpdateChannelNumbersHandler( foreach (var channel in channelsToUpdate) { channel.Number = numberUpdates[channel.Id]; + if (double.TryParse(channel.Number, CultureInfo.InvariantCulture, out double sortNumber)) + { + channel.SortNumber = sortNumber; + } + else + { + return BaseError.New($"Failed to parse channel number {channel.Number}"); + } } // save those changes