Skip to content

Release/3.4.4#2974

Merged
tzahgr merged 17 commits intoreleasesfrom
release/3.4.4
Mar 27, 2025
Merged

Release/3.4.4#2974
tzahgr merged 17 commits intoreleasesfrom
release/3.4.4

Conversation

@tzahgr
Copy link
Copy Markdown
Contributor

@tzahgr tzahgr commented Mar 27, 2025

Angelo Ou and others added 16 commits March 24, 2025 17:34
Summary:
### Changes proposed in this Pull Request:

This PR introduces unit tests for the `Request` and `Response` classes in the `WooCommerce\Facebook\API\ProductCatalog\ProductFeedUploads\Create` namespace. These tests ensure that the classes behave as expected when handling API requests and responses for creating product feed uploads.

### Detailed test instructions:
1. Run the unit tests using the WordPress testing framework to ensure they pass successfully.
2. Verify that the `Request` test checks the HTTP method, path, and data properties.
3. Verify that the `Response` test checks the `id` and `data` properties for correct parsing.

Pull Request resolved: #2902

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

Reviewed By: carterbuce, nrostrow-meta

Differential Revision: D70210484

Pulled By: ajello-meta

fbshipit-source-id: 0e9a162726a18083aae7c12a2edf568756a69d40
Summary:
### Changes proposed in this Pull Request:

This PR introduces unit tests for the `Request` and `Response` classes in the `WooCommerce\Facebook\API\ProductCatalog\ProductFeedUploads\Read` namespace. These tests ensure that the classes behave as expected when handling API requests and responses for reading product feed uploads.

### Detailed test instructions:
1. Run the unit tests using the WordPress testing framework to ensure they pass successfully.
2. Verify that the `Request` test checks the HTTP method and path properties.
3. Verify that the `Response` test checks the `data` properties for correct parsing.

Pull Request resolved: #2903

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

Reviewed By: carterbuce, nrostrow-meta

Differential Revision: D70214585

Pulled By: ajello-meta

fbshipit-source-id: 3f6f923177500e18238f1d8202618c33ae0b6807
Summary:
- Enable code coverage report generation with phpunit (#2893)
- [Cleanup] remove phpcs:ignoreFile annotations preventing code formatting on several smaller files
- Removing unneeded PHPCS-ignore for more files

### Changes proposed in this Pull Request:

Closes # .

_Replace this with a good description of your changes & reasoning._

- [ ] Do the changed files pass `phpcs` checks? Please remove `phpcs:ignore` comments in changed files and fix any issues, or delete if not practical.

### Screenshots:

### Detailed test instructions:

1.
2.
3.

### Additional details:

<!--
Optional.
Enter a summary of all changes in this Pull Request, which will be added to the changelog if accepted.
Each line should start with change type prefix`(Fix|Add|…) - `, for example:
> Break - A change breaking previous API or functionality.
> Add - A new feature, function or functionality was added.
> Update - Big changes to something that wasn't broken.
> Fix - Took care of something that wasn't working.
> Tweak - Small change, that isn't actually very important.
> Dev - Developer-facing only change.
> Doc - Updated customer or developer facing documentation

If you remove the "Changelog entry" header, the Pull Request title will be used as the changelog entry.

Add the `changelog: none` label if no changelog entry is needed.
-->
### Changelog entry

>

Pull Request resolved: #2901

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

Reviewed By: carterbuce, ajello-meta

Differential Revision: D70353516

Pulled By: sol-loup

fbshipit-source-id: e58662afe8ac8175a5001e6481d85efdbf0957f5
Summary:
- Enable code coverage report generation with phpunit (#2893)
- [Cleanup] remove phpcs:ignoreFile annotations preventing code formatting on several smaller files

### Changes proposed in this Pull Request:

Closes # .

_Replace this with a good description of your changes & reasoning._

- [ ] Do the changed files pass `phpcs` checks? Please remove `phpcs:ignore` comments in changed files and fix any issues, or delete if not practical.

### Screenshots:

### Detailed test instructions:

Linting change. Just validate plugin works as expected.

### Additional details:

<!--
Optional.
Enter a summary of all changes in this Pull Request, which will be added to the changelog if accepted.
Each line should start with change type prefix`(Fix|Add|…) - `, for example:
> Break - A change breaking previous API or functionality.
> Add - A new feature, function or functionality was added.
> Update - Big changes to something that wasn't broken.
> Fix - Took care of something that wasn't working.
> Tweak - Small change, that isn't actually very important.
> Dev - Developer-facing only change.
> Doc - Updated customer or developer facing documentation

If you remove the "Changelog entry" header, the Pull Request title will be used as the changelog entry.

Add the `changelog: none` label if no changelog entry is needed.
-->
### Changelog entry

> Went through project, found several unnecessary occurrences of phpcs:ignore-file and updated file to be compliant with linter

Pull Request resolved: #2897

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

Reviewed By: ajello-meta

Differential Revision: D70136766

Pulled By: sol-loup

fbshipit-source-id: 24448dfe6756256442438c33226d3225fd0964c9
Summary:
Changing the app word to plugin to more suit with the idea of facebook-for-woocommerce

This is a simple change of APP to PLUGIN in README.md text .

Pull Request resolved: #2916

Reviewed By: crisojog, vinkmeta

Differential Revision: D70486710

Pulled By: SayanPandey

fbshipit-source-id: 47eb9d84a32712d678e153d5b1a98fbf7074af98
Summary:
This is a update to notify developers that the facebook-for-woocommerce plugin is now part of Meta and development is taken care by the engineers at Meta. We also have encouraged for contributions on this repo.

This PR contains mostly the changes around **README.md**.
Since mostly developers of any kind prefer looking at the **README** of a GitHub repo.
We have now changed the README emphasising the changes of the new **Owneship of the plugin** by Meta.
And the invitation for **opensource community** for their contributions.

 {F1975511490}

Pull Request resolved: #2910

Reviewed By: mshymon, vinkmeta

Differential Revision: D70323913

Pulled By: SayanPandey

fbshipit-source-id: 3fd9937d20f968132dba4fcc23ebfcabae9a3f55
Summary:
## Description

Adding is_multisite logging for additional context on seller setup during FBE plugin version update log. This will help us determine how to focus our compatibility efforts

### Type of change

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

## Test instructions

Called `facebook_for_woocommerce()->get_api()->update_plugin_version_configuration( 'carter-wp-dev-67381a66bf371', '9.9.1' );` and observed proper log format was sent to Meta

## Checklist

- [x] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc))
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added tests 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.

