feat(notifications): SMS notifications retry under SmsConfiguration.MaxRetries/RetryDelay (SMTP policy remains the Email + fallback policy) — wires the dead fields
Claude-Session: https://claude.ai/code/session_01MtdgwpEeCUn6cUA5f1LMPj
This commit is contained in:
@@ -28,19 +28,21 @@ public class SmsConfiguration
|
||||
/// <summary>
|
||||
/// Gets or sets the maximum number of delivery retries before parking.
|
||||
/// <para>
|
||||
/// RESERVED: the Notification Outbox dispatcher currently derives the retry policy
|
||||
/// (max-retries + interval) from the central SMTP configuration for <em>all</em>
|
||||
/// notification types — see the "retry reuses central SMTP max-retry-count and fixed
|
||||
/// interval" design decision and <c>NotificationOutboxActor.ResolveRetryPolicyAsync</c>.
|
||||
/// This per-SMS value is persisted/transported for forward-compatibility but is NOT
|
||||
/// yet read at dispatch time. Honoring it per-type is a deferred enhancement (it would
|
||||
/// supersede the shared-SMTP-policy decision and is not a silent behavioral change).
|
||||
/// LIVE for SMS: the Notification Outbox dispatcher selects the retry policy by
|
||||
/// notification <c>Type</c> — SMS notifications retry under this value (and
|
||||
/// <see cref="RetryDelay"/>), while Email (and every other type) uses the central SMTP
|
||||
/// policy. When no SMS configuration row exists the dispatcher falls back to the SMTP
|
||||
/// policy. A non-positive value is clamped to the outbox fallback (10) with a Warning so
|
||||
/// a misconfiguration cannot silently park SMS on the first transient failure. See
|
||||
/// <c>NotificationOutboxActor.ResolveRetryPoliciesAsync</c>.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
public int MaxRetries { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the delay between retry attempts. RESERVED — see <see cref="MaxRetries"/>:
|
||||
/// the dispatcher currently uses the shared SMTP-derived retry interval for all types.
|
||||
/// Gets or sets the delay between retry attempts. LIVE for SMS — see
|
||||
/// <see cref="MaxRetries"/>: the dispatcher schedules the next SMS attempt with this delay
|
||||
/// (clamped to the 1-minute fallback if non-positive), falling back to the SMTP interval
|
||||
/// when no SMS configuration exists.
|
||||
/// </summary>
|
||||
public TimeSpan RetryDelay { get; set; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user