Refactored all synchronizers to deal with some of the chronic issues.

This commit is contained in:
Burak Kaan Köse
2026-02-06 01:18:12 +01:00
parent d1425ca9ca
commit 071f1c9786
43 changed files with 2785 additions and 582 deletions
@@ -0,0 +1,31 @@
namespace Wino.Core.Domain.Enums;
/// <summary>
/// Classifies the severity of synchronization errors to determine retry behavior.
/// </summary>
public enum SynchronizerErrorSeverity
{
/// <summary>
/// Transient error that should be retried with exponential backoff.
/// Examples: network timeout, temporary server unavailability, rate limiting.
/// </summary>
Transient,
/// <summary>
/// Error that can be recovered from by skipping the affected item/folder and continuing sync.
/// Examples: folder deleted externally, message not found, permission denied on single item.
/// </summary>
Recoverable,
/// <summary>
/// Fatal error that requires stopping synchronization and user intervention.
/// Examples: account disabled, server permanently unavailable, critical configuration error.
/// </summary>
Fatal,
/// <summary>
/// Authentication error that requires the user to re-authenticate.
/// Examples: token expired, password changed, OAuth refresh failed.
/// </summary>
AuthRequired
}