## Changelog entry

Added is_multisite logging to the update_plugin_version_configuration request

Pull Request resolved: #2955

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 V3
https://internalfb.com/intern/testinfra/testrun/13229323979124907
MFTRunTestsScript Run / Test Suite: sa_checkout / Test Collection: bloks / Diff Version V3
https://internalfb.com/intern/testinfra/testrun/9007199329033893

Reviewed By: vinkmeta

Differential Revision: D71495474

Pulled By: carterbuce

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

This PR changes the API response to include the actual product retailer ID set in WooCommerce. This will later be used to generate the checkout URL.

### Type of change

- [ x ] 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

N/A - backend change

## Test instructions

./vendor/bin/phpunit --filter fbproductTest

## Checklist

- [ x ] 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

Add woo_commerce_retailer_id to products API request

Pull Request resolved: #2958

Reviewed By: vinkmeta

Differential Revision: D71630166

Pulled By: crisojog

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

Currently, the plugin version is sent to Meta APIs once after each plugin upgrade. However, due to the current reliability issues with the APIs, many of these values are being lost, making it difficult to determine which plugin version is being used for a given connection. Therefore, we will now send the plugin version once daily.

### Type of change

Please delete options that are not relevant.

- [x] 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
N/A

## Test instructions

npm run test:php

Following relevant tests are updated
/tests/Unit/ExternalVersionUpdate/UpdateTest.php

## Checklist

