Commit Graph

65354 Commits

Author SHA1 Message Date
Manish Menaria fef54f78f4 Fix type 2024-09-18 21:13:04 +05:30
Karol Manijak ec1a5a0e33 Merge branch 'trunk' into add/50916-product-reference-updated 2024-09-18 18:53:09 +08:00
Ilyas Foo 6a83e8d301
Fix deprecation notice in coming soon and store-only mode (#51474)
* Wrap parse_str under a check

* Changelog
2024-09-18 18:06:38 +08:00
Vladimir Reznichenko d6f1cce424
[dev] Monorepo: update git post-checkout hook (feedback) (#51471) 2024-09-18 11:10:11 +02:00
Maikel Perez f529d927a2
CYS: Fix Looker dashboard data (Track & display average loading times) (#51461)
* Track customize_your_store_assembler_hub_editor_loaded event to measure CYS loading time

* Add changelog file
2024-09-18 09:59:14 +02:00
Vedanshu Jain 3cdf45f69c
Modify API response tests to assert that expected key values are present (#51465)
Modify API response tests to assert that expected key values are present.

This differs from earlier assertion which checks for exact equality. However the earlier assertion was brittle and would fail when a new property is added, for example in https://core.trac.wordpress.org/ticket/61739.

With this change, any addition to schema will not breaking existing API tests.
2024-09-18 12:58:38 +05:30
Tung Du 1b58098848
[Experimental] Product Filters Chips style and new interactivity API implementation (#51393) 2024-09-18 13:16:07 +07:00
RJ ec29880e3e
fix: added pre-API call permissions check on APIs being called on non-admin accessible screens (#51406)
fix: no permissions api errors
2024-09-18 12:53:52 +08:00
Sam Seay 2e3013555e
Check if button element exists when triggering added_to_cart (#51449) 2024-09-18 14:13:47 +12:00
Karol Manijak c1ce730c66 Merge branch 'trunk' into add/50916-product-reference-updated 2024-09-18 10:06:57 +08:00
Karol Manijak d648e223ca Show placeholder img if product doesnt have one 2024-09-18 10:00:40 +08:00
Karol Manijak 008beb3243 Rename some variables to more meaningful names 2024-09-18 09:47:26 +08:00
Karol Manijak a3cf8831e0 Make the labels less spcific to related products 2024-09-18 09:39:58 +08:00
Karol Manijak 2ecc36ee7f Increase a gap in radio control 2024-09-18 09:36:53 +08:00
Chi-Hsuan Huang cf7fd8303c
Improve remote logging structure and content (#51360)
* Refactor RemoteLogger to format error file paths and remove absolute paths

* Add changelog

* Change "**" -> "./"
2024-09-18 08:58:10 +08:00
Chi-Hsuan Huang cfca07eca8
Reducing Noise in Remote Logging (#51357)
* Refactor remote logging in WooCommerce

This commit refactors the remote logging functionality in WooCommerce to improve its efficiency and flexibility.

- In the `class-woocommerce.php` file, the `context` array now includes a new key `remote-logging` to indicate whether the error should be logged remotely if remote logging is enabled.

- In the `RemoteLogger.php` file, the `file` key in the `context['error']` array is now assigned to the `$log_data` array, and then unset from the `context['error']` array.

- The `should_handle` method in the `RemoteLogger` class now checks for the presence of the `remote-logging` key in the `context` array. If it is not set or set to `false`, the log is ignored.

- The `RemoteLoggerTest.php` file includes new test cases to ensure that the `should_handle` method returns `false` when the `remote-logging` key is not present in the `context` array.

These changes improve the remote logging functionality in WooCommerce and make it more robust and efficient.

* Revert log format change

* Set remote-logging context to true in log remote event method

* Add changelog

* revert change

* revert change
2024-09-18 08:57:32 +08:00
Karol Manijak ba96bcddcb Format SVG icon and optimize it 2024-09-18 08:23:51 +08:00
Narendra Sishodiya c2fa5eeff5
Updated Product attributes placeholder to e.g. length or weight (#51379)
* Updated Product attributes placeholder to e.g. length or weight

* Added Changelog

* Add changefile(s) from automation for the following project(s): woocommerce

* Delete changelog/51134-product-attribute-placeholder-update

* Add changefile(s) from automation for the following project(s): woocommerce

* Revise changelog.

* Add changefile(s) from automation for the following project(s): woocommerce

* Satisfy linter.

* Increase exactitude to reduce ambiguity levels.

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-09-17 15:59:22 -07:00
Moon 5fe53a2e3f
Add locale param to jetpack redirect url (#51392)
* Add locale from php

* Add changefile(s) from automation for the following project(s): woocommerce

* Return a full locale with language and region code

* Fix style

* Fix error

* Lint fixes

* Lint fixes

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-17 13:46:26 -07:00
Narendra Sishodiya e03c51c5ed
Fixed call to member function is_visible Fatal Error (#51286)
* Fixed call to member function is_visible Fatal Error

* Implemented the suggestions

* Add changefile(s) from automation for the following project(s): woocommerce

* Updated the @version tag

* Promote 'comment' to actual changelog entry.

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-09-17 11:30:47 -07:00
Jason Kytros ea6e7295ec
Merge WooCommerce Brands into core (#50165)
* Move WooCommerce Brands into core

* Fix linting errors in brand-thumbnails.php

* More lint fixes for brand-thumbnails.php

* Fix lint issues in brand-description.php

* Fix lint errors for brand-thumbnails-description

* Lint errors: Fix taxonomy-product_brand

* Lint errors: fix taxonomy-product_brand

* Linting: Try adding a space between ignore command and docblock

* Another try to remove the lowercase file name error

* Another try removing lint error for lowercase files

* Lint errors: Fix brands-a-z.php

* More lint fixes for brands-a-z.php

* More lint fixes for brands-a-z.php

* Lint fixes: brand-description.php

* Another try fixing lint errors for brand-description.php

* Another try fixing lint errors for brand-description.php

* More fixes for brand-description.php

* Fix lint errors for Packages.php

* More fixes for Packages.php

* Linting fixes for Brands.php

* Added docblocks for WC_Widget_Brand_Thumbnails variables

* Add script to fix coding standards for files changed in branch

* Run autofix script for linting

* Lint fixes for class-wc-widget-brand-thumbnails.php

* More lint fixes for: class-wc-widget-brand-thumbnails.php

* More lint fixes for class-wc-widget-brand-thumbnails.php

* Lint fixes for class-wc-widget-brand-nav.php

* lint fixes: ignore docblocks

* Another try to fix missing docblocks

* Another try to fix missing docblocks

* Another try fixing missing docblocks

* Better messages for fix-branch.sh

* Fix lint errors in class-wc-widget-brand-description.php

* Fix linting errors in REST API and functions classes

* Fix linting issues in class-wc-brands.php

* More lint fixes for wc-brands.php

* More lint fixes for wc-brands.php

* Fix lint errors for wc-brands-coupons.php

* Fix lint errors for class-wc-brands-block-templates.php

* Fix linting errors for class-wc-brands-block-template-utils-duplicated.php

* Fix lint errors in class-wc-admin-brands.php

* More fixes in class-wc-admin-brands.php

* More class-wc-admin-brands.php

* More lint fixes for: class-wc-admin-brands.php

* More lint fixes for class-wc-admin-brands.php

* Transfer unit test

* Transfer e2e test

* Added specific versions to templates

* Added changelog

* Another try for HTML templates version

* Fix lint errors in test files

* More lint fixes

* Fix lint warnings

* Added brands to list of expected REST API fields

* More lint warning fixes

* More lint warning fixes

* Updated unit tests to include brands

* Remove whitespace

* Added declare( strict_types = 1); to all PHP files

* Added declare( strict_types = 1) to test file as well

* Fix: There must be exactly one blank line after the file comment

* Temporarily remove Brands e2e tests

* Move Brands blockified templates

* Remove script to fix lint errors in current branch

* Try removing pull-package-deps

* Bring back deps

* Commit pnpm-lock.yaml

* Add debug statements

* More debug statements

* Make regular expression more specific

* Make matches more specific

* Search only for PHP templates

* Bring back whitespace

* Remove unnecessary change

* Update pnpm-lock.yaml

* Change the way Brands files are included

* Include all files

* Prevent Brands assets from being double-enqueued

* Move Brands scripts handling into core

* Revert changes in the template-changes.ts script

* Use strict in_array

* Add scaffolding for Brands test

* Add more scaffolding for Brands tests

* Enhance e2e test by adding steps for creating a Brand

* Move Brands test to Playwright folder

* Added manifest

* Fix lint errors in tests

* Move Brands coupons test into core's coupons tests

* Fix linting error in tests

* Move all Brands initialization within the /Internal/Brands class

* Rename `$merged_packages` to `$merged_plugins`

* Add force disable method back

* Move Brands logic outside core files

* Rename admin styles

* Remove brands logic from core's admin class

* Roll back all changes in admin assets class

* Fix linting errors

* Move REST API logic to Brands main class

* Introduce an option to control whether the Brands package is enabled.
Prevent autoloader from loading classes already loaded by individual Packages.
Fix an issue with Brands admin styles.

* Bring back pnpm-lock

* Add comment

* Split long line into two

* Review default values for remote variant assignment

* Rename global functions and add polyfills for deprecated functions

* Bump versions

* Fix some lint errors

* More lint fixes

* Set woocommerce_remote_variant_assignment for Brands to be enabled for unit tests

* Replace reserved word class with class_name

* Another try to include Brands files in tests

* Remove Brands from REST API tests

* Skip Brands tests while Brands is behind a feature flag

* Lint fixes

* Remove empty line

* Added feature flag.

* Fix widgets form

* Fix lint errors for brand description widget

* Fix lint errors for brand description widget

* Fix lint errors

* Bump version

* Updated tooltips for Brands coupon restrictions to match core's

* Fix lint errors

* More lint fixes

* Add REST API v3 for Brands

---------

Co-authored-by: Walther Lalk <83255+dakota@users.noreply.github.com>
2024-09-17 18:13:46 +03:00
Albert Juhé Lluveras 514b39eea0
Fix a type mismatch in UpdateProducts.php (#51408)
* Fix a type mismatch in UpdateProducts.php

* Add changelog file

* Fix a type mismatch in UpdateProducts.php (II)
2024-09-17 16:56:55 +02:00
Chi-Hsuan Huang 6bc2244ec9
Reduce dependency of remote logging on WC_Tracks (#51365)
* Simplify WC_Tracks::get_blog_details() to reduce its dependencies

* Add changelog

* Remove store_id field

* Improve the check
2024-09-17 22:31:55 +08:00
Chi-Hsuan Huang dee8c619f0
Refine PHP Fatal Error Counting (#51363)
* Refine PHP Fatal Error Counting in MC Stat

* Add changelog

* Fix import
2024-09-17 22:31:44 +08:00
jonathansadowski bd1bbfd63c
Update upload- and download-artifact versions in workflows (#51073)
* Update build zip workflow fo upload artifact v4

* Update download- and upload-artifact to v4 in code freeze workflow
2024-09-17 09:16:29 -05:00
louwie17 ad8a25bd63
Add cron for Storybook pages - daily at 2:30 UTC (#51445)
Add cron for storybook pages - daily at 2:30 UTC
2024-09-17 11:11:54 -03:00
Mike Jolley 554434ea3d
Cart Shortcode: `wc_get_cart_url` should only return current URL if on the cart page (#51384)
* Narrow logic further by only checking if the current page is the cart, not WOOCOMMERCE_CART

* changelog
2024-09-17 13:56:01 +01:00
Vladimir Reznichenko b98236a25e
[dev] CI: experimental version of performance metrics job (#51276) 2024-09-17 14:32:01 +02:00
Mike Jolley be17f843b6
Add missing `wp-block-` classnames to order confirmation blocks, Store Notices, and Breadcrumbs (#51380)
* Add missing wp-block-x classname to order confirmation blocks

* Use get_block_wrapper_attributes for store notices block

* Breadcrumbs and notices

* Changelog
2024-09-17 13:30:22 +02:00
Seghir Nadir 66523872f3
Support controlling address card state from data store in Checkout block (#51386)
* fix line height

* Support controlling address card from data store

* expand billing address on unsync

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* disable linter rule

* remove empty section

* remove used vars

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-17 10:56:15 +00:00
Karol Manijak e354295387
Update Markdown lint allowing the same headings if they're not siblings (#51438)
* Set markdown rule about Multiple headings to check siblings only

* Change the doc to have same headings but not siblings as example

* Add changelog

* Update docs manifest
2024-09-17 12:44:15 +02:00
Vladimir Reznichenko 8b7050f9b1
Monorepo: git post-checkout hook to verify pnpm version and update dependecies. (#51382) 2024-09-17 12:34:40 +02:00
Ivan Stojadinov acc313a9b2
[e2e] External - Expand WPCOM suite, part 2 (#51414)
* Add /merchant tests to the WPCOM suite

* Skip "can manually add a variation" on WPCOM

* Skip "Coupon management" - API returns 500 on delete

* Resolve `wp-block-woocommerce-checkout-order-summary-block` on the first element

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-17 10:43:43 +02:00
Manish Menaria 861bc091d4
Product Collection - Add Editor UI for missing product reference (#51114)
* Initial implementation of the missing product state

- Changed `getProductCollectionUIStateInEditor` to a hook `useProductCollectionUIState`.
	- As we added logic to check if selected product reference is deleted which require making an API call. Therefore, I decided to use a hook.
- While making an API call to check if product reference is deleted, I decided to show spinner in the block.
- Introduced new UI state `DELETED_PRODUCT_REFERENCE` to handle the missing product state.
- Updated existing `ProductPicker` component to handle the new UI state.
	- It's better to use existing component for the missing product state, as it already has all the required UI.

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* Use getEntityRecord to check if product exists and other improvements

* Remove console log

* Add E2E tests for deleted product reference in Product Collection block

This commit introduces new E2E tests to verify the behavior of the Product
Collection block when dealing with deleted product references. The changes
include:

1. New test suite in register-product-collection-tester.block_theme.spec.ts
2. Modification to product-collection.page.ts to support custom product selection
3. Minor update to utils.tsx to handle trashed products

These tests ensure that the Product Collection block correctly handles
scenarios where referenced products are deleted, trashed, or restored,
improving the overall reliability of the feature.

* Simplify product creation in Product Collection block test

* Refactor E2E test for delete product reference picker

1. Removing the unnecessary `test.describe` block for "Deleted product reference"
2. Eliminating the `beforeEach` hook that was creating a test product
3. Integrating the test product creation directly into the main test

This change simplifies the test structure and improves readability while
maintaining the same test coverage for the Product Collection block's
behavior when dealing with deleted or unavailable products.

* Simplify logic for product collection UI state

This commit simplifies the handling of the `usesReference` prop in the
Product Collection block:

1. In `edit/index.tsx`, directly pass `usesReference` to
   `useProductCollectionUIState` hook without conditional spreading.

2. In `utils.tsx`, update the type definition of `usesReference` in the
   `useProductCollectionUIState` hook to explicitly include `undefined`.

* Refactor Product Collection block to improve prop passing

- Introduce ProductCollectionContentProps type for better prop management
- Refactor Edit component to use a renderComponent function
- Update component prop types to use more specific props
- Remove unnecessary props from ProductCollectionEditComponentProps
- Simplify component rendering logic in Edit component
- Adjust ProductPicker to receive only required props
- Update imports and prop types in various files to use new types

This refactoring improves code organization and reduces prop drilling by
only passing necessary props to each component. It enhances maintainability
and readability of the Product Collection block and related components.

* Refactor Product Collection block editor UI state handling

This commit simplifies the rendering logic in the Product Collection block's
Edit component. It removes a redundant case for the VALID state, as both
VALID and VALID_WITH_PREVIEW states now render the same ProductCollectionContent
component. This change improves code maintainability and reduces duplication.

* Fix: isDeletedProductReference is not set correctly

* Use "page.reload" instead of "admin.page.reload"

* Separate PRODUCT_REFERENCE_PICKER and DELETED_PRODUCT_REFERENCE cases

This improves readability and maintainability of the switch statement.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-17 14:08:24 +05:30
Albert Juhé Lluveras 4ee2689f4f
Fix fatal when adding the Product Gallery (Beta) block into a pattern (#51189)
* Fix fatal when adding the Product Gallery (Beta) block into a pattern

* Add changelog file

* Linting
2024-09-17 09:49:53 +02:00
Moon 160b3e3ca7
Add use-wp-horizon feature flag (#51421)
* Add use-wp-horizon feature flag

* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-16 21:02:21 -07:00
RJ 0036b4d293
add: tax task completion filter (#51362)
* add: tax task completion filter

* fix: add phpcs ignore for missing hook comment

* lint
2024-09-17 09:33:41 +08:00
Miguel Pérez Pellicer e4d995938f
Set customer email in reports data if available (#51367)
* Set customer email in reports data if available.

* Add changelog

* Lint
2024-09-16 22:45:47 +04:00
Boro Sitnikovski bf0646c307
Add error handling when the call to 'install-url' endpoint fails (#51298)
* Add error handling when the call to 'install-url' endpoint fails

* Changelog

* Ignore any explicitly

* Move the function below to address lint

* Change 'Try again' to a href, suggesting to download and install manually

* Lint
2024-09-16 16:57:05 +02:00
Tomek Wytrębowicz 450a299bae
Fix tax_code in the report export for removed rates (#51395) 2024-09-16 15:59:18 +02:00
Tomek Wytrębowicz a89bd1a485
Use page query param consistently as string for ReportsTable (#51396) 2024-09-16 15:57:58 +02:00
Seghir Nadir 1ef1aaa1f0
Hadren styles for interactive elements in Checkout block (#51375)
* reset styles for panel button

* reset styles for address card edit and address line 2

* Update shipping selector buttons

* fix line height

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* remove extra styles no longer needed

* update styles to balance chevron and change to span

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2024-09-16 13:03:20 +00:00
Ivan Stojadinov cebdcc61d0
[e2e] External - Expand WPCOM suite, part 1 (#51303)
* Expand WPCOM suite

* Skip core-profiler.spec.js on WPCOM - no "Coming soon"

* Skip `Analytics-related tests` on WPCOM - different sums

* Skip `Marketing Overview page have relevant content` - no content on WPCOM

* Payment setup task - make Save button more unique

* Include more tests in playwright.config.js

* Skip `Store owner can skip the core profiler`

* Add changefile(s) from automation for the following project(s): woocommerce

* Make "Get paid" more unique

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-16 13:56:44 +02:00
Seghir Nadir 77a17e48b7
update Mongolia postcode to be 5 digits instead of 6 in Checkout block (#50279)
* update Mongolia postcode to be 5 digits instead of 6

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* update validation package and expand mongolia checks

* Add changefile(s) from automation for the following project(s): woocommerce-blocks

* update lock

* fix lock again

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-09-16 11:22:38 +02:00
Adrian Moldovan 79b8a40157
Update nighty build workflow (#51328) 2024-09-16 12:11:15 +03:00
Vladimir Reznichenko d397e39c75
[dev] Update code owners files: initial ownership for Flux team (#51260) 2024-09-16 09:05:29 +02:00
Narendra Sishodiya 63d93d7355
Implemented PHPCS Fixes in OrdersTableQuery.php and ProductQuery.php (#51281)
* Implemented PHPCS Fixes in OrdersTableQuery.php and ProductQuery.php

* Reverted gmdate() to date()

* Add changelog

* Fixed linting issue in Update OrdersTableQuery.php

---------

Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2024-09-15 16:21:55 +01:00
Fernando Marichal ae20724210
Add inspector controls to Product Search block (#51247)
* Add inspector controls to product search

* Add changelog

* Move inspector panel to Styles

* Remove not used Fragment

* improve code

* Rename enum

* Rename type ProductSearchBlockProps

* Use PositionOptions constant

* Change hook namespace
2024-09-13 18:52:12 -03:00
jonathansadowski 0eb4383918
Update nvm instructions in README.md (#51240)
* Update nvm instructions in README.md

* Update getting started instructions for nvm install

* Update docs manifest
2024-09-13 14:20:19 -05:00
Barry Hughes 9b41815229
Produce CSV Import enhancements (cherry-pick PR#51344) (#51348)
* Move AJAX callback to produt importer controller

* Add better validation for file paths in CSV product import

* Add utility function to create a no-index directory

* Add CSV upload helper

* Simplify product CSV import logic using helper

* Update tests

* Add changelog

* Changelog.

* Remove changelog file; entry added directly to root changelog.txt.

---------

Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
2024-09-13 11:39:37 -07:00