Skip to content

fix: restore async direct CAA login preparation - #430

Merged
subzeroid merged 1 commit into
mainfrom
fix/caa-direct-login-prepare-async
Aug 15, 2026
Merged

fix: restore async direct CAA login preparation#430
subzeroid merged 1 commit into
mainfrom
fix/caa-direct-login-prepare-async

Conversation

@subzeroid

@subzeroid subzeroid commented Aug 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • Restore the documented direct-call behavior by automatically awaiting the CAA preflight when no server-issued AAC is present.
  • Preserve manually prepared and explicit opt-out flows, forward domain and flow overrides through preparation, and roll partial state back on exceptions or cancellation so retries cannot bypass an incomplete preflight.
  • Add regression coverage for ordering, failure paths, retries, cancellation, repeated calls, and positional API compatibility, and update the low-level login documentation.

Verification

  • Exact CI regression target — 807 passed, 13 skipped, 35 subtests passed
  • Focused CAA and adjacent Bloks tests — 50 passed
  • ruff check .
  • ruff format --check .
  • bandit -c pyproject.toml -r aiograpi
  • mkdocs build --strict
  • pre-commit run --all-files
  • uv lock --check
  • uv build
  • Live credential verification — the direct helper automatically completed the CAA preflight and returned a usable session; domain, waterfall, AAC, and attestation continuity were verified across the flow, with exactly one final credential request. The returned session was not applied or saved.

Fixes #428
Related sync fix: subzeroid/instagrapi#2769

@subzeroid
subzeroid merged commit 1086bee into main Aug 15, 2026
13 checks passed
@subzeroid
subzeroid deleted the fix/caa-direct-login-prepare-async branch August 15, 2026 23:00
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.12.10: bloks_caa_login_send_request() now requires a server-issued aac — breaking for direct callers, not flagged in the changelog

2 participants