Skip to content

fix(keychain): recover transient session reads#25

Merged
hubab1 merged 1 commit into
mainfrom
16-keychain-read-recovery
Jul 26, 2026
Merged

fix(keychain): recover transient session reads#25
hubab1 merged 1 commit into
mainfrom
16-keychain-read-recovery

Conversation

@hubab1

@hubab1 hubab1 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • classify Keychain reads as success, missing, transient failure, or terminal failure
  • retry only transient Apple Ads session reads at explicit user or service action boundaries
  • keep passive UI reads side-effect free and preserve stored credentials on recovery failures
  • carry recovery into manual, bulk, and headless refresh paths
  • redact Keychain item identifiers from diagnostics and bound bulk workflows to one recovery read

Verification

  • 37 focused AppServicesDependencyTests passed
  • 620 full tests passed across 54 suites on current main
  • Swift 6.2 complete strict-concurrency build passed
  • git diff --check passed

The automated suite simulates locked/unavailable Keychain status codes. It does not lock the user's real login Keychain.

Attribution

Recovery behavior was independently implemented after reviewing Felix Lisczyk’s fork commit b05eb34. This version narrows retries to explicitly classified transient Keychain statuses and redacts item identifiers. No commits were cherry-picked.

@hubab1
hubab1 force-pushed the 16-keychain-read-recovery branch from a2c8398 to 75e2d03 Compare July 26, 2026 12:06
@hubab1
hubab1 marked this pull request as ready for review July 26, 2026 12:06
@hubab1
hubab1 merged commit ea843a0 into main Jul 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant