Skip to content

Release/3.4.9#3210

Merged
tzahgr merged 30 commits intoreleasesfrom
release/3.4.9
May 20, 2025
Merged

Release/3.4.9#3210
tzahgr merged 30 commits intoreleasesfrom
release/3.4.9

Conversation

@vinkmeta
Copy link
Copy Markdown
Contributor

@vinkmeta vinkmeta commented May 19, 2025

Franco Risso and others added 27 commits May 12, 2025 08:27
…#3126)

Summary:
## Description

The rules are:

**Client has feature flag A but feature not in server response:** We will return true, if the feature exists in the client means Meta added it and if it's not in the server, it means the feature is 100% rolled out. This means features we started to rollout but we decided to remove, will always return false from the server.
The trade-off here is that we assume most features will succeed to rollout, so the amount of data we have to send from the backend like "feature-that-failed-rollout: false" is minimum, and we will keep track of the version in which we rollout each feature to deprecate those features in the backend once we have no traffic from those versions or we decide to deprecate support.

**Client doesn't has flag A but server does**: We ignore such case as the client can only requests things it has access to

**Client and Server have flag A**: We return the value of it with our plugin's lib

### Type of change

Please delete options that are not relevant.

- New feature (non-breaking change which adds functionality)

## Checklist

- [] I have commented my code, particularly in hard-to-understand areas.
- [] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [] I have added tests (if necessary) 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.
- [] 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

add support for rollout switches in the plugin to control feature rollouts from meta side.

Pull Request resolved: #3126

Test Plan:
I ran tests

<img width="1055" alt="Screenshot 2025-05-01 at 15 24 23" src="https://github.com/user-attachments/assets/e5e03557-a39b-49a1-8ad4-f5b6c4b36ea1" />

Reviewed By: sharunaanandraj

Differential Revision: D74057446

Pulled By: francorisso

fbshipit-source-id: 8c6d4396ddbb65b1ee15e7a1bac1dc28d748eb54
…3146)

Summary:
## Description

Fix tests broken by the RolloutSwitches introduction after rebasing.

### Type of change

Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [] I have commented my code, particularly in hard-to-understand areas.
- [] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [] I have added tests (if necessary) 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.
- [] 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

fix tests in the rollout switches file

Pull Request resolved: #3146

Test Plan:
Run tests

## Screenshots

### After

<img width="773" alt="Screenshot 2025-05-06 at 17 16 28" src="https://github.com/user-attachments/assets/859dc9ca-81c1-4ab8-a6c2-5457732487b3" />

Reviewed By: nrostrow-meta, devbodaghe

Differential Revision: D74254884

Pulled By: francorisso

fbshipit-source-id: 8f1264a7f894155909cc7ece5499e51bc9e2ff79
Summary:
## Description

I am running into the following exception message when my shop is in a disconnected state:
<img width="507" alt="image" src="https://github.com/user-attachments/assets/19da8967-6bc7-4d82-b923-e47c4f03497f" />

This is because upon disconnection, the external_business_id is not reset. We should be checking is_connected() at the start of the init function rather than existence of the EBID

### Type of change

- Bug fix (non-breaking change which fixes an issue)

## Checklist

- [] I have commented my code, particularly in hard-to-understand areas.
- [] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [] I have added tests (if necessary) 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.
- [] 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

Pull Request resolved: #3157

Test Plan:
Verified extension tab now loads properly
<img width="2282" alt="image" src="https://github.com/user-attachments/assets/352e3d7b-1d28-40da-a906-9dbab358485d" />

Reviewed By: ajello-meta, nealweiMeta, nrostrow-meta

Differential Revision: D74344368

Pulled By: carterbuce

