Conversation
📦 Latest Plugin BuildBuilt at: 2025-05-07T20:26:52.113Z Download: Click here to download the plugin To download: Click the link above → Scroll to bottom → Download "facebook-for-woocommerce" artifact |
1 similar comment
📦 Latest Plugin BuildBuilt at: 2025-05-07T20:26:52.113Z Download: Click here to download the plugin To download: Click the link above → Scroll to bottom → Download "facebook-for-woocommerce" artifact |
📦 Latest Plugin BuildBuilt at: 2025-05-07T21:09:23.811Z Download: Click here to download the plugin To download: Click the link above → Scroll to bottom → Download "facebook-for-woocommerce" artifact |
1 similar comment
📦 Latest Plugin BuildBuilt at: 2025-05-07T21:09:23.811Z Download: Click here to download the plugin To download: Click the link above → Scroll to bottom → Download "facebook-for-woocommerce" artifact |
|
@nrostrow-meta has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
📦 Latest Plugin BuildBuilt at: 2025-05-07T23:48:51.492Z Download: Click here to download the plugin To download: Click the link above → Scroll to bottom → Download "facebook-for-woocommerce" artifact |
1 similar comment
📦 Latest Plugin BuildBuilt at: 2025-05-07T23:48:51.492Z Download: Click here to download the plugin To download: Click the link above → Scroll to bottom → Download "facebook-for-woocommerce" artifact |
|
@nrostrow-meta has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator. |
|
@nrostrow-meta merged this pull request in 09d1997. |
#3223) Summary: ## Description This PR follows up on #3159 to enable the automated scheduling of the navigation menu feed upload and adds a button to the troubleshooting UI to trigger an ad hoc navigation menu feed upload. This new button is setup the same way as the existing product data, coupon codes, and shipping profiles sync buttons. ### Type of change Please delete options that are not relevant. - New feature (non-breaking change which adds functionality) ## Checklist - [x] I have commented my code, particularly in hard-to-understand areas. - [x] I have confirmed that my changes do not introduce any new PHPCS warnings or errors. - [x] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors. - [x] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)). - [x] I have added tests (if necessary) and all the new and existing unit tests pass locally with my changes. - [x] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality. - [x] I have updated or requested update to plugin documentations (if necessary). Meta employees to follow this [wiki]([url](https://fburl.com/wiki/nhx73tgs)). ## Changelog entry Enabling automated navigation menu feed upload scheduling and adding manual sync button Pull Request resolved: #3223 Test Plan: 1. Pushed local changes to lightsail instance (had to run npm start first) 2. Navigated to the troubleshoot dropdown in the facebook shops tab 3. Clicked button to trigger ad hoc shipping profiles feed upload 4. Verified that there was a log for the API call and a new feed upload session created (and successful) <img width="1016" alt="Screenshot 2025-05-20 at 3 50 10 PM" src="https://github.com/user-attachments/assets/98d737cd-cca1-4b8d-b536-77841788d2a8" /> <img width="1159" alt="Screenshot 2025-05-20 at 3 50 54 PM" src="https://github.com/user-attachments/assets/cac36faf-3fa9-441c-9fd5-ec6f2a0ee364" /> <img width="1308" alt="Screenshot 2025-05-20 at 3 51 16 PM" src="https://github.com/user-attachments/assets/eab70dd4-c62a-48ee-8b47-9a5265c7f002" /> ## Screenshots ### Before <img width="1115" alt="Screenshot 2025-05-20 at 3 44 48 PM" src="https://github.com/user-attachments/assets/ac985703-437d-4165-81d5-7bfbd23a0a6b" /> ### After <img width="1113" alt="Screenshot 2025-05-20 at 3 45 10 PM" src="https://github.com/user-attachments/assets/bb4db9b6-1cbd-4cf2-8761-60e49010fbb5" /> **!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!** MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V2 https://internalfb.com/intern/testinfra/testrun/7036874686126362 MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V2 https://internalfb.com/intern/testinfra/testrun/12947849013553602 Reviewed By: mradmeta Differential Revision: D75091054 Pulled By: nrostrow-meta fbshipit-source-id: cfcd9286bc3ed503fef42fad5f4dbc80e9ceeb7f
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
Description
The primary purpose of this PR is to set up a new navigation menu feed upload.
Set up new navigation menu feed upload classes/logic. Added a new test case for the navigation menu feed upload logic.
For the existing feed upload flows already in the WooCommerce plugin we send over the feeds as CSV files. For the navigation menu flow though we need to send over the feed as JSON files. Due to this I set up a new JsonFeedFileWriter and moved all the shared logic into a new AbstractFeedFileWriter class that CsvFeedFileWriter and JsonFeedFileWriter extend. This required updating areas in the code where FeedFileWriter was expected before to now expect AbstractFeedFileWriter (FeedFileWriter was an interface that I deleted and replaced with the AbstractFeedFileWriter class).
Updated the logic of handle_feed_data_request in AbstractFeed to set the right Content-Type depending on if the file that would be getting fetched would be CSV or JSON.
Tweaked the ratings and reviews feed upload logic a little to include a few additional fields.
Added require_once to some of the feed related tests to enable running them locally.
Removed a few unnecessary use statements in various files and fixed some comments/added missing comments.
Type of change
Please delete options that are not relevant.
Checklist
Changelog entry
Added feed upload for navigation menu
Test Plan