Skip to content

Decorate checkout URLs in CheckoutViewController - #649

Draft
kieran-osgood-shopify wants to merge 1 commit into
mainfrom
ko/fix-swift-checkout-url-decoration-1215
Draft

Decorate checkout URLs in CheckoutViewController#649
kieran-osgood-shopify wants to merge 1 commit into
mainfrom
ko/fix-swift-checkout-url-decoration-1215

Conversation

@kieran-osgood-shopify

@kieran-osgood-shopify kieran-osgood-shopify commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

TLDR

CheckoutViewController is public. It is missing the ecp query params so it never subscribes to protocol.

All API's route through CheckoutViewController, and decorate the url before instantiating it

This PR moves the decoration logic into CheckoutViewController, so all paths are covered equally.

Fixes shop/issues-checkout-kit#1215.

What changes are you making?

This change:

  • decorates URLs in the public and accelerated-checkout CheckoutViewController initializers
  • removes redundant decoration from UIKit convenience presentation and SwiftUI
  • preserves preload as its own decoration boundary
  • adds coverage for every URL entrypoint, managed query parameter replacement, and idempotence

How to test

  • dev swift test
  • dev swift lint
  • dev swift api check

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)

README changes are not required because the documented presentation APIs and usage remain unchanged.


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.

Assisted-By: devx/e431cd55-e9d8-49d7-9154-66877c8dda59
@github-actions github-actions Bot added the #gsd:50662 Rebase Checkout Kit on UCP label Aug 14, 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