Fixing UI thread issues with bulk operations and request queue refactoring.

This commit is contained in:
Burak Kaan Köse
2026-04-20 02:18:23 +02:00
parent 3bd0b69429
commit 54148716bb
38 changed files with 1644 additions and 206 deletions
+7 -7
View File
@@ -161,11 +161,11 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
foreach (var group in keys)
{
var key = group.Key;
var firstRequest = group.FirstOrDefault();
if (key is MailSynchronizerOperation mailSynchronizerOperation)
if (firstRequest is IMailActionRequest mailActionRequest)
{
switch (mailSynchronizerOperation)
switch (mailActionRequest.Operation)
{
case MailSynchronizerOperation.MarkRead:
nativeRequests.AddRange(MarkRead(new BatchMarkReadRequest(group.Cast<MarkReadRequest>())));
@@ -204,9 +204,9 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
break;
}
}
else if (key is FolderSynchronizerOperation folderSynchronizerOperation)
else if (firstRequest is IFolderActionRequest folderActionRequest)
{
switch (folderSynchronizerOperation)
switch (folderActionRequest.Operation)
{
case FolderSynchronizerOperation.RenameFolder:
nativeRequests.AddRange(RenameFolder(group.ElementAt(0) as RenameFolderRequest));
@@ -230,9 +230,9 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
break;
}
}
else if (key is CategorySynchronizerOperation categorySynchronizerOperation)
else if (firstRequest is ICategoryActionRequest categoryActionRequest)
{
switch (categorySynchronizerOperation)
switch (categoryActionRequest.Operation)
{
case CategorySynchronizerOperation.CreateCategory:
nativeRequests.AddRange(CreateCategory(group.ElementAt(0) as MailCategoryCreateRequest));