Skip to content

[Android] Handle Cloudflare managed challenges - #687

Open
markmur wants to merge 2 commits into
cloudflare-managed-challenge-swiftfrom
cloudflare-managed-challenge-android
Open

[Android] Handle Cloudflare managed challenges#687
markmur wants to merge 2 commits into
cloudflare-managed-challenge-swiftfrom
cloudflare-managed-challenge-android

Conversation

@markmur

@markmur markmur commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • classify special HTTP responses through a generic HttpResponseHandler
  • allow presented checkouts to render Cloudflare managed challenges
  • stop and discard backgrounded preload challenges without checkout lifecycle failures

Stack

@markmur
markmur requested a review from a team as a code owner August 24, 2026 09:46
@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 24, 2026
@markmur markmur self-assigned this Aug 24, 2026
@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown

Package Size

Platform Artifact Base Head Delta
Android release AAR 291.2 KiB 292.1 KiB +1013 B
Android file breakdown
File Base Head Delta
classes.jar 308.4 KiB 309.4 KiB +987 B
res/layout/checkout_view_content.xml 2.6 KiB 2.6 KiB 0 B
res/layout/checkout_sheet_content.xml 2.0 KiB 2.0 KiB 0 B
res/values/values.xml 1.3 KiB 1.3 KiB 0 B
R.txt 1.2 KiB 1.2 KiB 0 B
AndroidManifest.xml 922 B 922 B 0 B
proguard.txt 798 B 798 B 0 B
res/drawable/close.xml 431 B 431 B 0 B
res/menu/checkout_menu.xml 354 B 354 B 0 B
META-INF/com/android/build/gradle/aar-metadata.properties 157 B 157 B 0 B

Measured from the PR base SHA and PR head SHA. The file breakdown shows uncompressed sizes within each package artifact, so individual files do not sum to the compressed artifact total. This comment reports package artifact sizes only; it is not a final app binary-size report.

@bitrise

bitrise Bot commented Aug 24, 2026

Copy link
Copy Markdown

Install this build

Open Tophat, select your target device, then click Install. Links open on the Mac running Tophat.

SDK Install
Kotlin Install with Tophat

Checkout Kit E2E results

Status Suite Target Platform OS version tag Device
kotlin-android kotlin android latest Google Pixel 11
Android 17.0

val failureReason = PreloadState.FailureReason.HttpError(statusCode)
val failureMessage = "HTTP response returned status code $statusCode."
val isBackgroundedPreload =
preloadCache.contains(this@CheckoutWebView) && isPreloadRequest && !isPresented

@kieran-osgood-shopify kieran-osgood-shopify Aug 24, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking as I'm not sure how to start manual testing and trying to work out if theres any issue with this

We have slightly different semantics for what isPresented means between v3 and v4

In v3 you implemented isPresented via isAttachedToWindow
Here the presented semantics are whether the view is shown to the user, it can be dismissed if its preload and still kept in the view hierarchy

@markmur
markmur force-pushed the cloudflare-managed-challenge-android branch from 8225ebb to f9954a1 Compare August 25, 2026 10:28
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.

2 participants