fbshipit-source-id: 2deeaf1a7c8911e773413a6bb14285a4bf5f9cff
…ifications (#3164)

Summary:
We are integrating Whatsapp Utility Messaging on the facebook for woocommerce plugin. We have been building the integration on a dev branch as aligned and getting all PRs approved by vahidkay-meta / iodic . This PR merges all the development changes to main branch to make it easy to cherry pick commits for the release. We are targeting release on (05/12).

- New feature (non-breaking change which adds functionality)

- [yes] I have commented my code, particularly in hard-to-understand areas.
- [yes] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [yes] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [yes] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [in progress] I have added tests (if necessary) and all the new and existing unit tests pass locally with my changes.
- [in progress] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality.
- [n/a] I have updated or requested update to plugin documentations (if necessary). Meta employees to follow this [wiki]([url](https://fburl.com/wiki/nhx73tgs)).

Integrate Whatsapp Utility Messaging for WooCommerce Order Update Notifications

Pull Request resolved: #3164

Test Plan:
Overview of WooCommerce flow

https://github.com/user-attachments/assets/011012db-3378-4fdc-89b2-4d41be683928

Example of Order placed whatsapp notification sent to user when event is enabled.

<img width="765" alt="Screenshot 2025-05-07 at 10 55 56 PM" src="https://github.com/user-attachments/assets/afadf81d-7455-4079-bbf2-5cccef14f286" />

Reviewed By: woo-ardsouza, vahidkay-meta

Differential Revision: D74376980

Pulled By: sharunaanandraj

fbshipit-source-id: c2915dccb19e006f6d326be41c9f71a2f1dbf161
Summary:

This PR addresses a common source of test flakiness by implementing proper WordPress filter management in our test suite.

Sometimes when testing, you want to override the behavior of a global function. This can be done using a wordpress primitive called `add_filter`

While this can be helpful for mocking deep functionality, these filters present a challenge when testing across hundreds of files:

1. **Filter Leakage**: When `add_filter()` is used in tests without proper cleanup, filters persist between tests, causing unexpected behavior and interdependencies.

2. **Incomplete Cleanup**: Manual filter removal is error-prone and often forgotten, especially when tests fail before reaching teardown code.

3. **Overly Aggressive Cleanup**: Using `remove_all_filters()` is dangerous as it removes ALL filters for a hook, including those added by WordPress core or other plugins, potentially breaking functionality in subsequent tests.

The `AbstractWPUnitTestWithSafeFiltering` class provides:

- A `add_filter_with_safe_teardown()` method that tracks all added filters
- Automatic cleanup in `tearDown()` that only removes filters added by the current test
- The ability to remove specific filters early with `teardown_safely_immediately()`
- A category-specific cleanup method with `teardown_callback_category_safely()` -- allowing you to safely wipe out all test-related filters for 'event_type_A' without affecting B or C.

- Introduced AbstractWPUnitTestWithSafeFiltering with above functionality.
- Updated WCFacebookCommerceIntegrationTest, fbproductTest, WPMLTest, and FeedUploadUtilsTest to extend AbstractWPUnitTestWithSafeFiltering
- Replaced all `add_filter()` calls with `add_filter_with_safe_teardown()`
- in some special cases (per-test), replaced remove_all_filters with appropriate teardown calls
- In most cases, rely on default "invisible" safe teardown behavior

- Ran updated test suit using phpunit -- all succeeded.

Pull Request resolved: #2944

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 V1
https://internalfb.com/intern/testinfra/testrun/1970325109964811
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V1
https://internalfb.com/intern/testinfra/testrun/3659174967893694

Reviewed By: carterbuce

Differential Revision: D71158932

Pulled By: sol-loup

fbshipit-source-id: 8b3479374bb836dd74a742905226b285da2bfe66
Summary:
This PR addresses a PSR-4 autoloading compliance issue that prevented several PHPUnit tests from being discovered and executed. When running PHPUnit, errors like `Class ... located in ... does not comply with psr-4 autoloading standard. Skipping.` were reported for multiple test files.

**Root Cause:**

The issue stemmed from a mismatch between the namespace declarations within the test files and the PSR-4 autoloading configuration defined in `composer.json`. Specifically:

1.  The `composer.json` file maps the base namespace `WooCommerce\Facebook\Tests\` to the directory `tests/Unit/`.
    ```json
      "autoload-dev": {
        "psr-4": {
          "WooCommerce\\Facebook\\Tests\\": "tests/Unit"
        }
      }
    ```
2.  According to PSR-4, any subsequent parts of a namespace must correspond directly to the subdirectory structure *under* the base path (`tests/Unit/`).
3.  Several test files incorrectly included `Unit` as part of their namespace (e.g., `namespace WooCommerce\Facebook\Tests\Unit\Admin\Settings;`) while residing in paths like `tests/Unit/Admin/Settings/`.
4.  This caused the autoloader to look for the class file in an incorrect, nested path (e.g., `tests/Unit/Unit/Admin/Settings/ConnectionTest.php`) instead of the actual location (`tests/Unit/Admin/Settings/ConnectionTest.php`), leading to the "does not comply" error.
5.  In some cases, minor discrepancies in directory names (e.g., `API\Plugin` in the namespace vs. `Api\REST` in the path) also contributed to the problem.

Thankfully, running `composer dump-autoload -o` was sufficient to uncover all the PSR skipped tests:
Class WooCommerce\Facebook\Tests\Unit\Framework\Utilities\AsyncRequestTest located in ./tests/Unit/Framework/Utilities/AsyncRequestTest.php does not comply with psr-4 autoloading standard. Skipping.
Class WooCommerce\Facebook\Tests\Unit\ConnectionTest located in ./tests/Unit/Admin/Settings/ConnectionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class WooCommerce\Facebook\Tests\Unit\Admin\Settings\ShopsTest located in ./tests/Unit/Admin/Settings/ShopsTest.php does not comply with psr-4 autoloading standard. Skipping.
Class WooCommerce\Facebook\Tests\Unit\Admin\Settings_Screens\ConnectionTest located in ./tests/Unit/Admin/Settings_Screens/ConnectionTest.php does not comply with psr-4 autoloading standard. Skipping.
Class WooCommerce\Facebook\Tests\Unit\Admin\Settings_Screens\ShopsTest located in ./tests/Unit/Admin/Settings_Screens/ShopsTest.php does not comply with psr-4 autoloading standard. Skipping.
Class WooCommerce\Facebook\Tests\Unit\API\Plugin\RestAPITest located in ./tests/Unit/Api/REST/RestAPITest.php does not comply with psr-4 autoloading standard. Skipping.
Class WooCommerce\Facebook\Tests\Unit\Handlers\MetaExtensionTest located in ./tests/Unit/Handlers/MetaExtensionTest.php does not comply with psr-4 autoloading standard. Skipping.

**Changes:**

The `namespace` declarations in the affected test files have been modified to accurately reflect their directory structure relative to the `tests/Unit/` base path defined in `composer.json`. This typically involved removing the redundant `Unit` segment from the namespace or correcting other segments to match the actual folder names (e.g., changing `API\Plugin` to `Api\REST`).

These changes ensure that the class namespaces correctly map to their file locations according to the PSR-4 standard, allowing Composer's autoloader and PHPUnit to find and execute the tests properly.

Pull Request resolved: #3037

Test Plan:
1.  Checked out the branch containing these changes.
2.  Ran `composer dump-autoload` to ensure the autoloader cache was updated.
3.  Executed the PHPUnit test suite using the standard command (`vendor/bin/phpunit` or `composer test-unit`).
4.  **Result:** PHPUnit completed its run successfully, executing 286 tests without the previous PSR-4 autoloading errors.

**!---- (auto-generated) DO NOT EDIT OR PUT ANYTHING AFTER THIS LINE ----!**
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: www / Diff Version V3
https://internalfb.com/intern/testinfra/testrun/13229323982953381
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V3
https://internalfb.com/intern/testinfra/testrun/12103424076120115

Reviewed By: ajello-meta, nealweiMeta

Differential Revision: D72797935

Pulled By: sol-loup

fbshipit-source-id: 9726b427374c91dea93e093382583ff642c7b8f7
Summary:
## Description
Added additional logs to help debug Utility Message Flows. Also added timeout to all the API calls

### Type of change
- New feature (non-breaking change which adds functionality)

## Changelog entry
Additional logs and timeout for Utility Message Flows

Pull Request resolved: #3171

Test Plan:
## Screen Recording
 https://pxl.cl/7cVzm

## Logs
 {F1977866917}

Reviewed By: sharunaanandraj

Differential Revision:
D74555794

Privacy Context Container: L1332882

Pulled By: woo-ardsouza

fbshipit-source-id: 56208f3a5c87b7c36170add7df92839ad077ea72
…n is Enabled (#3175)

Summary:
## Description
Fix the payment progress to only Show Up after Consent Collection is Enabled

### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Changelog entry
Fix the WAUM payment progress to only Show Up after Consent Collection is Enabled

Pull Request resolved: #3175

Test Plan:
### Before
https://github.com/user-attachments/assets/011012db-3378-4fdc-89b2-4d41be683928

### After
https://github.com/user-attachments/assets/e8500ba3-8d4f-4f5c-8591-e6ab43e4c9e7

 https://pxl.cl/7d7gF

Reviewed By: woo-ardsouza

Differential Revision:
D74609418

Privacy Context Container: L1332882

Pulled By: sharunaanandraj

fbshipit-source-id: 1bc27f5a89ff7c63d09970823f13af57b6052fa5
Summary:
## Description
Replaced the positional parameters configured in the header and body text to named parameters defined in the Figma so that the users are aware of the parameter values being replaced.
{F1977895058} {F1977895057} {F1977895056}

### Type of change
- New feature (non-breaking change which adds functionality)

## Changelog entry
Updated positional parameters to named parameters in UI

Reviewed By: sharunaanandraj

Differential Revision:
D74615150

Privacy Context Container: L1332882

fbshipit-source-id: d6437753bf6daf85a80f2e7e6559b35329f138a8
Summary:
## Description
This change makes a call to the Integration Config GET API to dynamically get the list of supported languages in the languages dropdown instead of the hardcoded values

### Type of change
- New feature (non-breaking change which adds functionality)

## Changelog entry
Update language dropdown based on supported_languages in GET api response

Pull Request resolved: #3178

Test Plan:
Screenshot of dropdown with loaded languages
{F1977914187}

**Screen Recording**
* Setup Order Placed event config
* Validate Order Placed message is sent
 https://pxl.cl/7dm7x
 {F1977917367}

Reviewed By: sharunaanandraj

Differential Revision:
D74652600

Privacy Context Container: L1332882

Pulled By: woo-ardsouza

fbshipit-source-id: 6768ee31feff58f3287d631492129dea90d856a9
Summary:
## Description
Added an error notice if the post api call fails while creating or editing event configs, and getting template library content in the Manage Events view

### Type of change
- New feature (non-breaking change which adds functionality)

## Changelog entry
Error notice to gracefully handle errors in Manage Events view

Pull Request resolved: #3179

Test Plan:
Error while Creating Event Config
{F1977915582}

Error while getting Library Template
{F1977915583}

Reviewed By: sharunaanandraj

Differential Revision:
D74654606

Privacy Context Container: L1332882

Pulled By: woo-ardsouza

fbshipit-source-id: 188e47d3a197c02382fbacca5afe847918b4e0f4
)

Summary:
## Description
Issue:
The consent collection widget showed wrong status after update, when the page was refreshed. We update to ensure it always shows the right status.

### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Changelog entry
Fix the Status on the Whatsapp Consent Collection Pill and Button

Pull Request resolved: #3183

Test Plan:
https://pxl.cl/7drNR
https://github.com/user-attachments/assets/b23c9ed9-8d77-4460-ac0f-03e61a512797

Reviewed By: woo-ardsouza

Differential Revision:
D74679962

Privacy Context Container: L1332882

Pulled By: sharunaanandraj

fbshipit-source-id: e57a6b00d061093c89017bd8de8e49fd393672f5
Summary:
## Description
We were using Messages Post API (CloudAPI) to send WhatsApp Utility Messages due to a dedupe logic bug in the Message Events Post API. With this issue being resolved in [D74522961](https://www.internalfb.com/diff/D74522961), updated the message sending api to Message Events

## Changelog entry
Update Message Sending API from Messages to Message Events

Pull Request resolved: #3182

Test Plan:
## Steps
1. Activate all Event Configs
2. Checkout an item and enable setting to receive order updates on WhatsApp
3. Place Order
4. Validate Order Placed message is sent on WhatsApp
5. Update Order Status to Completed on Orders Admin
6. Validate Order Fulfilled message is sent on WhatsApp
7. Update Order Status to Refunded on Orders Admin
8. Validate Order Refunded message is sent on WhatsApp

## Screen Recording
https://pxl.cl/7drLq

Reviewed By: sharunaanandraj

Differential Revision:
D74679169

Privacy Context Container: L1332882

Pulled By: woo-ardsouza

fbshipit-source-id: a7d2726a1f9c363ccb7656f8c2f201408a993583
Summary:
## Description
Issue:
We previously used the hash of external_business_id + bisu token as an authentication mechanism while sending the onboarding info back to woo business. But during vendor testing, we realized that clients might connect the same external_business_id to MBE using multiple test websites , hence having multiple enabled EBCs.
Solution:
So we update the authentication mechanism to be a hash of business_id + BISU token instead.
Note: This is a short term solution for alpha, we need to rethink this authentication flow

### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Changelog entry
Update the Authentication mechanism for Whatsapp Webhook

Pull Request resolved: #3186

Test Plan: https://github.com/user-attachments/assets/6c0f8beb-c32b-4f66-a9ff-10508acae45c

Differential Revision:
D74739365

Privacy Context Container: L1332882

Pulled By: sharunaanandraj

fbshipit-source-id: 0298bafd9431648cfb5c3d18e5bf05635a2d6861
Summary:
## Description
Made the following two updates to the Utility Event Settings card based on feedback in T224219953:
* Added 16px padding top and bottom.
* Aligned Manage button to center

### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Changelog entry
Minor design updates to Utility Event Settings card

Pull Request resolved: #3193

Test Plan:
### Before
 {F1977987822}

### After
 {F1977987868}

Reviewed By: jkaryo1

Differential Revision: D74779141

Pulled By: woo-ardsouza

fbshipit-source-id: 8a7cb78941f82946a1abc1ffbaaa8a8a6b7c9e37
Summary:

This changeset adds an admin notice with a call to action for taking part in the WhatsApp utility messaging program. The notice appears on all admin pages after the plugin is updated/activated. Dismissing the notice will make it stop appearing for that user.

- New feature (non-breaking change which adds functionality)

- [yes] I have commented my code, particularly in hard-to-understand areas.
- [yes] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [yes] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [yes] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [n/a] I have added tests (if necessary) and all the new and existing unit tests pass locally with my changes.
- [yes] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality.
- [n/a] I have updated or requested update to plugin documentations (if necessary). Meta employees to follow this [wiki]([url](https://fburl.com/wiki/nhx73tgs)).

Add admin notice for WhatsApp utility messaging recruitment

Pull Request resolved: #3177

Test Plan:
Build a release artifact with this changeset and install on a testing site. As soon as the plugin is activated, the notice will be visible on top of all admin pages (see screenshot below).

![recruitment notice](https://github.com/user-attachments/assets/b07c08ec-3b15-436e-925c-90a499dc8b34)

Reviewed By: woo-ardsouza

Differential Revision: D74740103

Pulled By: sharunaanandraj

fbshipit-source-id: 487867997fe3c4246d8a9299dabd841f8eb10df0
Summary:
## Description

The product sync button was showing up twice due to a change we added when building the rollout switch. Fixing this in this diff.

### Type of change
- Bug fix (non-breaking change which fixes an issue)

## Changelog entry
Fix the product sync button showing up twice

Pull Request resolved: #3199

Test Plan:
## Screenshots
### Before Change
<img width="1131" alt="Screenshot 2025-05-15 at 11 16 56 AM" src="https://github.com/user-attachments/assets/40f9da5b-57aa-402d-abe1-edc3d1e19905" />

### With GK
Product sync shows once with utility messages tab
<img width="961" alt="Screenshot 2025-05-15 at 11 02 41 AM" src="https://github.com/user-attachments/assets/5bf92fd0-0c22-4449-8e96-3ef351c1f6cb" />
### Without GK
Product sync shows once without utility messages tab
<img width="960" alt="Screenshot 2025-05-15 at 11 11 19 AM" src="https://github.com/user-attachments/assets/21074f65-9910-4cc7-b6dd-3f182d1486f8" />

Reviewed By: jkaryo1

Differential Revision:
D74827821

Privacy Context Container: L1332882

Pulled By: sharunaanandraj

fbshipit-source-id: 8880c3024ada1066230ac262e9a7bac12aaaacfe
…') for Select2 fields (#3185)

Summary:
## Description

This PR fixes an issue where WooCommerce Product Bundles was breaking when Facebook for WooCommerce was active. The problem occurred in the `cleanupAllUIElements` function which was resetting Select2 fields by setting their value to an empty string (`$select.select2('val', '')`), causing the product search functionality in WC Product Bundles to malfunction.

The fix changes how the code resets Select2 fields to use `.empty().trigger('change')` instead, which properly clears the fields without breaking third-party plugins that rely on Select2.

Related issue: #3184

### Type of change

- [x] Bug fix (non-breaking change which fixes an issue)

## 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](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](https://fburl.com/wiki/nhx73tgs).

## Changelog entry

Fix - WC Product Bundles compatibility issue with Select2 field resets.

Pull Request resolved: #3185

Test Plan:
1. Install and activate both Facebook for WooCommerce and WooCommerce Product Bundles plugins
2. Create a bundled product and attempt to add a product to the bundle
3. Before the fix: The product search field doesn't work when selecting a product
4. After the fix: The product search field works correctly and products can be added to bundles

## Screenshots
### Before
When trying to add a product to a bundle, the Select2 search doesn't work correctly. After searching and selecting a product, the search field becomes empty again and the product is not added.

### After
The product search works correctly. After searching and selecting a product, it is properly added to the bundle.

Reviewed By: gurtejrehal, SayanPandey, vinkmeta

Differential Revision:
D74734887

Privacy Context Container: L1313315

Pulled By: devbodaghe

fbshipit-source-id: 1753189f371090fdf6626cd92152eb8e9b1f3c8a
Summary:

This changeset updates the WordPress and WooCommerce compatible versions.

Please delete options that are not relevant.

- Bug fix (non-breaking change which fixes an issue)

- [yes] I have commented my code, particularly in hard-to-understand areas.
- [yes] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [yes] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [yes] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [n/a] I have added tests (if necessary) and all the new and existing unit tests pass locally with my changes.
- [yes] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality.
- [n/a] I have updated or requested update to plugin documentations (if necessary). Meta employees to follow this [wiki]([url](https://fburl.com/wiki/nhx73tgs)).

Bump WooCommerce and WordPress compatibility

Pull Request resolved: #3200

Test Plan: Installing this build should result in no _Facebook for WooCommerce - X.X.X is untested with WordPress Y.Y.Y._ notices in the admin.

Reviewed By: francorisso, devbodaghe

Differential Revision: D74866320

Pulled By: vinkmeta

fbshipit-source-id: 24976e943924b537e2b14a0d56a1743581e85512
…ets (#3168)

Summary:

At the moment "Facebook for WooCommerce" plugin allows sellers to manually create fb product sets based on WooComerce categories.

In this PR, we are adding automatic sync of WooCommerce product categories to Meta as catalog dynamic (filter) Product Sets with all the metadata associated (URL, image, description, retailer ID).

We are planning to have a follow up release to remove the current product set UI, as not needed due to automatic sync capability added here.

- New feature (non-breaking change which adds functionality)

- [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.
- [] I have updated or requested update to plugin documentations (if necessary). Meta employees to follow this [wiki]([url](https://fburl.com/wiki/nhx73tgs)).
- This change introduces an automated process that synchronizes all WooCommerce product categories with Meta, creating catalog product sets for each category. The synchronization process ensures that any changes made to the WooCommerce product categories are reflected in the corresponding Meta catalog product sets.

Pull Request resolved: #3168

Test Plan:
- `npm run test:php`
- Conducted dogfooding session in the team

Reviewed By: vinkmeta, nrostrow-meta

Differential Revision: D74482569

Pulled By: mshymon

fbshipit-source-id: b920c72824cd75ad1b386038befab1c71f2aa966
Summary:
## Description

In PR #3168 we merged new changes to the product sets sync: automatic sync of all WooCommerce product categories to Meta as catalog dynamic (filter) Product Sets with all the metadata associated (URL, image, description, retailer ID).

This PR is a follow up to add a banner in the UI of the product sets tab to explain recent changes to users.

### Type of change

- New feature (non-breaking change which adds functionality)

## Changelog entry

- Add a banner in product sets tab to explain recent changes to product sets sync.

Pull Request resolved: #3207

Test Plan:
- `npm run test:php`
- Dogfood doc in internal to Meta

## Screenshots

After

![Screenshot 2025-05-19 at 09 52 46](https://github.com/user-attachments/assets/353dfd10-2be5-475f-a40c-473160695712)

Reviewed By: gurtejrehal, raymon1

Differential Revision: D74985199

Pulled By: mshymon

fbshipit-source-id: 1cb48ca1f6665e457a5b7907577864513116f62d
Merging Vink-3.4.9 to release-3.4.9
@github-actions github-actions bot added the changelog: none Skip changelog entry for this PR label May 19, 2025
#3212)

Summary:
## Description

This reverts commit 32d3707 as it breaks Product Category dropdown.

### Type of change

- Bug fix (non-breaking change which fixes an issue)

## 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)).
- [] 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

Revert "Fix WC Product Bundles compatibility by using empty().trigger"

Pull Request resolved: #3212

Reviewed By: SayanPandey, mshymon

Differential Revision: D74998559

Pulled By: vinkmeta

fbshipit-source-id: dc1744ed588bca973612bbc432857261c5e04d67
Tzah Granot and others added 2 commits May 20, 2025 13:57
Summary:
## Description

This changeset adds an admin banner with a call to action for taking part in the WhatsApp utility messaging program. The banner appears on plugin's Advertise page after the plugin is updated/activated. Dismissing the banner will make it stop appearing for that user.

### Type of change

- New feature (non-breaking change which adds functionality)

## Checklist

- [yes] I have commented my code, particularly in hard-to-understand areas.
- [yes] I have confirmed that my changes do not introduce any new PHPCS warnings or errors.
- [yes] I have checked plugin debug logs that my changes do not introduce any new PHP warnings or FATAL errors.
- [yes] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc)).
- [n/a] I have added tests (if necessary) and all the new and existing unit tests pass locally with my changes.
- [yes] I have completed dogfooding and QA testing, or I have conducted thorough due diligence to ensure that it does not break existing functionality.
- [n/a] 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

Add admin notice for WhatsApp utility messaging recruitment

Pull Request resolved: #3211

Test Plan:
Build a release artifact with this changeset and install on a testing site. As soon as the plugin is activated, the banner will be visible on the plugin's "Advertise" page (see screenshot below).

## Screenshots
![Screenshot 2025-05-19 at 14 28 59](https://github.com/user-attachments/assets/3bd64d35-3ec3-4f39-b917-203083bfb9b7)

Reviewed By: tzahgr

Differential Revision: D75063419

Pulled By: vahidkay-meta

fbshipit-source-id: 291a18a7f28850099147649c84480d3b9b4dbe9a
@vahidkay-meta vahidkay-meta self-requested a review May 20, 2025 14:48
Copy link
Copy Markdown
Contributor

@vahidkay-meta vahidkay-meta left a comment

Choose a reason for hiding this comment

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

LGTM

@tzahgr tzahgr merged commit 2dcf553 into releases May 20, 2025
7 checks passed
@tzahgr tzahgr deleted the release/3.4.9 branch May 20, 2025 15:45
@tzahgr tzahgr restored the release/3.4.9 branch May 20, 2025 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: none Skip changelog entry for this PR CLA Signed

Projects

None yet

Development

Successfully merging this pull request may close these issues.