From e8142ff3df85c0b46e75f5ed569a11fc2ec9a86a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Burak=20Kaan=20K=C3=B6se?= Date: Wed, 26 Feb 2025 11:45:23 +0100 Subject: [PATCH] Download messages in ascending order. --- .../ImapSync/ImapSynchronizationStrategyBase.cs | 8 ++++++-- WinoMail.Packaging/Package.appxmanifest | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Wino.Core/Synchronizers/ImapSync/ImapSynchronizationStrategyBase.cs b/Wino.Core/Synchronizers/ImapSync/ImapSynchronizationStrategyBase.cs index a25e2341..ae40e56a 100644 --- a/Wino.Core/Synchronizers/ImapSync/ImapSynchronizationStrategyBase.cs +++ b/Wino.Core/Synchronizers/ImapSync/ImapSynchronizationStrategyBase.cs @@ -42,7 +42,10 @@ public abstract class ImapSynchronizationStrategyBase : IImapSynchronizerStrateg public abstract Task> HandleSynchronizationAsync(IImapClient client, MailItemFolder folder, IImapSynchronizer synchronizer, CancellationToken cancellationToken = default); internal abstract Task> GetChangedUidsAsync(IImapClient client, IMailFolder remoteFolder, IImapSynchronizer synchronizer, CancellationToken cancellationToken = default); - protected async Task> HandleChangedUIdsAsync(IImapSynchronizer synchronizer, IMailFolder remoteFolder, IList changedUids, CancellationToken cancellationToken) + protected async Task> HandleChangedUIdsAsync(IImapSynchronizer synchronizer, + IMailFolder remoteFolder, + IList changedUids, + CancellationToken cancellationToken) { List downloadedMessageIds = new(); @@ -88,7 +91,8 @@ public abstract class ImapSynchronizationStrategyBase : IImapSynchronizerStrateg foreach (var group in batchedMessageIds) { downloadedMessageIds.AddRange(group.Select(a => MailkitClientExtensions.CreateUid(Folder.Id, a.Id))); - await DownloadMessagesAsync(synchronizer, remoteFolder, Folder, new UniqueIdSet(group), cancellationToken).ConfigureAwait(false); + + await DownloadMessagesAsync(synchronizer, remoteFolder, Folder, new UniqueIdSet(group, SortOrder.Ascending), cancellationToken).ConfigureAwait(false); } return downloadedMessageIds; diff --git a/WinoMail.Packaging/Package.appxmanifest b/WinoMail.Packaging/Package.appxmanifest index ceab6104..b95d6126 100644 --- a/WinoMail.Packaging/Package.appxmanifest +++ b/WinoMail.Packaging/Package.appxmanifest @@ -12,7 +12,7 @@ + Version="1.10.2.0" />