Fix use_enhanced_onboarding for legacy connections#2986
Closed
carterbuce wants to merge 5 commits intofacebook:mainfrom
Closed
Fix use_enhanced_onboarding for legacy connections#2986carterbuce wants to merge 5 commits intofacebook:mainfrom
carterbuce wants to merge 5 commits intofacebook:mainfrom
Conversation
Contributor
|
@carterbuce has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
…endency injection
Contributor
|
@carterbuce has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Contributor
|
@carterbuce has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
Contributor
|
@carterbuce merged this pull request in 597b5e9. |
SayanPandey
pushed a commit
to SayanPandey/facebook-for-woocommerce
that referenced
this pull request
Apr 8, 2025
Summary: ## Description If a user has connected to Meta using use_enhanced_onboarding=false, they should continue to see the old settings screens until they've disconnected. This currently doesn't see to be the case, as I was encountering the "Shops" tab when turning use_enhanced_onboarding to true while already connected. This PR unifies our two separate use_enhanced_onboarding methods into a single one. Unfortunately, there isn't a sufficient mocking framework available to override the global facebook_for_woocommerce() function in tests. Therefore this PR also updates a few of the classes to take in the plugin as a parameter in the constructor to allow for dependency injection. ### Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Screenshots Please provide screenshots or snapshots of the system/state both before and after implementing the changes, if appropriate ### Before  ### After With legacy connection: <img width="1436" alt="image" src="https://github.com/user-attachments/assets/112db84d-6994-49b5-b1e6-99fbf13b4dc9" /> After disconnecting legacy connection: <img width="1988" alt="image" src="https://github.com/user-attachments/assets/63498114-91d3-49b3-bbe3-dbeaee937364" /> After reconnecting to Meta: <img width="1993" alt="image" src="https://github.com/user-attachments/assets/1ed89ba9-a3cf-46c8-a456-93d4c4add1a5" /> ## Test instructions 1. Connect to Meta 2. Set the final return statement in use_enhanced_onboarding to true 3. Observe the settings screen did not change 4. Disconnect shop 5. Observe enhanced onboarding flow is now present ## Checklist - [ ] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)) - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added tests and all the new and existing unit tests pass locally with my changes - [ ] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality. ## Changelog entry Fix legacy connection view when use_enhanced_onboarding is set to true Pull Request resolved: facebook#2986 Test Plan: Imported from GitHub, without a `Test Plan:` line. **!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!** MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V4 https://internalfb.com/intern/testinfra/testrun/7881299606745325 MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V4 https://internalfb.com/intern/testinfra/testrun/14355223888138806 Reviewed By: sol-loup, nrostrow-meta Differential Revision: D72096083 Pulled By: carterbuce fbshipit-source-id: 8442d0b5cc39e4f78c48c6317b71c787d768dcbd
This was referenced Apr 10, 2025
Closed
Closed
mradmeta
pushed a commit
that referenced
this pull request
Apr 14, 2025
Summary: ## Description If a user has connected to Meta using use_enhanced_onboarding=false, they should continue to see the old settings screens until they've disconnected. This currently doesn't see to be the case, as I was encountering the "Shops" tab when turning use_enhanced_onboarding to true while already connected. This PR unifies our two separate use_enhanced_onboarding methods into a single one. Unfortunately, there isn't a sufficient mocking framework available to override the global facebook_for_woocommerce() function in tests. Therefore this PR also updates a few of the classes to take in the plugin as a parameter in the constructor to allow for dependency injection. ### Type of change Please delete options that are not relevant. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) ## Screenshots Please provide screenshots or snapshots of the system/state both before and after implementing the changes, if appropriate ### Before  ### After With legacy connection: <img width="1436" alt="image" src="https://github.com/user-attachments/assets/112db84d-6994-49b5-b1e6-99fbf13b4dc9" /> After disconnecting legacy connection: <img width="1988" alt="image" src="https://github.com/user-attachments/assets/63498114-91d3-49b3-bbe3-dbeaee937364" /> After reconnecting to Meta: <img width="1993" alt="image" src="https://github.com/user-attachments/assets/1ed89ba9-a3cf-46c8-a456-93d4c4add1a5" /> ## Test instructions 1. Connect to Meta 2. Set the final return statement in use_enhanced_onboarding to true 3. Observe the settings screen did not change 4. Disconnect shop 5. Observe enhanced onboarding flow is now present ## Checklist - [ ] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)) - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have added tests and all the new and existing unit tests pass locally with my changes - [ ] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality. ## Changelog entry Fix legacy connection view when use_enhanced_onboarding is set to true Pull Request resolved: #2986 Test Plan: Imported from GitHub, without a `Test Plan:` line. **!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!** MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V4 https://internalfb.com/intern/testinfra/testrun/7881299606745325 MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V4 https://internalfb.com/intern/testinfra/testrun/14355223888138806 Reviewed By: sol-loup, nrostrow-meta Differential Revision: D72096083 Pulled By: carterbuce fbshipit-source-id: 8442d0b5cc39e4f78c48c6317b71c787d768dcbd
This was referenced Apr 18, 2025
This was referenced May 2, 2025
Closed
Closed
facebook-github-bot
pushed a commit
that referenced
this pull request
Jun 4, 2025
Summary: = 3.5.0 - 2025-05-28 = * Add - Create basic checkout permalink w/ products and coupon support by ajello-meta in #2887 * Add - Common Feed Upload Framework by Jmencab in #2875 * Fix - Fix bug where templates were not loading correctly by ajello-meta in #2915 * Tweak - Change MICE to use base site url instead of shop url by carterbuce in #2934 * Tweak - Improve custom checkout UI by ajello-meta in #2930 * Tweak - Make custom checkout UI mobile compatible by ajello-meta in #2942 * Fix - Update parsing for Checkout URL Product IDs by carterbuce in #2935 * Add - Implement dummy logging util by nealweiMeta in #2920 * Add - Setup cron job for batch logging with global message queue by nealweiMeta in #2924 * Add - Error log request api activate by nealweiMeta in #2933 * Add - Log locally with debug mode enabled by nealweiMeta in #2939 * Add - Ratings and reviews feed upload by nrostrow-meta in #2937 * Tweak - Feed upload skip logic and logging calls by nrostrow-meta in #2964 * Add - Add function to fetch feed upload instance by nrostrow-meta in #2970 * Tweak - Have feed uploads always use feed generator by nrostrow-meta in #2971 * Tweak - Trigger metadata feed uploads on CPI ID change (post onboarding) by nrostrow-meta in #2995 * Add - Shipping profile feed upload button by nrostrow-meta in #3140 * Add - Navigation menu feed upload logic by nrostrow-meta in #3159 * Fix - Fixing some fclose and logging gaps in the feed upload logic by nrostrow-meta in #3192 * Add - Enabling navigation menu feed upload and adding manual sync button by nrostrow-meta in #3223 * Add - Promotions feed upload by carterbuce in #2941 * Add - Plugin AJAX API Framework by sol-loup in #2928 * Tweak - Test Infrastructure Enhancement by sol-loup in #2944 * Add - Implement telemetry logs api by nealweiMeta in #2940 * Fix - Make error logging event configurable by nealweiMeta in #2954 * Add - Implement logging toggle by nealweiMeta in #2959 * Fix - auto products sync by nealweiMeta in #2978 * Tweak - Sync products with restriction by nealweiMeta in #2983 * Fix - Fix use_enhanced_onboarding for legacy connections by carterbuce in #2986 * Add - Create enhanced settings UI by ajello-meta in #2968 * Add - Create new troubleshooting drawer from legacy debug settings by ajello-meta in #2977 * Add - Add manual product and coupon sync buttons by ajello-meta in #2984 * Tweak - Make page title in enhanced settings static by ajello-meta in #2985 * Tweak - Align finalized content for logging toggle by nealweiMeta in #2992 * Tweak - Improve local log by nealweiMeta in #3009 * Fix - Fix free shipping coupon sync by carterbuce in #2993 * Tweak - Add logging for feed generation scheduling failure by carterbuce in #2994 * Tweak - Add logging in checkout for coupon code by ajello-meta in #2991 * Tweak - Clean up CSS in enhanced settings UI by ajello-meta in #2996 * Tweak - Remove the "Advertise" tab by ajello-meta in #3024 * Tweak - Sync "Usage Count" in Promos Feed by carterbuce in #3036 * Tweak - Disable mini_shops product capability for unsupported items by carterbuce in #3084 * Add - Add usage logging for enhanced settings tabs by ajello-meta in #3202 * Tweak - Remove UI of a checkbox that controls enablement of the new style feed generation by mshymon in #3056 * Fix - Fix linter errors for ./includes/fbutils.php files by ajello-meta in #3075 * Fix - Hotfix for Rollout Switches by vinkmeta in #3236 * Add - Opt out sync experience. by SayanPandey in #3220 * Fix - Added a transient flag to avoid flooding of product set api requests by vinkmeta in #3245 * Fix - Additional check for the opt-out banner by SayanPandey in #3259 * Fix - Bump up GraphAPI version to 21 by vahidkay-meta in #3219 * Fix - fix linter errors for ./class-wc-facebookcommerce.php by ajello-meta in #3255 * Fix - fix linter errors for ./facebook-commerce-events-tracker.php by ajello-meta in #3254 * Fix - fix linter errors for ./includes/Admin/Settings_Screens/Advertise.php by ajello-meta in #3237 * Fix - fix linter errors for ./includes/Admin/Settings_Screens/Product_Sync.php by ajello-meta in #3239 * Fix - fix function return typing for get_settings() by ajello-meta in #3257 * Tweak - Addition check for opt out by SayanPandey in #3259 * Tweak - Update the GraphAPI version to 21 by vahidkay-meta in #3219 * Fix - Enabled rollout switch only for plugin admins by vinkmeta in #3242 * Add - reset connection functionality by jczhuoMeta in #3262 * Fix - fixing the non static method called as static issue by SayanPandey in #3263 * Fix - Fix linter errors for ./facebook-commerce.php by ajello-meta in #3251 Pull Request resolved: #3264 Test Plan: Imported from GitHub, without a `Test Plan:` line. **!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!** MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V7 https://internalfb.com/intern/testinfra/testrun/10414574226197703 MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V7 https://internalfb.com/intern/testinfra/testrun/844425351364266 Reviewed By: vinkmeta, nrostrow-meta Differential Revision: D75569981 Pulled By: carterbuce fbshipit-source-id: 11bb39a9d66dfcbc80af413466feef0792d27ce4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
If a user has connected to Meta using use_enhanced_onboarding=false, they should continue to see the old settings screens until they've disconnected. This currently doesn't see to be the case, as I was encountering the "Shops" tab when turning use_enhanced_onboarding to true while already connected.
This PR unifies our two separate use_enhanced_onboarding methods into a single one.
Unfortunately, there isn't a sufficient mocking framework available to override the global facebook_for_woocommerce() function in tests. Therefore this PR also updates a few of the classes to take in the plugin as a parameter in the constructor to allow for dependency injection.
Type of change
Please delete options that are not relevant.
Screenshots
Please provide screenshots or snapshots of the system/state both before and after implementing the changes, if appropriate
Before
After
With legacy connection:

After disconnecting legacy connection:

After reconnecting to Meta:

Test instructions
Checklist
Changelog entry
Fix legacy connection view when use_enhanced_onboarding is set to true