Skip to content

Conversation

@iamgabrielma
Copy link
Contributor

@iamgabrielma iamgabrielma commented Nov 7, 2025

Closes WOOMOB-1636
Closes WOOMOB-1480

Description

This PR enables the feature flag for POS surveys, and takes care of the 2 issues found in the CFT for POS Surveys:

For context, we schedule a "potential merchant" notification when a user creates an order, and we schedule a "current merchant" notification when a user runs the POS at least once (no need to re-enter in POS mode).

We do not present the "potential merchant" notification to "current merchants".

Test Steps

  • On a physical device, with notifications turned on, and in a US/UK store:
  • Switch the build configuration to release
  • Update POSNotificationScheduler.timeIntervalInSeconds to something like 5 seconds
  • In AppCoordinator.schedulePOSSurveyNotificationIfNeeded add the following bit to clear any persisted state
private extension AppCoordinator {
    func schedulePOSSurveyNotificationIfNeeded() {
+        Task { @MainActor in
+          let action = AppSettingsAction.resetPOSSurveyNotificationScheduled { _ in }
+          stores.dispatch(action)
+        }
        Task { @MainActor in
            await POSNotificationScheduler(stores: stores).scheduleLocalNotificationIfEligible(for: .currentMerchant)

            let action = AppSettingsAction.setHasPOSBeenOpenedAtLeastOnce { _ in }
            stores.dispatch(action)
        }
    }
}
  • Run the app, create an order by tapping in Create. Observe the notification is presented. Restart the app, create an order by tapping in Collect payment. Observe the notification is presented:

https://indiemelon.mystagingwebsite.com/wp-content/uploads/2025/11/ScreenRecording_11-07-2025-12-03-21_1.mp4

  • Enter in POS once.
  • Remove the debug code AppSettingsAction.resetPOSSurveyNotificationScheduled
  • Rerun the app. Observe the "current merchant" notification is presented.
  • Navigate back to order creation. Create an order by tapping any button, you should not see any further notification scheduled.

https://indiemelon.mystagingwebsite.com/wp-content/uploads/2025/11/ScreenRecording_11-07-2025-11-56-12_1.mp4


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

Merchants might follow another path for creating an order, through tapping directly in “Collect Payment” after adding products to an order, rather than “Create”. This would not schedule the POS notification for potential merchants.
@iamgabrielma iamgabrielma added type: task An internally driven task. feature: POS labels Nov 7, 2025
@iamgabrielma iamgabrielma added this to the 23.7 milestone Nov 7, 2025
@iamgabrielma iamgabrielma marked this pull request as ready for review November 7, 2025 05:19
@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 Numberpr16325-b0d5bed
Version23.6
Bundle IDcom.automattic.alpha.woocommerce
Commitb0d5bed
Installation URL7m860ik8g5f1o
Automatticians: You can use our internal self-serve MC tool to give yourself access to those builds if needed.

Copy link
Contributor

@joshheald joshheald left a comment

Choose a reason for hiding this comment

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

Works well, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature: POS type: task An internally driven task.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants