mana-swift-core/Sources/ManaCore/Auth
Till JS 53d5dca45c feat(auth): RefreshFailurePolicy + Diagnostik (v1.8.0)
Neue opt-in Policy verhindert Logout durch einen einzelnen transienten
/refresh-Fehler beim Cold-Launch. Default-Verhalten unverändert.

- `RefreshFailurePolicy.immediateWipe` (Default) — wie bisher: jeder
  invalidierende Server-Response → keychain.wipe() + .signedOut.
- `RefreshFailurePolicy.softFirst` — erster invalidierender Fehler
  im Prozess wird nicht gewiped, Session bleibt. Wipe erst beim
  zweiten Fehler oder nach einem zuvor erfolgreichen Refresh im
  selben Prozess.

Plus erweiterte Diagnostik in refreshAccessToken(): jeder Attempt
loggt Token-Länge, once-succeeded, failure-count, policy, und bei
Failure HTTP-Status + Body-Excerpt (256 chars). Subsystem ev.mana.core.

Pageta-native ist erster Konsument (opt-in `.softFirst`) wegen
wiederholten TestFlight-Update-Logouts — Hypothese: transienter
Server-Glitch beim ersten Refresh nach Cold-Launch.

89/89 Tests (vorher 85/85), 4 neue für die Policy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-21 15:41:15 +02:00
..
AuthClient+Account.swift v1.5.0 — getProfile() + ProfileInfo 2026-05-14 01:06:50 +02:00
AuthClient.swift feat(auth): RefreshFailurePolicy + Diagnostik (v1.8.0) 2026-05-21 15:41:15 +02:00
AuthError.swift v1.2.0 — Guest-Mode + Refresh-Resilience 2026-05-13 22:16:08 +02:00
JWT.swift v1.0.0 — initiale Extraktion aus memoro-native 2026-05-12 19:13:31 +02:00
KeychainStore.swift fix(keychain): Migration-Fallback bei accessGroup-Wechsel (v1.5.1) 2026-05-17 18:19:43 +02:00
ManaAppConfig.swift feat(auth): RefreshFailurePolicy + Diagnostik (v1.8.0) 2026-05-21 15:41:15 +02:00
SharedKeychainGroup.swift fix(auth): ManaSharedKeychainGroup mit explizitem Team-ID-Prefix 2026-05-18 22:09:45 +02:00