diff --git a/Directory.Packages.props b/Directory.Packages.props index d824c2f3..01d3266a 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -32,6 +32,7 @@ + @@ -39,7 +40,7 @@ - + @@ -70,10 +71,10 @@ - + - + \ No newline at end of file diff --git a/Wino.Mail.ViewModels/MailListPageViewModel.cs b/Wino.Mail.ViewModels/MailListPageViewModel.cs index cea2c22e..0d836d95 100644 --- a/Wino.Mail.ViewModels/MailListPageViewModel.cs +++ b/Wino.Mail.ViewModels/MailListPageViewModel.cs @@ -468,14 +468,33 @@ public partial class MailListPageViewModel : MailBaseViewModel, } /// - /// Creates test notifications for the currently selected items. + /// Sends a new message to synchronize current folder. /// [RelayCommand] - private async Task SyncFolder() + private void SyncFolder() { - if (!CanSynchronize || MailCollection.SelectedItemsCount == 0) return; + if (!CanSynchronize) return; - await _notificationBuilder.CreateNotificationsAsync(MailCollection.SelectedItems.Select(a => a.MailCopy)); + // Only synchronize listed folders. + + // When doing linked inbox sync, we need to save the sync id to report progress back only once. + // Otherwise, we will report progress for each folder and that's what we don't want. + + trackingSynchronizationId = Guid.NewGuid(); + completedTrackingSynchronizationCount = 0; + + foreach (var folder in ActiveFolder.HandlingFolders) + { + var options = new MailSynchronizationOptions() + { + AccountId = folder.MailAccountId, + Type = MailSynchronizationType.CustomFolders, + SynchronizationFolderIds = [folder.Id], + GroupedSynchronizationTrackingId = trackingSynchronizationId + }; + + Messenger.Send(new NewMailSynchronizationRequested(options)); + } } [RelayCommand] diff --git a/Wino.Mail.WinUI/Wino.Mail.WinUI.csproj b/Wino.Mail.WinUI/Wino.Mail.WinUI.csproj index e5c8e634..217e9d54 100644 --- a/Wino.Mail.WinUI/Wino.Mail.WinUI.csproj +++ b/Wino.Mail.WinUI/Wino.Mail.WinUI.csproj @@ -185,6 +185,10 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + @@ -366,10 +370,10 @@ False True SHA256 - True + False True Always - x64 + x86|x64|arm64 0 2661584A2F31D3419FFF8AA09A2C16B1991B8290