Skip to content

Remove New Arch interop checks - New Arch only#456

Merged
kieran-osgood-shopify merged 4 commits into
mainfrom
kieran-osgood/03-30-featreplaceinteropwithnewarchcode
May 6, 2026
Merged

Remove New Arch interop checks - New Arch only#456
kieran-osgood-shopify merged 4 commits into
mainfrom
kieran-osgood/03-30-featreplaceinteropwithnewarchcode

Conversation

@kieran-osgood-shopify
Copy link
Copy Markdown
Contributor

@kieran-osgood-shopify kieran-osgood-shopify commented Mar 30, 2026

What changes are you making?

Following on from the introduction of turbo specs in #449 this PR removes the existing fabric conditionals leaving only the new architecture enabled going forwards


PR Checklist

Important

Releasing a new version of the kit?


Tip

See the Contributing documentation for instructions on how to publish a new version of the library.

Copy link
Copy Markdown
Contributor Author

kieran-osgood-shopify commented Mar 30, 2026

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 30, 2026

Coverage Report

Lines Statements Branches Functions
Coverage: 99%
99.53% (214/215) 95.96% (119/124) 100% (64/64)

@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from 14eb240 to b78d8d1 Compare April 14, 2026 11:58
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from b78d8d1 to ead781e Compare April 16, 2026 16:21
@kieran-osgood-shopify kieran-osgood-shopify marked this pull request as ready for review April 16, 2026 17:06
@kieran-osgood-shopify kieran-osgood-shopify requested a review from a team as a code owner April 16, 2026 17:06
@kieran-osgood-shopify kieran-osgood-shopify changed the title feat: replace interop with new arch code Remove New Arch interop checks - New Arch only Apr 17, 2026
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch 5 times, most recently from 07d29f6 to ba34eac Compare April 17, 2026 09:16
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch 2 times, most recently from 9c8a074 to 4be033f Compare April 17, 2026 09:31
Comment thread modules/@shopify/checkout-sheet-kit/RNShopifyCheckoutSheetKit.podspec Outdated
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-plan branch 2 times, most recently from fdb9158 to c99a638 Compare April 17, 2026 13:33
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch 2 times, most recently from 83db6fb to d45eb12 Compare April 20, 2026 14:41
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from d45eb12 to fa18e5f Compare May 1, 2026 10:17
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch 2 times, most recently from 0d43f55 to dc837d5 Compare May 5, 2026 17:17
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-plan branch 2 times, most recently from 62d1bcf to dee8e5c Compare May 5, 2026 17:52
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from dc837d5 to bf8dba6 Compare May 5, 2026 17:52
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the cx-rn-new-arch-plan branch 2 times, most recently from cd35500 to 5d96a31 Compare May 5, 2026 18:07
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from bf8dba6 to 6ddb3e2 Compare May 5, 2026 21:07
@Juanita-Dash Juanita-Dash changed the base branch from cx-rn-new-arch-plan to graphite-base/456 May 6, 2026 18:07
@Juanita-Dash Juanita-Dash changed the base branch from graphite-base/456 to main May 6, 2026 18:08
@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from main to graphite-base/456 May 6, 2026 18:50
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from 6ddb3e2 to afba17f Compare May 6, 2026 18:50
@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from graphite-base/456 to cx-rn-new-arch-plan May 6, 2026 18:51
Copy link
Copy Markdown
Contributor Author

kieran-osgood-shopify commented May 6, 2026

Merge activity

  • May 6, 7:17 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • May 6, 7:19 PM UTC: Graphite rebased this pull request as part of a merge.
  • May 6, 7:50 PM UTC: Graphite couldn't merge this PR because it failed for an unknown reason (GitHub is reporting that this PR is not mergeable, despite passing required status checks defined by your branch protection rules. Please check your rulesets for additional blocking criteria. Graphite Merge Queue does not currently support rulesets. Please contact Graphite support for further assistance.).

@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from cx-rn-new-arch-plan to graphite-base/456 May 6, 2026 19:17
kieran-osgood-shopify added a commit that referenced this pull request May 6, 2026
…igration (#449)

### What changes are you making?

This PR introduces TurboMobule specs and codegen but maintains the existing legacy compatability layer, which is removed in #456 
There is no real behavioural differences in this PR - it just introduces the build layer step of compiling the TS specs into c++ 

---

### PR Checklist

> [!IMPORTANT]
>
> - [ ] I've added tests to support my implementation
> - [ ] I have read and agree with the [Contribution Guidelines](https://github.com/shopify/checkout-sheet-kit-react-native/blob/main/.github/CONTRIBUTING.md).
> - [ ] I have read and agree with the [Code of Conduct](https://github.com/shopify/checkout-sheet-kit-react-native/blob/main/.github/CODE_OF_CONDUCT.md).
> - [ ] I've updated the [README](https://github.com/shopify/checkout-sheet-kit-react-native).
>
> _Releasing a new version of the kit?_
>
> - [ ] I have bumped the version number in the [`package.json` file](https://github.com/Shopify/checkout-sheet-kit-react-native/blob/main/modules/%40shopify/checkout-sheet-kit/package.json#L4).

---

> [!TIP]
> See the [Contributing documentation](https://github.com/shopify/checkout-sheet-kit-react-native/blob/main/.github/CONTRIBUTING.md#releasing-a-new-version) for instructions on how to publish a new version of the library.
@kieran-osgood-shopify kieran-osgood-shopify changed the base branch from graphite-base/456 to main May 6, 2026 19:18
kieran-osgood-shopify and others added 4 commits May 6, 2026 19:18
Now that we're on TurboModules, the four promise-based methods (getConfig,
configureAcceleratedCheckouts, isAcceleratedCheckoutAvailable,
isApplePayAvailable) can use synchronous JSI dispatch. Their native
implementations are pure in-memory reads or state writes, so the Promise
wrapper was boilerplate that blocked readable call sites.

BREAKING CHANGE: Consumers must drop `await` from these calls.

- Spec: return ConfigurationResultSpec / boolean directly instead of Promise
- iOS Swift: remove resolve/reject, return NSDictionary / NSNumber
- Android: annotate with isBlockingSynchronousMethod = true, return directly
- Consumer API in src/index.ts and src/context.tsx: drop async / await
- Tests: replace mockResolvedValue with mockReturnValue, drop awaits
- Sample app: drop awaits in Cart and SettingsScreen

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The codegen spec returns colorScheme and logLevel as `string`, but the
consumer-facing Configuration type uses typed enums. Replace the previous
`as Configuration` cast with a parser that:

- Validates colorScheme/logLevel against known enum values, falling back
  to the safest default when the native side returns an unrecognised value
- Re-shapes the flat iOS color fields into the nested `colors.ios` shape
  so a round trip through setConfig preserves user overrides
- Omits undefined fields so consumers don't see spurious `title: undefined`

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Swift tests were still calling the four converted methods with
resolve/reject callbacks. Update them to call the sync API directly
and compare against the returned NSNumber/NSDictionary.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@kieran-osgood-shopify kieran-osgood-shopify force-pushed the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch from afba17f to 2978be0 Compare May 6, 2026 19:18
@kieran-osgood-shopify kieran-osgood-shopify merged commit 01be71e into main May 6, 2026
8 checks passed
@kieran-osgood-shopify kieran-osgood-shopify deleted the kieran-osgood/03-30-featreplaceinteropwithnewarchcode branch May 6, 2026 20:14
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.

4 participants