Updated synchronization progress implementation.

This commit is contained in:
Burak Kaan Köse
2026-04-11 12:57:51 +02:00
parent 40318ef99c
commit 5cb49efeb4
20 changed files with 444 additions and 145 deletions
@@ -147,6 +147,7 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
if (shouldExecuteRequests && changeRequestQueue.Any())
{
CurrentSynchronizationProgressCategory = SynchronizationProgressCategory.Mail;
State = AccountSynchronizerState.ExecutingRequests;
List<IRequestBundle<TBaseRequest>> nativeRequests = new();
@@ -264,6 +265,7 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
await synchronizationSemaphore.WaitAsync(activeSynchronizationCancellationToken);
// Set indeterminate progress for initial state
CurrentSynchronizationProgressCategory = SynchronizationProgressCategory.Mail;
UpdateSyncProgress(0, 0, "Synchronizing...");
State = AccountSynchronizerState.Synchronizing;
@@ -388,6 +390,7 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
if (shouldExecuteRequests)
{
calendarRequestsWereExecuting = true;
CurrentSynchronizationProgressCategory = SynchronizationProgressCategory.Calendar;
State = AccountSynchronizerState.ExecutingRequests;
List<IRequestBundle<TBaseRequest>> nativeRequests = new();
@@ -482,6 +485,7 @@ public abstract class WinoSynchronizer<TBaseRequest, TMessageType, TCalendarEven
await Task.Delay(maxExecutionDelay, cancellationToken);
}
CurrentSynchronizationProgressCategory = SynchronizationProgressCategory.Calendar;
var synchronizationResult = await SynchronizeCalendarEventsInternalAsync(options, cancellationToken);
return FinalizeCalendarResult(synchronizationResult);
}