- [x] I followed general Pull Request best practices. Meta employees to follow this [wiki]([url](https://fburl.com/wiki/2cgfduwc))
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have added tests 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.

## Changelog entry

> Syncing plugin version info

Pull Request resolved: #2960

Reviewed By: devbodaghe, gurtejrehal

Differential Revision: D71704465

Pulled By: vinkmeta

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

Currently items out of stock are not synced if the user has selected a setting in inventory to hide the products that are out of stock from the catalog. We want to synced them anyways.

### Type of change

Please delete options that are not relevant.

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

## Screenshots

After clicking SYNC PRODUCTS in the plugin config:

### Before

<img width="1329" alt="Screenshot 2025-03-18 at 17 29 39" src="https://github.com/user-attachments/assets/5c3c3ed4-727b-48d0-9196-4a3bb8e47c34" />

### After

<img width="1345" alt="Screenshot 2025-03-18 at 10 19 25" src="https://github.com/user-attachments/assets/919c398d-2daf-49f0-96a6-57eb2e2ba913" />

## Test instructions

npm run test:php  ran was successful

## 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

sync products out of stock to meta despite visibility config

Pull Request resolved: #2952

Reviewed By: vinkmeta

Differential Revision: D71408859

Pulled By: francorisso

fbshipit-source-id: 3de82ba398910edc7790fbceb90f75a183b7f301
Summary:
## Description

This PR changes the API response to include the actual product retailer ID set in WooCommerce. This will later be used to generate the checkout URL. After Marian's comment on the previous PR we're changing to use the existing field external_variant_id

### Type of change

- [x] 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
N/A

## Test instructions

./vendor/bin/phpunit --filter fbproductTest

## Checklist

- [x] 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

Update woo_commerce_retailer_id to existing field external_variant_id

Pull Request resolved: #2963

Reviewed By: vinkmeta

Differential Revision: D71741355

Pulled By: crisojog

fbshipit-source-id: 00789cd414f1b9610f427b5294b5b16fcce200d1
Summary:
# PR Summary
This PR reverts the addition of explicit property declarations in the AsyncRequest class.

We were seeing lint failures due to accessing an undefined property on the class.

The original code relied on property_exists() checks to determine if child classes had defined custom properties for query arguments, URL, and request arguments.

To fix the lint complaints, these variables were set to "null | undefined" on the class to indicate they were present but unused unless overridden dynamically.

However, explicitly declaring these properties in the parent class, broke this logic since property_exists() now always returns true for these properties, even when they're null.

This change restores the original dynamic property behavior, allowing child classes to optionally define these properties while maintaining the parent class's fallback logic.

### Screenshots:

### Detailed test instructions:

1.
2.
3.

### Additional details:

<!--
Optional.
Enter a summary of all changes in this Pull Request, which will be added to the changelog if accepted.
Each line should start with change type prefix`(Fix|Add|…) - `, for example:
> Break - A change breaking previous API or functionality.
> Add - A new feature, function or functionality was added.
> Update - Big changes to something that wasn't broken.
> Fix - Took care of something that wasn't working.
> Tweak - Small change, that isn't actually very important.
> Dev - Developer-facing only change.
> Doc - Updated customer or developer facing documentation

If you remove the "Changelog entry" header, the Pull Request title will be used as the changelog entry.

Add the `changelog: none` label if no changelog entry is needed.
-->
### Changelog entry

>

Pull Request resolved: #2921

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

Reviewed By: mradmeta

Differential Revision: D70652138

Pulled By: sol-loup

fbshipit-source-id: 396fadbca8106fbf88cfe1e2764f0cc05dfd7c49
Summary:

Remove duplicate changelog entries from the readme.txt file and reference the actual changelog.txt file instead.
Going forward, the readme.txt should only be updated during minor or major version upgrades, eliminating the need to update duplicate changelog entries here.

Modified core plugin files

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

Update readme.txt

Pull Request resolved: #2949

Differential Revision: D71287086

Pulled By: vinkmeta

fbshipit-source-id: ccee3f89ce15454f1504b40d3bbe401cfd94c094
@github-actions github-actions bot added the changelog: none Skip changelog entry for this PR label Mar 27, 2025
Comment thread readme.txt Outdated

= 3.4.2 - 2025-03-13 =
* Tweak - Update README.md - Added noification for ownership transfer by @SayanPandey in #2910 and #2916
= 3.4.X 2025-XX-XX =
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is meant to be pointing to the last version, and the Xs to be replaced with correct values:
3.4.4 2025-03-27

Comment thread readme.txt
= 3.4.2 - 2025-03-13 =
* Tweak - Update README.md - Added noification for ownership transfer by @SayanPandey in #2910 and #2916
= 3.4.X 2025-XX-XX =

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Also, the latest changelog should be here.
The idea is to only keep the latest change's log

@tzahgr tzahgr requested a review from vahidkay-meta March 27, 2025 12:58
@tzahgr tzahgr merged commit a26123c into releases Mar 27, 2025
7 checks passed
@tzahgr tzahgr deleted the release/3.4.4 branch March 27, 2025 13:50
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.

7 participants