Skip to content

Conversation

@RafaelKayumov
Copy link
Contributor

@RafaelKayumov RafaelKayumov commented Nov 18, 2025

WOOMOB-1734

Description

Fixes the issue where a variable product wasn't tappable during product creation.

I suspect that the culprit was the deprecated NavigationLink(destination:, isActive:, label:) call that we used in LazyNavigationLink:

'init(destination:isActive:label:)' was deprecated in iOS 16.0: use NavigationLink(value:label:), or navigationDestination(isPresented:destination:), inside a NavigationStack or NavigationSplitView

To avoid the deprecated call I switched to navigationDestination(isPresented:) modifier applied on top of VStack while still inside of parent NavigationStack.

Important testing note

The issue is hardly reproducible. It was noticed during 23.6 smoke testing + https://inpersonpayments.wpcomstaging.com/ store + iOS 18.4 device. Some folks weren't able to reproduce having the same setup and environment. The issue existed in latest trunk too.

Test Steps

  • Try to reproduce the actual issue first in the following environment (that happened in latest trunk too). Check out the WOOMOB-1734 issue for reproduction video.
  • Use inpersonpayments.wpcomstaging.com store with the account listed in Smoke Testing flow: P91TBi-bVe-p2
  • Navigate to order list and start order creation flow
  • Find a variable product in selector list
  • Make sure it's tappable and navigates to variations list
  • Make sure variations selection works fine and applies to an order that's being created/edited.

Demo iOS 26 + shared testing site

ios_26_variable_products_demo.mov

Demo iOS 18.4 + inpersonpayments

iOS_18.4_inPersonPayments_demo.mov

  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

@RafaelKayumov RafaelKayumov added this to the 23.8 milestone Nov 18, 2025
@RafaelKayumov RafaelKayumov added type: bug A confirmed bug. Bug labels Nov 18, 2025
@wpmobilebot
Copy link
Collaborator

App Icon📲 You can test the changes from this Pull Request in WooCommerce iOS Prototype by scanning the QR code below to install the corresponding build.

App NameWooCommerce iOS Prototype
Build Numberpr16363-394fc04
Version23.7
Bundle IDcom.automattic.alpha.woocommerce
Commit394fc04
Installation URL0a81i4caniebo
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

Copy link
Contributor

@adborbas adborbas left a comment

Choose a reason for hiding this comment

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

I tested with the device and store that I could have reproduced the issue with and now it is working.

Image

Copy link
Contributor

@itsmeichigo itsmeichigo left a comment

Choose a reason for hiding this comment

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

I can reproduce this issue on a simulator running iOS 18.5. The fix works for me and we should definitely migrate away from the deprecated LazyNavigationLink, so thumbs up from me 👍

I'm curious though why LazyNavigationLink still works from my testing of other flows. This makes it hard to justify the migration for other places.

@RafaelKayumov RafaelKayumov merged commit 347862e into trunk Nov 19, 2025
15 checks passed
@RafaelKayumov RafaelKayumov deleted the WOOMOB-1734-fix-variable-product-navigation branch November 19, 2025 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Bug type: bug A confirmed bug.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants