Skip to content

Add the E2E control link parser to all four sample apps - #554

Draft
kieran-osgood-shopify wants to merge 1 commit into
graphite-base/554from
kieran-osgood/e2e-control-link
Draft

Add the E2E control link parser to all four sample apps#554
kieran-osgood-shopify wants to merge 1 commit into
graphite-base/554from
kieran-osgood/e2e-control-link

Conversation

@kieran-osgood-shopify

Copy link
Copy Markdown
Contributor

What changes are you making?

How to test


Before you merge

Important

  • I've added tests to support my implementation
  • I have read and agree with the Contribution Guidelines
  • I have read and agree with the Code of Conduct
  • I've updated the relevant platform README (platforms/swift/README.md and/or platforms/android/README.md)

Releasing a new Swift version?
  • I have bumped the version in ShopifyCheckoutKit.podspec
  • I have bumped the version in platforms/swift/Sources/ShopifyCheckoutKit/ShopifyCheckoutKit.swift
  • I have updated the SwiftPM/CocoaPods version snippets in platforms/swift/README.md (major version only)
Releasing a new Embedded Checkout Protocol version?
  • I have bumped embeddedCheckoutProtocolAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated protocol/languages/kotlin/embedded-checkout-protocol/api/embedded-checkout-protocol.api if the public API changed
Releasing a new Android version?
  • I have bumped checkoutKitAndroid in platforms/android/gradle/libs.versions.toml
  • I have updated the Gradle/Maven version snippets in platforms/android/README.md

Tip

See the Contributing documentation for the full release process per platform.

@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Jul 31, 2026
@tiagocandido
tiagocandido force-pushed the e2e-sample-test-seams branch from 1abe472 to 71f2515 Compare August 3, 2026 12:12
@tiagocandido
tiagocandido force-pushed the kieran-osgood/e2e-control-link branch from fd87aa1 to 278ce30 Compare August 3, 2026 12:12
@tiagocandido
tiagocandido force-pushed the e2e-sample-test-seams branch from 71f2515 to fc857ab Compare August 3, 2026 14:42
@tiagocandido
tiagocandido force-pushed the kieran-osgood/e2e-control-link branch from 278ce30 to 66ee89d Compare August 3, 2026 14:42
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-control-link branch from 66ee89d to 7c28f96 Compare August 4, 2026 17:04
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-control-link branch from 7c28f96 to a3717e8 Compare August 5, 2026 11:06
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the e2e-sample-test-seams branch 2 times, most recently from 6584a19 to eb70a16 Compare August 5, 2026 11:35
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-control-link branch 2 times, most recently from 9c0c058 to babcf9e Compare August 5, 2026 11:45
The E2E suite drives four apps: Swift iOS, Kotlin Android, React Native iOS
and React Native Android. Only React Native could read a deep link, and only
for a cart. Widen the contract to <scheme>://e2e/<command> with the commands
reset, cart and signIn, and port the parser to Swift and Kotlin so one Maestro
flow drives every app.

Every platform rewrites the scheme to https before parsing. Neither
Foundation URLComponents nor java.net.URI accepts the underscores in the
Android application id, and the React Native URL polyfill parses a host only
for http(s). A test per platform pins that behaviour with both app schemes.

The parser stays pure and keeps three outcomes: nil when the link belongs to
another feature, a parsed command, or an error that names the bad parameter.
A parameter that is present must carry a valid value.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@kieran-osgood-shopify
kieran-osgood-shopify force-pushed the kieran-osgood/e2e-control-link branch from babcf9e to 2c394fc Compare August 5, 2026 12:33
@kieran-osgood-shopify
kieran-osgood-shopify changed the base branch from e2e-sample-test-seams to graphite-base/554 August 5, 2026 14:51
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