Skip to content

[Android] Respect Retry-After for preload throttling - #661

Draft
markmur wants to merge 1 commit into
preload-retry-after-swiftfrom
preload-retry-after-android
Draft

[Android] Respect Retry-After for preload throttling#661
markmur wants to merge 1 commit into
preload-retry-after-swiftfrom
preload-retry-after-android

Conversation

@markmur

@markmur markmur commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

What changes are you making?

  • Parse Retry-After delay-seconds and HTTP-date response headers.
  • Add a managed preload throttle policy by default: a 429 with a valid Retry-After value returns a throttled failure and suppresses explicit preload calls until the delay elapses.
  • Add a passthrough policy that returns the existing HTTP failure with retryAfterSeconds metadata and applies no cooldown.
  • Expose retryAfterSeconds on presentation CheckoutException values without changing presentation behavior.
  • Preserve the existing Java constructors, document the policies, and update the public Android API baseline.

Checkout Kit never retries a throttled preload automatically, and preload cooldowns never block presentation.

Before you merge

  • I have added tests to support my implementation.
  • I have updated the Android README.

Focused parser, configuration, preload, presentation, and Java interop tests pass. The Android public API check and library Detekt pass. The aggregate Android formatter could not configure the demo app because generated local environment configuration is absent from the isolated worktree; library formatting checks pass.

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 17, 2026

markmur commented Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@markmur
markmur force-pushed the preload-retry-after-android branch from 920da2e to 093ffb2 Compare August 18, 2026 10:57
@markmur
markmur force-pushed the preload-retry-after-swift branch from 480a13c to 65b6a5a Compare August 18, 2026 10:57
@markmur markmur changed the title [Android] Expose Retry-After on HTTP failures [Android] Respect Retry-After for preload throttling Aug 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

#gsd:50662 Rebase Checkout Kit on UCP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant