Commit Graph

21013 Commits

Author SHA1 Message Date
Tom Cafferkey 0cb3b4a9ad
Block Hooks API: Add CustomerAccount block to header (#43267)
Co-authored-by: github-actions <github-actions@github.com>
2024-03-26 08:38:06 +00:00
Niels Lange 142b7d69d9
Allow to disable shipping independent of Local Pickup settings (#45828)
* Ensure that shipping can be disabled independent of Local Pickup

* Fix PHPCS issues

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-26 12:02:34 +07:00
RJ 6c12f8b6d4
add: lys xstate url handling (#45803)
* add: lys xstate url handling

* added: tests and fixes and changelog
2024-03-26 10:29:16 +08:00
RJ d063452139
dev: added xstate v5 inspector (#45879)
* dev: added xstate v5 inspector

* pnpm lock
2024-03-26 10:28:51 +08:00
Ron Rennick 1a03a64248
Sync husky, @playwright/test, github-label-sync (#45551)
* bump husky, remove remnants from blocks

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

* add @playwright/test to syncpack

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

* update pnpm-lock.yaml

* add github-label-sync to syncpack

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

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-03-25 15:05:09 -03:00
github-actions[bot] f325727a7f
Prep trunk for 8.9 cycle (#45817)
Prep trunk for 8.9 cycle with version bump to 8.9.0-dev

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-03-25 17:19:35 +01:00
github-actions[bot] 5bc944f394
Release: Remove 8.8 change files (#45818)
Delete changelog files from 8.8 release

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-03-25 17:17:17 +01:00
Rodrigue b3a1d8c922
Add a filter for the items to apply coupons array. (#45791)
* Add a filter for the items to apply coupons array.

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

* Add filter docbloc.

* Add since tag in filter docbloc.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-25 17:23:47 +02:00
Adrian Moldovan 2403baca01
[e2e tests] Update customer-payment-page spec to be theme agnostic (#45888) 2024-03-25 12:03:30 -03:00
Adrian Moldovan c5c68f5b68
[e2e tests] Fix can create a simple product tests (#45884)
* Update category check in frontend

* Add changelog

* Removed describe block

* Test with single shard

* Add the 5 shards back

* Add the 5 shards back
2024-03-25 11:49:12 -03:00
Alexandre Lara 207a5b43d2
Single Product Block: Add missing allowed inner blocks to fix nesting placement restrictions (#45530)
* Add missing allowed inner blocks to Single Product block

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

* Remove unnecessary attribute from Single Product block template

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-25 10:59:57 -03:00
Marco Almeida 39ecfece30
Fix "add_action" accepted args (#45862)
* Fix "add_action" accepted args

Fixing the "add_action" accepted args on the examples

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-25 12:13:44 +00:00
And Finally 8fe1c4005e
In-app marketplace: remove extension update count bubble from menu item if we're showing a promotional bubble (#45832)
* Strip out extension update count bubble from menu item if we are showing a promotional bubble.

* Changelog.
2024-03-25 11:41:32 +00:00
Thomas Roberts c1d644dc16
Try fixing additional checkout fields E2E test (#45789)
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
2024-03-25 03:56:55 -07:00
Alba Rincón 4f2ed8d262
[CYS - Core] E2E tests: add coverage for the Intro page (#45356)
* Add test for the offline intro banner

* WIP

* WIP

* Add more tests

* Remove unnecessary code

* Remove consoles

* Remove console

* Update strings

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

* Remove unnecessary code

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-25 10:28:02 +01:00
Bart Kalisz 080538ad2f
Apply upstream performance improvement to `_get_templates_paths` (#45619)
Co-authored-by: Tom Cafferkey <tjcafferkey@gmail.com>
2024-03-25 09:18:02 +00:00
Moon 12c53d9264
Add `coming soon` page and setting (#45773)
* Add 'coming-soon' page

* Add coming soon page when user hits the core profiler page.

* Added coming soon page selector under Page setup

* Move coming soon page logic to launch your store feature class

* Conditionally add coming soon select

* Move coming soon page creation logic to WooCommerce Home

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

* Fix tests


---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-22 15:33:20 -07:00
Moon 5352c705b5
Fix Shipping Task input visual issue on Firefox (#45778)
* Fix layout issue -- add align-items for flex items

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-22 10:52:47 -07:00
Leif Singer a45e5eda4f
Add a test for the `woocommerce_specific_allowed_countries` option (#45810)
* add a test for the `woocommerce_specific_allowed_countries` option

* add changelog file
2024-03-22 10:47:25 -07:00
Maikel Perez 54476cb7f3
After Variations are created, disable the fields that don’t do anything (#45838)
* Disable woocommerce/product-regular-price-field when product type is variable

* Disable woocommerce/product-sale-price-field when product type is variable

* Disable woocommerce/product-sku-field when product type is variable

* Disable Track stock quantity toggle when product type is variable

* Disable woocommerce/product-radio-field when product type is variable

* Disable woocommerce/product-shipping-class-field when product type is variable

* Disable woocommerce/product-shipping-dimensions-fields when product type is variable

* Add changelog files

* Fix php linter
2024-03-22 13:52:42 -03:00
Damián Suárez 27124828e9
[Product Block Editor]: register `metadata` attribute for all blocks (#45657)
* register the `metadata` attribute for all blocks

* bind value attribute with the nane product entity

* changelog

* add a ToDo note

* rename edit component fn to NameBlockEdit

* changelog

* restore @ts-export line

* fix eslint issue

* fix eslint issue
2024-03-22 12:23:38 -04:00
Veljko V 1ba4bcef58
Update existing test to include scenarios for adjusting shipping and payment options (#45755)
* Add test for shipping methods but as commented

* Update comment with issue number
2024-03-22 12:44:14 -03:00
Fernando Marichal 3842611975
Update copy of inventory management fields (#45801)
* Update copy of inventory management fields

* Add changelog

* Add changelog
2024-03-22 11:49:54 -03:00
Seghir Nadir 401737994f
Use state name in Checkout block address card (#45799)
* Use state name in address card

* fix linting issue

* remove extra check for checkout endpoint

* address review feedback
2024-03-22 15:14:14 +01:00
Adrian Moldovan 88834ff469
[e2e tests] Disable focused test (#45825) 2024-03-22 12:45:04 +00:00
Seghir Nadir 7d944cd259
Add Shipping phone number to the order preview panel (#45788)
* Add Shipping phone number to the order preview panel

* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>

---------

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2024-03-22 13:08:53 +01:00
Jonathan Lane 4c4a581b71
[E2E] Initiate a woo.com connection (#45813)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-03-22 11:53:47 +02:00
Manish Menaria ca7aed0a95
Product Collection: Don't show publicly non-queryable taxonomies (#45781)
* Don't show publicly non-queryable taxonomies

The main enhancement involves adding a visibility filter to the taxonomies query. Now, the query considers the `publicly_queryable` property of each taxonomy. Only taxonomies marked as publicly queryable are included in the final list returned by the `useTaxonomies` hook. This change ensures that the Product Collection block's taxonomy controls only display taxonomies relevant and accessible to the public, enhancing both the usability for content creators and the relevance of taxonomy selections for site visitors.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-22 15:01:58 +05:30
Luigi Teschio c2a3abae51
[CYS - E2E tests] Add E2E tests for the loading screen (#45804)
* CYS: initial E2E tests loading page

* add more cases

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-22 10:07:33 +01:00
Christopher Allford b8bd480faf
Ensure Product Collection Block's `queryId` Uniqueness (#44522)
Since we don't need it to be _perfectly_ stable,
we can just set the `queryId` to the instance ID
on every component mounting. This is fine and
won't mark the attribute as dirty unless a
collection block is added, deleted, or moved
in just the right way. The exception to this
is collection blocks in sync patterns.
In this case the ID cannot change
because it can cause update loops in some
cases that freeze the browser.
2024-03-22 01:40:15 -07:00
Christopher Allford 5002b62d00
Reset Product Collection Pagination When Filtering (#45693)
Since we can't be sure that a page exists once the filters have been
changed we should reset the page when they do.
2024-03-21 14:03:13 -07:00
Maikel Perez a5943ab0ef
Advanced settings > Features: remove Navigation setting when store isn't using it (#45800)
* Remove Navigation setting when store isn't using it

* Add changelog file

* Fix api core test
2024-03-21 16:09:30 -03:00
Patricia Hillebrandt b790f155d0
[CYS on Core] Update the copy for the fonts opt-in modal (#45805)
* Update the copy for the fonts opt-in modal

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 19:49:37 +01:00
Jorge A. Torres db34a15116
Handle posts > HPOS redirect more gracefully when backup post is missing (#45605)
* Attempt to determine order type from HPOS side too in `PostsRedirectionController`

* Add changelog

* Simplify redirect logic

* Linter hates short ternaries
2024-03-21 18:33:59 +00:00
Alba Rincón 4eb9063a06
[CYS] Update the `Share feedback` survey design (#45802)
* Update the CYS feedback survey design

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

* Fix typo

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 18:30:40 +01:00
Adrian Moldovan d8453be3df
[e2e tests] Disable the task list reminder bar in products list (#45772)
Disable the task list reminder bar, it can interfere with the quick actions
2024-03-21 10:20:32 -07:00
Adrian Moldovan 1e0be60e7e
[e2e tests] Add tests for users management (#45673)
* Add skeleton spec

* Add missing await

* Update customer role in test env setup

* Split specs

* Add tests for user creation

* Added tests for users deletion

* Fix API tests after env setup customer role change

* Fix API tests after env setup customer role change

* Add update customer steps

* Update user edit tests

* Updated comment
2024-03-21 10:18:23 -07:00
Corey McKrill b2d70262b7
Products: Avoid fatal during variation search (#45776)
* Products: Avoid fatal during variation search

Most product types' data objects store `WC_Product_Attribute` objects in
their attributes property, whereas Product variation data objects store
an associative array of key/value pairs in their attributes property.
This is problematic because it means a fatal error can be thrown when
code assumes that a product's attributes are objects with methods rather
than simply strings. Ideally, attributes would work the same everywhere,
but it would be challenging to fix that in the codebase without breaking
backcompat. So instead, in this PR, we are simply adding some logic in
the `find_matching_product_variation` method to ensure that we're not
trying to retrieve a variation of a product object that is already a
variation.

* Fix linting issue
2024-03-21 18:07:09 +01:00
Patricia Hillebrandt 5ee4a4c1b1
[CYS] Ensure the CYS task is marked as complete only if the user customized their theme in the editor (#45792)
* Make sure the woocommerce_admin_customize_store_completed is marked as complete whenever global styles are updated by the user.

* Check for the WP_Post object before attempting to access the content property

* Mark the cys task as completed when modifying a template or template_part

* Unify the mark as complete methods and update the hooks.

* update docblock

* remove unnecessary ()

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

* Ensure the woocommerce_admin_customize_store_completed option is marked as complete whenever the user updates their styles in the editor

* Fix lint errors

---------

Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 17:36:41 +01:00
Roy Ho 5aac82b0fe
Consolidate and move password protected product test (#45752)
* Consolidate and move password protected product test

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

* Move test to non side effect and remove remaining empty test file

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 07:44:30 -07:00
And Finally 40b14aea16
Don't return from `WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions` if we get an empty or bad response (#45786)
* Removed return statements from conditions in `WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions`. With these, if the marketplace gets a good response from the API and then later a bad or empty response, it fails to update the promotions transient, meaning that notices and menu bubbles may persist in stores after we've removed them from the API. We check the dates of promotions, so they should disappear when they expire, but it's a good idea to clear this data if the API returns an empty response or if there's an error fetching it.

* Changelog.

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

* Removed duplicate changelog file.

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

* Removed duplicate changelog file.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 14:42:25 +00:00
Tom Cafferkey f2d828f49a
Block Hooks API: Add the block hooks algorithm to Woo templates (#45737)
Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 08:50:40 +00:00
Tom Cafferkey e4017f0800
Block Hooks: Run block hooks on all block themes (#45581)
Co-authored-by: github-actions <github-actions@github.com>
2024-03-21 08:25:27 +00:00
Vedanshu Jain 265f3403e2
New filter to set a custom precision value for the WC calculations (#45743)
* New filter to set a custom precision value for the WC calculations

* Add changelog and docblock.

* Add since tag.

* Add since tag.

* Add prefix + correct version.

* Better filter name

---------

Co-authored-by: Yordan Soares <contacto@yordansoar.es>
2024-03-21 07:53:40 +00:00
Vedanshu Jain 622c178f28
[Tweak] Fix comment in order-received.php template (#45742)
* [Docs] Correct filename

* PHPCS fixes.

* Fix version number.

---------

Co-authored-by: konradpomocny <36989635+konradpomocny@users.noreply.github.com>
2024-03-21 07:48:02 +00:00
Luigi Teschio 7f45f13c7d
CYS - Core: fix: not mark Customize your store step as completed when the user switches theme (#45762)
* CYS - Core: fix: not mark   step as completed when the user switches theme

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

* trigger CI

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 22:47:05 +00:00
Roy Ho 5acef655b8
Add gap between quantity field and add to cart button when stacked (#45758)
* Add gap between quantity field and add to cart button when stacked

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

* Add specificity to quantity

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 15:41:10 -07:00
Michael Pretty bef14c0320
Add index to zone_id column for woocommerce_shipping_zone_locations (#45598)
Add an index to the zone_id column of woocommerce_shipping_zone_locations.
Remove the separate index on location_id. Shipping zone locations are read by zone_id when a ShippingZone is read from the database. The zone_id is also used in join statements with the shipping zones table. So an index would improve performance there. The separate KEY for the location_id column is not needed as the primary key for the table already creates an index automatically.
2024-03-20 15:14:23 -07:00
Fernando Marichal d5651111fa
Update product editor experiment name and enable pre-publish panel by default (#45745)
* Enable prepublish panel by default

* Rename experiment

* Add changelog

* Fix e2e tests

* Fix disable-block-editor
2024-03-20 17:14:54 -03:00
Adrian Moldovan 207cccdc33
[e2e tests] Improve test stability by using a stricter locator when checking product variation (#45710)
Use a stricter locator when asserting the size variation
2024-03-20 16:21:43 -03:00
Alba Rincón 90f322a7f2
Improve hero product chessboard pattern spacing (#45756)
* Improve hero product chessboard pattern spacing

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 18:56:54 +00:00
Alba Rincón 87bfa48638
[CYS] Fix the border of the toggle control in the assembler (#45744)
* Fix the color of the toggle control in the assembler

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 19:03:31 +01:00
Niels Lange be63107c92
Improve local pickup flow (#45614)
* Update shipping calculation copy

* Update shipping calculation copy

* Update shipping calculation copy

* Update legacy local pickup copy

* Remove ‘target="_blank"’ and ‘rel="noopener noreferrer"’

* WIP: Conditional message and display of legacy local pickup option

* Make util function static

* Make texts translatable

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

* Fix PHPCS errors

* Fix PHPCS errors

* Update plugins/woocommerce/includes/class-wc-shipping.php

Co-authored-by: Gerhard Potgieter <potgieterg@gmail.com>

* Remove duplicate helper method

* Improve helper method

* Replace “esc_html__” with “wp_kses” to keep URL clickable

* Optimise is_legacy_local_pickup_active() method

* Adjust CSS definitions

* Refactor is_cart_block_default() and is_checkout_block_default()

* Ensure that Rest of the World shipping methods are available

* Remove obsolete space

* Adjust text spacing

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Gerhard Potgieter <potgieterg@gmail.com>
2024-03-20 14:54:12 +00:00
Thilina Pituwala d065b786f5
Remove the ability to update Woo.com extensions not available in WP.org plugin directory (#44279)
* Remove the hook for updating update_plugins transient with data fetched from Woo.com

This prevents the WP core from updating Woo.com plugins.

* Remove the hook for updating update_themes transient with data fetched from Woo.com

This prevents the WP core from updating Woo.com themes.

* Remove the class hand hooks used for updating the API response of WP.org with update URI's from Woo.com.

* Add change log file.

* Add update_plugins and themes transient update hooks back while removing the package from Woo.com extensions.

When a Woo hosted plugin has an update, this will allow showing the update message but block the ability to update.

* Adding a hook to modify the plugin update notification on plugins.php.

When a Woo.com hosted plugin has an update available it will show a message to install Woo Marketplace plugin, if it's not installed.

* Utility class for Woo Marketplace plugin.

* Check wether the Woo marketplace plugin is already installed before modifying update notice.

* Update docblocks.

* Add status end point for wccom-site API.

* Check the existence of marketplace plugin only after the plugins are loaded.

* Add WP.org plugin api response updater back to core.

* Function to identify if the market-place plugin is installed.

* Update status API response with installation status.

* Update the status variable push to store admin frontend with information about market-place plugin.

* Styles for woo-connect-plugin component.

* Component for displaying the message to install Woo Connect plugin based on the installation status.

* Add Woo Connect plugin notice to my-subscriptions page.

* Add Woo connect plugin message to discover page.

* Add Woo Connect install/download urls to constants file.

* Add a modal for asking the user to install Woo Connect plugin.

* Update strings with constants.

* Show the Woo Connect modal when user updating plugins without Woo Connect installed.

* Show Woo Connect install notifications only when the site is connected.

* Update plugin management page messaging.

* Update notification on connect screen.

* Update notifications on plugin management page.

* Remove additional spacing in Plugin Install Notice and spacing in the discover page results and the notice.

* Use notice component instead of Card.

* Minor improvements to readability.

* Add translation support for messages displayed on plugins.php.

* Update woo connect plugin installation URL (#45127)

* Ad functions for generating WooConnect plugin install URLs.

* Make WooConnect install url to available to marketplace components.

* Make WooConnect install url to available to marketplace components.

* Link install buttons to install URL with access_token and secret.

* Update Woo Update Manager download url.

* Show admin notice to install Woo Update Manager on plugins.php.

* Adding the view for admin notice for installing woo_update_manager.

* Show woo update manager installation notice on WC admin pages and make the notice dissmisable.

* Update the install url for Woo Update Manager by adding the product ID and introduce a filter to override the product ID.

* Change the plugin name to Woo Update Manager.

* Change the download url for woo update manager

* Fix the margin below the Woo Update plugin install notice.

* Rename Woo Connect to Woo Update Manager.

* Rename wccom-site status endpoint response variables based on plugin name changes.

* Update the plugin main file name for Woo Update Manager.

* Updating the download URL.

* Updating css class names and file names from `woo-connect-plugin` to `woo-update-manager`.

* Change wooConnect variables to wooUpdateManager.

* Rename WC_Helper_Plugin to WC_Woo_Update_Manager_Plugin and remove references to market place plugin.

* Extract and reuse the logic for creating the signature.

* Use WC built-in method to check if the current page is a WC page.

* Add source parameter for installer.

* Update text copies based on flows for in-app Woo Update Manager install message.

* Update admin notice based on the flows.

* Update connect store message.

* Update the text based on the latest flow and show a different message when WUM is installed but not activated.

* Use html text for install notice message.

* Implement the bubble showing number of updates available on WooCommerce -> Extensions menu. Add one to available Woo.com updates if WUM is not installed or activated.

* Update install url to new structure.

* Update download url for WUM.

* Add a method to get the id of the WUM.

* Remove WUM from available to install list of extensions on my-subscriptions tab.

* Remove the hard coded ID of the Woo Update Manager and use the slug to get the ID of the plugin based on update-check response.

* Fixing the notice generated due to empty body.

* Update CTA and image for the not connected screen.

* Increasing the left margin of the install notice to match admin notices.

* Add close button to modal with message to activate WUM.

* Add install/activate notice to Browse and Themes tabs.

* Add the view for showing admin notice for activating the plugin.

* Update plugin name on install admin notice.

* Show install or activate admin notice based on the context.

* Update comment

* Make the linked text shorter in plugin update message.

* Generate a signed auto-install URL for woo hosted plugins without helper API (#45313)

* Generate a signed auto-install URL for woo hosted plugins without helper API

* Use product slug in auto-install URL instead of product id.

* Update activate Woo Update Manager modal buttons.

* Change install url from Woo Update Manager ID to slug.

* Allow defining the menu title and page title separately for when adding menus and sub menus in WooCommerce Admin.

* Set the page title separately for WooCommerce Extensions menu.

* Fix the update count issue.

* Update the download URL for Woo Update Manager.

* Update the download link for WUM in admin notices.

* Show WUM admin notices on WC Admin pages only when the site is connected.

* Remove additional slash in plugin admin url.

* Add wum-installed parameter to the connect URL (#45702)

* Add wum-installed parameter to the connect URL

* Send status of Woo Update Manager installation on connection init.

* Revert "Add wum-installed parameter to the connect URL"

This reverts commit 4c55038b03.

---------

Co-authored-by: Denis Dvali <denis.dvali@automattic.com>

* Fix lint errors.

* Fix lint error.

* Fix lint errors.

* Fix js lint issues.

* Update Woo Update manager admin notice.

---------

Co-authored-by: Muhammad Anas <anastts.pk@gmail.com>
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
2024-03-20 15:02:23 +01:00
Adrian Moldovan a7fb611665
[e2e tests] Fix create a simple product test flakiness (#45700) 2024-03-20 11:01:12 -03:00
Remi Corson 7c7ed0d7c4
Use WC built-in Action Scheduler to fetch in-app promotions (#45628)
* Use WC built-in ActionScheduler

* Calling `WC_Admin_Marketplace_Promotions::init` immediately from `WC_Admin` constructor. `WC_Admin` is only instantiated in an admin request. If we init marketplace promotions from `woocommerce_init`, we'll be too late to add the callback for the scheduled action that fetches promotion data.

* Changed transient life to 12 hours to match frequency of ActionScheduler action.

* Changelog.

* Updated `fetch_marketplace_promotions` to replace the transient every time it runs. This allows more frequent changes.

* Added filter to allow promotions to be suppressed.

* Fix indentation

* More indentation fix

* Clearing scheduled action if `woocommerce_marketplace_suppress_promotions` filter returns "true".

* Running `clear_scheduled_event` on `init`.

* WP_CLI check

* We were including and instantiating `WC_Admin_Marketplace_Promotions` from the `WC_Admin` constructor. But `WC_Admin` is only instantiated during `is_admin` requests. We also need to respond to cron requests. So we're now including the class from `class-woocommerce.php` if the context is admin or cron, and instantiating it on `init`. This fixes the error in Scheduled Action `action failed via WP Cron: Scheduled action for woocommerce_marketplace_fetch_promotions will not be executed as no callbacks are registered.`

* Linter errors.

* Enhance append_bubble() method

* introduce SCHEDULED_ACTION_INTERVAL

* Make linter happier

* Linter errors.

---------

Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2024-03-20 15:00:41 +01:00
Adrian Moldovan 13ac9141a1
[e2e tests] Stabilize product quick delete test (#45636) 2024-03-20 10:59:48 -03:00
Karol Manijak a6500aa572
Prevent warning if there was no post ID available in some product elements (#45675)
* Prevent warning if there was no post ID available in some product elements

* Add changelog
2024-03-20 14:49:02 +01:00
Luigi Teschio 55cd1982dc
CYS: Fix Header/Footer template parts disappear (#45735)
* CYS: Fix Header/Footer template parts disappear

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

* show pattern list only when the site editor is ready

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 13:28:56 +00:00
nigeljamesstevenson 767528215b
Update Action Scheduler to 3.7.3 (#45739)
* Update Action Scheduler to 3.7.3

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 13:27:02 +00:00
Jorge A. Torres 4ce5bb55b4
Prevent possible type error during `WC_Install::create_options()` (#45730)
* Prevent possible type error during `WC_Install::create_options()

* Add changelog

* document the `woocommerce_get_sections_' . $this->id` filter

---------

Co-authored-by: Leif Singer <git@singer.sh>
2024-03-20 13:12:37 +00:00
Roy Ho 3ef4fc88a5
Rating filter: fix misaligned count (#45674)
* Rating filter: fix misaligned count

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 05:24:47 -07:00
Niels Lange fa49848cf9
Fix broken CSS classes and update JS unit snapshots (#45732)
* Fix broken CSS classes and update JS unit snapshots

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 17:42:05 +07:00
Erik Golinelli 49b92070cc
Removes the star icon font (#31670)
* removes the star font
The WooCommerce font can hold many other icons there isn't the reason to load a font for a single icon

* updates custom templates stylesheets

* adds woff2 font format to themes customized stylesheets

* fix the star font size diff

* removes WooCommerce.eot and SVG file that are no longer needed and updates the template style in order to import from font.scss

* Optimized font import
Unifies the import of fonts by extending it to the twenty-twenty-three theme

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

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

* Svg font minification (WooCommerce.svg)

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

* "star" font phasing out
The font family 'star' was replaced in all files. However, it continues to remain physically in the repo but not in the style files

* Removes the `.eot` font file since nowdays it's completely useless

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 11:28:27 +01:00
Paulo Arromba 0a3cf74c06
Validate and present custom error for not in allowed emails coupons (#43872)
* Removed deprecated WC_COUPON::is_valid() method usage from CartController.php

* Reverted wrongly changed line.

* Added validate_coupon_allowed_emails() to WC_Discounts

* Added soft validation for allowed emails coupons, with custom notice via WC_Coupon::add_coupon_message()

* Fixed log warning

* Refactored add_coupon_message()

* Prevent duplicate coupon notices.

* Changed coupon soft validation notice type.

* Tweaks

* Run coupon soft validations only on cart validation.

* Reverted soft validation, and added email information for coupon validation

* Removed unused coupon message

* PHP lint fixes.

* Added changelog.

* PHP lint fix

* Updated allowed coupon validation error message

* Updated PW tests

* Updated PW tests

* Updated email restricted coupon message.

* Small change for readability.

* Different error messages for shortcode cart and shortcode checkout

* Simplified CartApplyCoupon::get_post_route_response()

* Revert "Simplified CartApplyCoupon::get_post_route_response()"

This reverts commit 43f185b59a.

* Expose additional error data in error API response

* Simplified AbstractCartRoute::get_route_error_response()

* Linting

* Restored comment deleted by mistake.

* Introduced API context based coupon errors

* Fixed Doc Block

* Linting

* Reverted deprecated method removal

* Reverted deprecated method removal

* WIP

* Display context based errors on cart and checkout for allowed emails coupons.

* Small code fixes.

* Removed coupon_error_code from api response.

* Tweaks and used 'details' on the API response

* Fixed indent.

* Set coupon errors using the validation store rather than local state

* Revert import to original state.

* Updated tests.

* Updated tests.

* Simplified comments

* Added testing for Cart page

* Lint fixes

---------

Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
2024-03-20 10:19:06 +00:00
Alba Rincón 211d39d453
[CYS] Go to the assembler when the cys task is completed (#45713)
* Show modal when the task is completed

* Go to the assembler when the theme was already customized

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

* Fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 10:51:33 +01:00
Simran Vijwani 28f79b4ebe
Fix is_read value in Admin notes (#43096)
* Add is_read property to note data

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

* Remove unnecessary type casting

* Fix boolean typecasting in DataStore and Note classes

* Restoring the original `isset( $note_row->is_read )` condition. I believe it's there for notes without this property.

* WC_Admin_Tests_Notes_Data_Store::test_read to account for return type of `get_is_snoozable`.

---------

Co-authored-by: Simran <simran.kaur@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2024-03-20 09:37:44 +00:00
Néstor Soriano 1adeaf225c
Install the Legacy REST API plugin on WooCommerce upgrade if needed (#45570)
The plugin is installed and activated if it's not installed already
and either the Legacy REST API is installed in the site
or there's at least one webhook that uses the Legacy REST API
code for the payload (disabled webhooks also count).

Also the WC_Admin_Notices::remove_notices method is added.

---------

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-03-20 10:24:46 +01:00
Walther Lalk 3c15ced8fd
Proof of Concept for allowing product tour to be extensible (#45617)
* Add the ability to extend/modify the steps in the product tour

* Remove unused import

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

* Add data validation

* Correct import order

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 09:22:21 +00:00
Alba Rincón 7b22412508
[CYS] Transitional page: fix margins and make the 3rd question not required (#45709)
* Fix margins and make the 3rd question not required

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-20 09:46:38 +01:00
Paul Sealock 1849d94c52
Payment Gateways: Update Airwallex png (#45694)
* Update Airwallex png

* Update Airwallex png

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

* resize

* 144px

* remove old

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-03-20 13:35:21 +08:00
Paul Sealock 27a473ec8b
Launch your store: Address status issues and filesystem (#45688)
* Conditionally show status on homescreen

* get lys link in status

* refactor launch-store folders

* remove unused function

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-03-20 11:26:17 +08:00
Patricia Hillebrandt fda79df11b
[CYS on Core] Remove the Feature Flag from the Customize Your Store flow on Core (#44824)
* Disable the feature flag from the CYS.

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

* Fix unrelated failing e2e test for the 'Get paid' page

* Revert "Fix unrelated failing e2e test for the 'Get paid' page"

This reverts commit d388fce212.

* Fix potential flaky test

* Revert "Fix potential flaky test"

This reverts commit 77fa2813f2.

* Temporarily remove the Can visit the WooPayments Connect page instead of setup task for supported countries test

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: elazzabi <ahmed.el.azzabi@automattic.com>
2024-03-19 20:48:23 +00:00
Dan Q b0ea77326f
Add styling to marketplace to identify sponsored products (#45684)
* Pass 'Sponsored' detail down to product cards from API

* Style a "Sponsored" label

* Stripe on top of sponsored products

* Add 'blob' next to sponsored listings

* Fix indentation bug

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

* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx

Co-authored-by: Remi Corson <remicorson@gmail.com>

* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx

Co-authored-by: Remi Corson <remicorson@gmail.com>

* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx

Co-authored-by: Remi Corson <remicorson@gmail.com>

* Apply suggestions from code review

Co-authored-by: Remi Corson <remicorson@gmail.com>

* Add missing close parenthesis following linter changes

* Make linter happier about hex colors (still needs variablising)

* Fix margins around vendor name

* Fixed height of product stripe

* Linting

* Moved color to variable and calculated alpha using Sass functions

* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.scss

* Update plugins/woocommerce-admin/client/marketplace/stylesheets/_variables.scss

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Remi Corson <remicorson@gmail.com>
2024-03-19 18:10:34 +00:00
nigeljamesstevenson f4c4aa3567
Update stable tag to 8.7.0 (#45719)
woorelease: Update stable tag to 8.7.0
2024-03-19 17:32:03 +00:00
Patricia Hillebrandt 61236dab0d
[CYS on Core] Ensure the "Didn’t find a theme you like" text is displayed exclusively at the bottom of the themes card (#45706)
* Ensure the 'Didn’t find a theme you like' text is displayed exclusively at the bottom of the themes card

* Limit the display of the CYS design banner to the Themes screen.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-19 17:57:24 +01:00
Patricia Hillebrandt 2fc83cbe85
[CYS on Core] Add the sample product badge before the product name to mark placeholder products. (#45691)
* Add the sample badge to dummy products on the main products list.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-19 16:51:38 +00:00
jonathansadowski 8631fb5d48
Prepare for WP 6.5 by updated tested / required versions. (#45633) 2024-03-19 11:47:51 -05:00
Ilyas Foo 5485665727
Refactor remote specs structure and naming (#45547)
* Deprecate DataSourcePoller

* Deprecate and move all rule processors and transformers

* Lint

* More deprecation

* Remove extra line

* Update deprecated class to not produce too many messages by limiting to unique messages

* Changelog

* Update all dependency uses, move TransformerService and TransformerInterface to Transformers package

* More dependency update

* Changelog

* Fix wrong file reference

* Lint markdown

* Lint markdown

* Add unsaved file

* Delete unused file and more lint

* More lint

* Ugh ignore faulty lint rule

* Rename variables for lint
2024-03-19 22:15:05 +08:00
github-actions[bot] 7214a1ffee
Delete changelog files based on PR 45490 (#45621)
Delete changelog files for 45490

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-03-19 12:53:45 +00:00
Alba Rincón f2a8c7fe36
[CYS] Update the woo.com themes link to include the back url (#45661)
* Update the woo.com theme link to include the back url

* Encode url to avoid losing the path param

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

* Fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-19 11:52:55 +01:00
Luigi Teschio 1d1f7ddc3b
[CYS]: Fix event transitional page (#45678)
fix event transitional page
2024-03-19 10:34:36 +00:00
Fernando Marichal f6738e4431
Fix organization tab e2e tests (#45692) 2024-03-19 11:57:17 +02:00
Karol Manijak 6cb52c00c0
Product Collection: add e2e tests with all product elements included (#45623)
* Prepare test cases

* Shorten out the test description

* Add first test in a post with dummy expect

* Verify all content is displayed

* Add the test in Product Archive and Home Page

* Add changelog

* Add tag to Beanie product

* Switch to Beanie which is on sale to verify on sale badge

* Add comments to explain the expects

* Adjust the expected content

* Switch to lower case in expect

* Switch from woocommerce/product-summary to core/post-excerpt

* Adjust products.sh

* Improve method waiting for products to show so it;'s deterministic

* Refresh locators in template

* Remove unnecessary check

* Eslint disable: expects are extracted to function so disable eslint compaining there's no expect

* Adjust other test after amending products setup

* Change the verify happening in a wrong place

* Tests adjustments

* Revert Blog Home template before performing a test

* Fix other tests
2024-03-19 08:59:58 +01:00
Roy Ho 72f5db9b6d
Change checkbox label to be inline-flex to limit the width to the content (#45603)
* Change checkbox label to be inline-flex to limit the width to the content

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

* Fix changelog entry

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

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-18 13:05:49 -07:00
Maikel Perez dea68ee3e3
Handle taxes not being enabled and customized tax classes (#45531)
* Create and register the woocommerce/product-select-field block

* Replace the tax class radio group block by woocommerce/product-select-field block

* Hide tax fields when taxes are disabled

* Hide tax fields when taxes are disabled in product variations

* Add changelog files

* Fix linter errors
2024-03-18 18:09:03 +00:00
Gan Eng Chin 718fe762fa
Add formatting for Cost and Sales numbers in Campaigns card in Marketing page (#44917)
* Return formatted cost and sales price for MarketingCampaigns.

* Display formatted cost and sales number in Campaigns card.

* Use price formatting.

* Format decimal places based on currency.

* Add changelog.

* Fix type issue is useCampaigns.test.ts.

* Use wp_strip_all_tags to respect currency symbol positioning settings.

Without wp_strip_all_tags, the result contains <bdi> element, and it causes browser to show the currency symbol in unexpected unwanted position.

* Fix PHP linting issue.

* Fix tests in useCampaigns.test.ts.

* Use html_entity_decode to remove dangerouslySetInnerHTML usage.

* Remove unneeded code formatting in Campaigns.tsx.

* Add explanation comment for `get_formatted_price`.

* Fix PHP lint error.

* Use map instead of filter to get price format.

* Add code comment.

* Get currency info based on user locale or default locale.

* Use locales in locale-info.php instead of currency-info.php.

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

* Code formatting and fix code comment.

* Fix lint errors.

---------

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
2024-03-19 01:56:08 +08:00
Luigi Teschio f9c0d406ae
CYS - Core: install font when user clicks opt-in (#45580)
* CYS - Core: install font when user clicks opt-in

* remove debugger

* CYS - Core: fix wp-admin page visible when click on start designing

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

* use sendEvent instead of redirect

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

* not show wp-admin after the click on the dialog button

* use sendEventToIntroMachine

* fix font installation

* fix eslint error

* fix install font phase when the iframe is not loaded

* remove not necessary async

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-18 16:49:41 +01:00
Fernando Marichal d69ceaa0a1
Add e2e tests for Organization tab (#45532)
* Add e2e tests for Organization tab

* Add changelog

* Unfy test
2024-03-18 12:44:45 -03:00
Fernando Marichal 9a2006b7e9
Add tests for variable product (#44818)
* Add toggleProductVariationTour

* Add tests

* Remove commented line

* Add changelog

* Change waitFor

* Add click to field

* Remove toggleProductVariationTour

* Set SKU

* * Add function to disable the variable product block tour

* Isolate variation tests

---------

Co-authored-by: Adrian Moldovan <adim.moldovan@gmail.com>
2024-03-18 11:58:45 -03:00
Maikel Perez 979a3c7b62
Remove 'List price' and 'Sale price' fields from the General tab (#45495)
* Remove 'List price' and 'Sale price' fields from the General tab

* Add changelog file

* Fix e2e tests
2024-03-18 11:54:39 -03:00
Albert Juhé Lluveras d8c23c4e3a
Fix block templates not being rendered in extension taxonomies (#44850)
* Fix block templates not rendering in some circumstances

* Add changelog file

---------

Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
2024-03-18 13:03:18 +01:00
Paul Sealock 12c1a6d206
Launch Your Store: Add status dropdown functionality (#45606)
* Add basic wp dropdown component

* use getAdminLink

* Add styling based on state

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

* update store page only text

* Add better 'for now' comment

* translate links

* remove private repo link from comment

* lint

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-18 17:43:02 +08:00
Chi-Hsuan Huang 63a0d5e57c
Add generic function to determine if URL is a store page (#45299)
* Add is_store_page helper function

* Add changelog

* Update doc

* Update doc

* Revert unneed changes

* Fix test

* Fix lint

* Fix typo

* Add woocommerce_store_pages filter
2024-03-18 16:29:13 +08:00
Alba Rincón 5e8bf7dbd6
[CYS on Core] Align the badge component in the themes intro screen (#45626)
* Use theme color to style the theme badge component

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

* Fix linting errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-18 09:17:40 +01:00
Thomas Roberts dd4babfdf8
Ensure address field is in address schema before sanitizing/validating it (#45394)
* Ensure field is on schema before sanitizing/validating against it

* Sanitize the key as a text field if we don't know what it is

* Add changelog

* Revert "Sanitize the key as a text field if we don't know what it is"

This reverts commit 9f5071051c.

* Revert "Ensure field is on schema before sanitizing/validating against it"

This reverts commit 109fbe766c.

* Omit unknown items in sanization

* add test doc block

---------

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2024-03-18 15:00:10 +07:00
RJ dbd577cbd6
add/lys xstate scaffolding (#45548)
* dev: added xstate 5

* add xstate scaffolding for launch your store
2024-03-18 15:44:32 +08:00
Karol Manijak 5a54dd6527
Product Collection: Disable client side navigation if blocks incompatible with Interactivity API are detected (#45435)
* Add dummy Force Page Reload control to Inspector Advanced Control

* Add enhancedPagination attribute that decides if client side navigation is enabled

* Consume the enhancedPagination attribute

* Force client side navigation when incompatible blocks detected

* Dummy util to detect incompatible blocks

* Detect incompatible blocks in the Editor

* Switch to WordPress Interactivity package in Product Collection

* Add initial implementation of the incompatible blocks detection in frontend

* Remove leftover

* Revert to using internal version of interactivity API

* There's no Interactivity store config available in the internal Interactivity implementation so remove it

* Disable client side navigation if the incompatible block is detected

* Add default attribute value

* Switch from enmhancedPagination attribute to forcePageReload

* Fixed some misclicked line order change

* Switch from enhancedPagination to forcePageReload in PHP code

* Apply the correct filter

* Fix the incorrect condition to detect incompatible block

* Initial implementation of orange dot to bring attention

* Cleanup

* Remove the orange dot indicator

* Refactor checking for unsupported blocks

* Add changelog

* Fix PHP lint errors

* Bring back empty line at the end of pnpm-lock

* Bring pnpm-lock.yaml file to original state

* Fix incorrect function call

* Add visibility description to function

* Switch private method to public

* More linted fixes
2024-03-18 08:24:03 +01:00
George Stephanis 3873bac561
Add an action to link sessions to customer ids. (#45146)
Fires an action after a customer has logged in, and their guest session id has been deleted with its data migrated to a customer id. This hook gives extensions the chance to connect the old session id to the customer id, if the key is being used externally.

Fixes #44852
2024-03-15 17:33:10 -07:00
Christopher Allford f5f2bb035a
Product Collection: Added `timeFrame` PHPUnit Tests (#45365) 2024-03-15 16:30:46 -07:00
Bhupesh Mishra 7ded649fa7
Update content used to generate Refunds page (#45292)
Updates the markup used to generate the Refunds page so that it is valid, semantic HTML, which in turn fixes an alignment issue.

Fixes #45213

---------

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-03-15 15:14:00 -07:00
moory-se b13f0b0dcb
Add woocommerce_widget_layered_nav_term_anchor_text filter (#40734)
Adds a new filter to the legacy Active Product Filters widget that allows the attribute names to be modified.

---------

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-03-15 14:49:39 -07:00
Fernando Marichal 184459b359
Rename ProductTemplate namespace (#45594)
* Rename ProductTemplate namespace

* Add changelog

* Fix loader
2024-03-15 18:05:36 -03:00
Alexandre Lara 21f2a15e97
Product Filter: Price (Beta) block - Disable block interactions within the editor (#45602)
* Disable block interactions within the editor

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 17:18:25 -03:00
Alexandre Lara 85ec4a8cc1
Product Filter: Attribute (Beta) block - Fix block preview (#45558)
* Pass isPreview prop to inner blocks of the Product Filter block

* Add logic to render preview block when in Preview mode

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 16:27:01 -03:00
Bart Kalisz 1c1dc10958
Blocks E2E: Fix guest user handling in checkout tests (#45624) 2024-03-15 17:23:19 +00:00
Luigi Teschio 25c804ae7c
CYS - Core: fix Product Rating block renders (#45600)
* CYS - Core: fix Product Rating block renders

* add comment

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 17:01:56 +00:00
Luigi Teschio e5d33df9ab
CYS - fix warning Tooltip (#45592)
* CYS - fix warning

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 16:28:47 +00:00
Seghir Nadir 6016aad6c2
Add unit tests to Checkout Additional Fields (#45499)
* try running tests

* add additional fields unit tests

* add keys back to Cart tests

* add extra checks to unit testing

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

* address feedback

* fix linting issues

* add docblock

* escape errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 15:02:43 +00:00
Seghir Nadir 0000d754c1
Add snapshot tracking for Checkout additional fields. (#44310)
* add snapshot tracking

* add changelog

* address feedback

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

* update changelog

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

* remove the extra changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 14:43:05 +00:00
Ahmed ed3aab14cc
Redirect to WooPayments Connect page in the Payments task (#45540)
* Add get_action_url for Payments task

* Check if plugin active before redirecting to connect page

* Add changelog

* Fix linting issues

* Point payments task to welcome page when WCPay incentive active

* Point WooPayments installed task to Connect page

* Rename WooPayments to payments

* Add from query arg

* Adjust payments task URL logic to account for suggestions logic

* Fix for partially onboarded accounts

* Replace Get paid with WooPayments

* Add new test for unsupported countries

* Add missing api definition

* Add missing baseURL

* Maybe change order of tests to fix failing test

* Revert changes to package.json (error in push)

---------

Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
Co-authored-by: oaratovskyi <oleksandr.aratovskyi@automattic.com>
2024-03-15 12:08:04 +00:00
Jorge A. Torres d9013d4737
Do not trigger 'pre_update' logic for HPOS option when value remains unchanged (#45604)
* Add changelog

* Do not trigger pre_update logic for HPOS setting when not actually
changing value
2024-03-15 12:46:15 +01:00
Jorge A. Torres 72cb02ac47
Try to account for and re-create backup posts when syncing orders (#45332) 2024-03-15 12:31:14 +01:00
Patricia Hillebrandt 488bb62d82
[CYS on core] Introduce the Transitional page, i2 (#45546)
* Update the transitional page.

* Update icons

* Remove unnecessary div class

* Update the styles for the transitional page.

* remove the editor param

* conditionally display the survey button

* Additional layout changes

* Streamline the classes for the icons

* Import brush and tag from wordpress/icons

* delete the custom icons from Woo as they already exist on wordpress/icons and can be imported from there.

* Update styles for adding support to mobile view.

* Update the lesson-plan icon.

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

* Update e2e tests to account for the changes made to the transitional page.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 12:27:08 +01:00
Néstor Soriano fb32ab6c5a
Exclude the Legacy REST API plugin from the feature compatibility UI (#45610) 2024-03-15 11:44:17 +01:00
Alba Rincón ad8f76b2e9
[CYS] Fix the failed to load resource error in the CYS whenever the current active theme is not TT4 (#45519)
* Install and activate the TT4 before any other step on the loader

* Show the loader while activating the theme

* Try running steps together in parallel

* Try to run install and global styles in the same function

* Handle when the active theme returns null

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

* Add retries and types to fix lint errors

* Fix lint errors

* Fix more lint errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 11:09:31 +01:00
Luigi Teschio 21d4fd7786
CYS - Core: fix wp-admin page visible when click on start designing (#45586)
* CYS - Core: fix wp-admin page visible when click on start designing

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

* not show wp-admin after the click on the dialog button

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-15 08:17:20 +00:00
Matt Sherman afe0e0724b
Product Editor: Handle loading of product editor when global settings are not available on initial render (#45490)
* Do not pass settings from global down to editor; let BlockEditor handle loading settings itself

* Changelog

* Changelog
2024-03-14 13:02:40 -04:00
Christopher Allford 23a148aa18
Added Result Count Client Navigation (#45556)
Since the product collection block uses the interactivity router,
it reloads the page in the background and replaces sections
with a `data-wc-navigation-id` set. This adds the attribute
to the count block so that it can also live reload regardless
of where it is in the tree.
2024-03-14 09:48:02 -07:00
Niels Lange e91be1a458
Disable checkout menu when checkout block is default (#45538)
* Disable checkout menu when checkout block is default

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-14 15:42:59 +01:00
Thomas Roberts 5cbb0ad5bf
[Experimental] Add E2E tests for Additional Checkout Fields (#43836)
* Add additional-checkout-fields-test-helper wp-env plugin

* Ensure Checkout page waits for email to be visible before filling

* Handle additional fields in checkout page utils

* Add test for filling additional checkout fields

* Add additional check for gov-id validation

* Close context used for plugin-checking

* Update types for additional fields to be key/value objects

* Check billing gov-id is different to shipping one

* Move additional fields plugin to inline with checkout tests

* Use additional fields plugin from local dir

* Await email input to check Checkout block is loaded

* Add test to verify error message shows when leaving a field blank

* Update comment

* Add test for checking/unchecking checkboxes

* Update check in additional field test plugin

* Change fields multiple times in one test

* Add server-side validation tests

* Get exact matches for checkout form fields

* Remove unnecessarily translated strings

* update hook in test plugin to compare to confirmation gov id

* Fill in gov ID confirmation field

* Register a field of each type in each location

* Don't validate field unless both are filled

* Fill additional fields and check their values

* Fill additional fields

* Check select values in order confirmation

* Change the values of all field types multiple times

* Make checkout wait until not calculating before submitting

* Update tests to use all additional field types

* Blur after editing select box

* Add customer area checks

* Check shipping isn't calculating before submitting

* Add merchant-side tests for additional checkout fields

* Ensure customer data is done updating before submitting

* use waitForFunction to check for updating shipping

* Add changelog

* Ensure fields are blurred before pressing button

* Update validation error check

* Add test for logged out shopper

* make specific function to wait for checkout to be finished updating

* Add test to ensure fields are saved across orders

* Add sanitize and validate callbacks to gov id fields

* Make purchase type select field required

* Add sanitization test

* Use experimental function in test plugin

* Add standalone sanitization filter test

* Update testing plugin to use new and renamed filters

* Fix typo

* Move empty value test to logged out shopper block and check empty val

* Update tests to include tests for new validation/sanitization filters

* Add verifyAdditionalFieldsDetails function to checkout page

* Use new verifyAdditionalFieldsDetails function to improve readability

* Update second test to use new function to improve readability

* Update third test to improve readability

* Update fourth function to improve readability

* Update fourth test to improve readability

* Update guest shopper test to be more readable

* Update helper function to only return value not assert

* Remove check causing test to fail in CI

* Make check for guest shopper same as logged in

* Move guest shopper tests to their own file

* Ensure unchecking checkbox works OK
2024-03-14 13:39:30 +01:00
Niels Lange a7383579be
Allow usage of block notice templates when using classic themes (#45164)
* Allow block notice templates in classic themes

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

* Fix e2e constants file

* Improve inline comments

* Add filter and enhance e2e tests

* Adjust test names

* Adress PHP lint errors

* Adress PHP lint errors

* Adress PHP lint errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-14 19:33:33 +07:00
RJ 59635fb4c8
add: update onboarding task list copies and illustrations (#44854) 2024-03-14 15:20:31 +08:00
Patrick Rauland 72f75edf58
Adding accessible markup to sale price. (#44413)
* Adding accessible markup to sale price. See #31099

This PR adds accessible markup to the sale price.

A user who only uses screen reader software can now hear and understand the original price as well as the current price.

This is important for accessibility.

Full issue: https://github.com/woocommerce/woocommerce/issues/31099

* Improving sale price string formatting & localization #31099

This PR merges in feedback from the WooCommerce team.

* Improving string translation & output. Giving RTL languages more customization with the price in the translatable string.
* Formatting regular price & sale price at the top and then inserting into the HTML below. This prevents some sloppy logic where you might print out a blank del or ins tag.

* Swapping esc_html & sprintf #31099

Reversed the esc_html() and sprintf(). This is intentional because if translations accidentally include some HTML, that could break things.

Also, stripping HTML tags in $formatted_regular_price so that the end result in the screen-reader-text span is just plain text.

* Adjusting white space #31099

Mostly removing white space for the lint checker

* Adding translator comments #31099

Adding translator comments for lint

* Add changelog

* Fix some PHPCS violations

* Fix unit tests

* Adjust E2E test

---------

Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
2024-03-13 20:43:44 -03:00
Jorge A. Torres b3c328d4e4
[HPOS CLI] Add support for backfilling specific properties or metadata (#45171)
* `wc hpos diff` command enhancements

* Add support for partial backfills to LegacyDataHandler

* Add unit tests

* Add support for partial backfills to `wp wc hpos backfill` CLI tool

* Add changelog

* Augment update_order_from_object() with args parameter

* Implement update_order_from_object() for HPOS

* Simplify partial backfill logic in LegacyDataHandler

* Move prop name validation to legacy data handler

* Apply changes to order before passing to backfill functions

* Simplify update_order_from_object() in HPOS datastore

* Simplify order update from object across datastores

* Undo change

* Minor fix for CPT version (which only takes order differences into account)

* Improve readability around ‘woocommerce_orders_table_datastore_should_save_after_meta_change’ filter

* Commit docblock suggestion

* PHPCS fixes

* Enhance unit test
2024-03-13 19:29:49 -03:00
Maikel Perez 0fc75c5148
Remove Custom Fields for New Product Editor (#45493)
* Add remove custom field for the new product editor

* Add changelog file

* Show add button when the custom fields are empty

* Ensures to always convert the metas into a string array since it can be anything

* Add changelog file
2024-03-13 19:16:12 -03:00
Barry Hughes 3f1dbd5b13
Switch from "invoice" to "order details" in our emails. (#45395)
* Switch from "invoice" to "order details" in our emails.

* Revise default order details email subject text.

* Revise default order details header text.

* Bring E2E check up-to-date with latest text revision.

* Update API tests to match order detail email changes.

* Fix typo

---------

Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
2024-03-13 19:34:39 +00:00
Roy Ho 5933945127
Bump woocommerce-sniffs to 1.0.0 for WPCS 3.0 support (#45533)
* Bump woocommerce-sniffs to 1.0.0 for WPCS 3.0 support

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-13 13:22:16 -03:00
jonathansadowski be787742e1
Add WCA config json to changes config for CI (#45524)
* Add json config files to ci changes config

* Add admin config to Woo plugin ci config

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-13 10:29:34 -05:00
Alba Rincón e8e2c5d554
Show the "Design your own" banner when editing a theme which is not TT4 (#45481)
* Show the "Design your own" banner when editing a theme which is not TT4

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

* Fix lint errors

* Pass the active theme to the context

* Fix lint errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-13 14:55:04 +01:00
Nathan Silveira 8bef21dbc3
Add set_attribute method to Block class (#45523) 2024-03-13 10:13:02 -03:00
Tung Du 50beebe3e5
[Experimental] Display the formatted price in price filter text input fields (#45409)
* fix: display the formatted price in price filter text input fields

* chore: changelog

* Display formatted price within the Product Filter: Price input fields

---------

Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
2024-03-13 09:47:36 -03:00
Veljko V 60aa614b98
Add E2E test for Merchant Checkout Block flow (#45449) 2024-03-13 14:28:21 +02:00
Paul Sealock 2f88da580f
Task List: Avoid fetching tasks on non-visible lists (#45498) 2024-03-13 23:18:17 +13:00
Niels Lange 6b07ca44f5
Add totalValue filter (#45170)
* Add totalValue filter

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

* Remove nowrap to prevent text overflow

* Start docs for ‘totalValue’ filter

* Fix *.md lint issues

* Ignore .md lint errors for now

* Update code example and add screenshots

* Fix failing JS unit tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-13 00:42:24 +07:00
Fernando Marichal 55ec9eca2d
Add source property to legacy editor (#45515)
* Add source property to legacy editor

* Add changelog
2024-03-12 13:40:01 -03:00
Leif Singer a917efc44e
Add the ability to search for a currency by ISO code (#45512)
* Fix - #33503

Added ISO code along with the string. So it can be searched by using country code.

* Fixing linting issues

Added space with single quote to fix linting issue.

* fix linting issues

* add changelog file

* use emdash for separating data

* update test to new format

* include ISO code in settings test fixture

---------

Co-authored-by: daniyal.ahmad1992@gmail.com <daniyal.ahmad1992@gmail.com>
2024-03-12 17:32:32 +01:00
Fernando Marichal 1c068ce3a4
Update Attributes tooltip copy (#45485)
* Change attributes tooltip copy

* Add changelogs
2024-03-12 12:58:49 -03:00
Luigi Teschio 10005111c6
CYS - reduce editor instance re-render (#45458)
* CYS - reduce editor instance re-render

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

* fix crash when currentTemplate is undefined

* fix ts error

* remove unused import

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-12 15:05:12 +01:00
Leif Singer 15855b55a3
Add a filter `woocommerce_admin_terms_metabox_datalimit` to change the data-limit value for the attributes term box (#45506)
* Update html-product-attribute-inner.php

Add a new filter `woocommerce_admin_terms_metabox_datalimit` to change the value of data-limit. See #37548 for more context.

* Update html-product-attribute-inner.php

* Creating a changelog file again

* update @since tag

* tweak changelog file wording

---------

Co-authored-by: Saif H. Hassan <67080558+Babylon1999@users.noreply.github.com>
2024-03-12 13:22:48 +00:00
Leif Singer 28e7351180
Fix the `test_widget_renders_completed_task_count` unit test (#45509) 2024-03-12 12:22:38 +00:00
Sam Seay 4cd89e4beb
Blocks Playwright tests: Add tests for the new attribute filter block (#45333) 2024-03-13 00:15:05 +13:00
Patricia Hillebrandt 4933b86cc7
[CYS on core] Update the WooCommerce Extensions Themes page to include references to the CYS (#45468)
* Introduce the new 'Design your own' button in the themes screen.

* unify the SCSS margins

* Add double quotes for woocommerce-marketplace__sub-header

* Add the CYS banner to the marketplace.

* Ensure each child in a list should have a unique 'key' prop

* Update the NoAIBanner component to direct users to the CYS flow.

* Add the customizeStoreDesignUrl const

* Ditch navigateOrParent

* Add the 'Browse the WordPress.org theme directory to discover more' link.

* Ensure the warning Modal is displayed whenever the user clicks on the 'Design your own' button and their current active theme is not TT4

* Remove the unnecessary fragment

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

* Fix lint.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-12 11:03:08 +01:00
Paul Sealock 172bbac661
Remote Specs: Update endpoints to 2.0 (#45298) 2024-03-12 15:53:59 +13:00
Paul Sealock e16a644e86
Launch Your Store: Add useLaunchYourStore helper method (#45404) 2024-03-12 12:50:22 +13:00
Paul Sealock ca2c12e667
Feature flags: Update config on watch (#45329) 2024-03-12 12:17:32 +13:00
Moon f061323d26
Tax task - Make postcode optional for countries without postcodes (#45367)
* Set field IDs

* Validate post code only when it is actually required

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

* Remove unused import

* Update test snapshot

* Update test snapshot

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-11 14:22:40 -07:00
Moon f901f60e4c
Update mercado pago payment copy (#45364)
* Update mercado copy

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-11 13:42:23 -07:00
Christopher Allford 1e7b8c4004
Product Collection: Added `priceRange` PHPUnit Tests (#45363) 2024-03-11 10:15:09 -07:00
99w 0b6259edfd
Add filter to allow changing order stock reservation minutes (#45246) 2024-03-11 17:46:05 +01:00
Maikel Perez 3658ac2d0e
List Custom Fields for New Product Editor (#45360)
* Create woocommerce/product-custom-fields block

* Register woocommerce/product-custom-fields block

* Add product-custom-fields block to the simple product template

* Create useCustomFields hook

* Create empty state

* Create CustomFields component

* Add custom fields table

* Add custom field remove button

* Hide the custom fields table base on the toggle value

* Remove non list features

* Add changelog files

* Fix linter errors

* Fix empty state styles

* Fix php linter error

* Remove context from the woocommerce/product-custom-fields-toggle-field block definition since it is not used

* Change url for the Read more about custom fields
2024-03-11 11:48:55 -03:00
Maikel Perez 0a90499e7b
Custom Fields for New Product Editor (#45291)
* Register metaboxhidden_product user meta as a user rest field

* Create useMetaboxHiddenProduct to manage the user metaboxhidden_product meta field

* Create woocommerce/product-custom-fields-toggle-field block

* Register woocommerce/product-custom-fields-toggle-field block

* Create product-custom-fields feature flag

* Hide custom fields behind the product-custom-fields feature flag

* Add changelog files

* Get default postcustom user meta value when the metaboxhidden_product does not exist yet in the user object
2024-03-11 10:55:31 -03:00
Alba Rincón cb7e1c2eb5
[CYS] Fix the Opt-in modal buttons and checkbox styles (#45444)
* Fix the CYS Opt-in modal buttons and checkbox styles

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-11 12:30:47 +01:00
Tommy Ferry 7fe00de727
Add product archive header template and re-hook (#33681)
* Add product archive header template and re-hook

Moves the product taxonomy archive header into its own template file,
creates a related output function, and then re-hooks the new template
back into the archive-product.php file in the same place, via the
'woocommerce_before_main_content' hook, priority 40.

This is so that this template part can be removed/unhooked via the
'remove_action' function, which is a cleaner approach than template
overrides or additional style changes.

Resolves: #33672

* add product archive header template changelog

* bump template versions

* bump template versions correctly

* add a new hook in the archive-product.php template for the header template
2024-03-08 15:33:40 -06:00
Tung Du 8e200a35b7
[Experimental] Fix minor issues of new filter blocks (#45305)
* fix: make the dropdown hidden by default

* fix: price clause

* fix: variable name in attribute clause generator

* chore: changelog

* fix: flashing issue for dropdown has selected items
2024-03-08 17:00:49 -03:00
Vlad Olaru ebd54a7c59
Update/default payments gateways recommendations (#39635)
* Update default gateways recommendations

* Add changelog entry

* Add Airwallex where missing
2024-03-08 20:24:32 +01:00
Leif Singer ba4260a344
Add callback URL domain to auth screen (#45445)
* add callback URL domain to auth screen

* add changelog file

* bump template version

* tweak wording
2024-03-08 20:14:20 +01:00
Alexandre Lara b162c9fab0
[Experimental] Product Filter: Price (Beta) block: Prevent invalid price range selection in Product Filter Price block (#45403)
* Prevent invalid price range selection in Product Filter Price block

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-08 16:08:20 -03:00
Bhupesh Mishra 319408bb67
changed filter by attribute filter options order (#44799)
* changed filter by attribute filter options order

In filter by attribute, order of the filter conditions "ALL" and "ANY" reversed as requested.

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

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-08 13:45:53 +01:00
Néstor Soriano 0432a8fd88
Add the plugin install engine (#44856)
* Add the PluginInstaller class

* Add changelog file

* Fix linting issues

* Changes in the installer:

- Allow installS from the WordPress.org directory only
- If the installer name is WooCommerce, throw if the caller is not
  in 'includes' or 'src' in WooCommerce core
- Remove two unnecessary includes
- Check if WP plugin upgrader classes already exist before
  executing the includes for them
- Get the installed plugin info using the plugin_info method
  of the plugin upgrader class

* Remove the get_installed_plugin_info method as it's no longer used

* Log plugin install only on sites with WooCommerce active
2024-03-08 07:29:41 -05:00
Jorge A. Torres 0da0e372d6
[HPOS CLI] Flush in-memory cache after each batch in migration (#44670) 2024-03-08 12:47:27 +01:00
Alba Rincón 1c9620b3be
[CYS] Show the default header and footers as the first option (#45414)
* Show the default header and footers as the first option

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-08 12:03:19 +01:00
Luigi Teschio a57b322bd9
CYS: improve font installation with the async job (#45411)
* CYS: improve font installation with the async job

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-08 10:26:19 +00:00
Barry Hughes 6a910390a9
[Minor] Fix docblock/typo (#45405)
Fix docblock.
2024-03-08 10:53:12 +01:00
Chi-Hsuan Huang 10561c8c1a
Add default values for Launch your store task (#45306)
* Add LYS task default values

* Add changelog

* Add unit tests

* Init LaunchYourStore task only when feature flag is enabled

* Add action to woocommerce class

* Remove WCAdminHelper use

* Add lys options to permission list

* Set launch-status option

* Fix woocommerce_store_pages_only

* Use WC_Install::is_new_install() instead

* Use woocommerce_newly_installed action

* Check if feature flag is enabled

* Use singleton WooCommerce object in tests

---------

Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2024-03-08 17:27:46 +08:00
Luigi Teschio 913953f586
CYS: fix Undefined array key queryId warning (#45399)
* CYS: fix Undefined array key queryId warning

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-08 10:02:41 +01:00
Karol Manijak a3811fa007
Product Collection: Set initial value of Created filter for New Arrivals collection (#45355)
* Set initial vlaue of Created filter for New Arrivals collection

* Add changelog

* Remove a check for products in tests as they may not really be displayed

* Adjust the New Arrivals test

* Adjust the tests logic after the change

* Bring back previous formatting

* Bring back function closure removed by mistake
2024-03-08 08:33:21 +01:00
Niels Lange ba85f36219
Unskip Mini Cart i18n test (#45371)
* Unskip Mini Cart i18n test

* Install language packs before each i18n-related test suite

* Delete translations.sh

* Add changelog

* Replace deprecated WP-CLI command

* Remove obsolete WP-CLI command
2024-03-08 12:39:22 +07:00
Moon 1f914c755e
Add Launch Your Store settings section (#45402)
* Support div setting type

* Add wc_settings_general_site_visibility_slotfill slotfill

* Add site visibility setting section

* Add placeholder

* Rename div to slotfill_placeholder

* Add comment

* Fix component name

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

* Use unique id

* Rename option names

* Put LYS settings behind launch-your-store flag

* Move Site Visibility header to component

* Lint fixes

* Lint fixes

* Use woocommerce-settings scope

* lint fix

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-08 04:11:52 +00:00
Jorge A. Torres f229c3d765
Prevent backup post from being deleted when HPOS is authoritative (#45330)
This PR short-circuits wp_delete_post() so that when HPOS is authoritative, any attempts to delete the backup post are not successful (which could also end up deleting the HPOS order). This only applies to non placeholder posts, as placeholder posts won't trigger the cascade of operations that might be problematic here.

Fixes #42746
2024-03-07 16:24:36 -08:00
Luigi Teschio 76e7d84523
[CYS] Improve logic to ensure that the font is active (#45385)
* improve logic to ensure that the font is active

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-07 18:44:01 +00:00
Alba Rincón 60d93e447f
[CYS on core] Set the default width after logo update (#45384)
* Set default width after logo update

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-07 15:13:31 +01:00
louwie17 d6cbbfb4d2
Add simple products to the Analytics orders query for the attributes filter (#44901)
* Add subquery for simple products

* Update query to make use of product lookup instead

* Add changelog

* Revert change

* Update PHP tests and fix lint errors

* Move subquery out to its own variable to make it more readable
2024-03-07 10:52:38 -03:00
Bart Kalisz 211b6ef01b
Blocks E2E: Be more descriptive with the workflow job titles (#45381) 2024-03-07 13:32:29 +00:00
Bart Kalisz 9a14411937
Blocks E2E: Allow manually triggering the workflow (#45382) 2024-03-07 14:01:22 +01:00
Bart Kalisz 8ff89fa6db
Blocks E2E: Do not report slow tests (#45375) 2024-03-07 12:57:48 +01:00
Walther Lalk c509f424dc
Allow extensions in Add Products task (#44892)
* Add POC for tasklist product types extensibility

* Replace create product with custom onClick when it exists

* Don't include dummy plugin

* Remove dummy file

* Cleanup product type filter for tasklist

* Create unit test for product type filter

* Added changelog

* Move changelog file

* Is Enhancement

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

* Delete plugins/woocommerce/changelog/extend-product-task

* Fix lint errors

* Apply suggestions from code review

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* CR responses

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-03-07 10:04:10 +00:00
Néstor Soriano 564fd47ef7
Adjust the WC_Admin_Notices to support multisite setups (#45349)
Previously there was one single locally cached instance of the notice names array that wasn't aware of switch_to_blog executions. Now in multisite setups one separate array is kept for each existing blog id.
2024-03-07 10:54:35 +01:00
Luigi Teschio 77f8716c78
CYS: fix the footer large pattern - use only one navigation block (#45308)
* CYS: fix footer large pattern - use only one navigation block

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-07 09:08:08 +00:00
Christopher Allford 65fe267f32
Product Collection: Added `featured` PHPUnit Tests (#45359) 2024-03-06 14:24:10 -08:00
Alexandre Lara 8163b83bf7
Price Filter: Fix styling issue when Inline input fields is enabled (#45197)
* Fix styling issue in the Editor when Inline input fields is enabled

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

* Fix styling issue on the Frontend when Inline input fields is enabled

* Fix css lint errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-06 17:10:12 -03:00
Alexandre Lara be9b3ab4f0
Filter blocks: Add block preview (#45258)
* Add block preview to filter blocks

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-06 16:55:04 -03:00
Alexandre Lara bbd2e50a53
Product Filter - Price (Beta) block: Fix Filter is not applied when using the numeric inputs (#45327)
* Add missing `name` attribute to min and max input fields

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-06 16:43:13 -03:00
Luigi Teschio 26c19fa1f8
Revert "[e2e tests blocks] Configure the number of shards for each ma… (#45324)
* Revert "[e2e tests blocks] Configure the number of shards for each matrix project (#45212)"

This reverts commit 72789656cf.

* trigger CI

* run E2E tests

* restore ci.yml file

* trigger E2E tests

* disable E2E tests about mini cart translations

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

* Fix the setupAndFetchQueryContextURL utility

* add comment

* Remove obsolete test

* Blocks E2E: Update timeout values (#45353)

Set timeout values same as core

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
2024-03-06 16:52:37 +00:00
Justin Palmer 56d087f536
Hide unnecessary order attribution details (#44907)
* Hide more details for simple sources
2024-03-06 11:25:01 +01:00
Tung Du 2cfd120f15
[Experimental] Fix: add an unique id to each list item to prevent diffing issue (#45304)
* fix: add an unique id to each list item to prevent diffing issue

* chore: changelog
2024-03-06 10:36:20 +07:00
Christopher Allford e2ed2a9fdb
Removed Product Collection Unique ID (#44625)
With the availability of other unique characteristics
for identifying collection blocks, it is no longer necessary
to keep this attribute. Since it has not been used it is safe
to remove it without a deprecation cycle.
2024-03-05 14:08:17 -08:00
Alba Rincón 1c68e2dd9f
[CYS] Fix the selected pattern in footer, header and homepage (#45240)
* Check also the number of inner blocks before checking the attributes

* Add classes to assembler footer patterns

* Add classes to assembler header patterns

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

* Mark the current homepage template as selected

* Remove unused import

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-05 18:21:44 +01:00
github-actions[bot] e549712ebf
Delete changelog files based on PR 45252 (#45319)
Delete changelog files for 45252

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-03-05 23:43:44 +08:00
Maikel Perez 33d38be479
Add Post-purchase note field to the Inventory tab (#45244)
* Add Post-purchase note field to the Inventory tab

* Add changelog file
2024-03-05 11:12:31 -03:00
Seghir Nadir 9f7a6779f6
Fix styling for select in Site Editor (#45252)
* Fix styling for select in Site Editor

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-05 14:49:33 +01:00
github-actions[bot] 25d24509b8
Delete changelog files based on PR 45249 (#45312)
Delete changelog files for 45249

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-03-05 21:19:44 +08:00
Patricia Hillebrandt ed624844f8
[CYS on Core] Ensure the user is directed to the in app marketplace whenever clicking on 'Browse all themes' (#45288)
* Ensure the user is directed to the in app marketplace whenever clicking on 'Browse all themes' on core.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-05 10:15:09 +00:00
Patricia Hillebrandt 298cddf5a4
[CYS on Core] Display the theme switch modal only if the current active theme is not TT4 (#45296)
* Ensure the active theme switch modal is displayed only if the theme is different than TT4

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-05 10:11:31 +00:00
Tung Du 91272dde6f
[Experimental] Fix: regression introduced in #44757 that breaks the inspector settings of the new attribute filter block (#45276)
Fix: regression introduced in #44757 that breaks the inspector settings of the new attribute filter block
2024-03-05 11:09:36 +07:00
Chi-Hsuan Huang 6490682366
Add "launch your store" task (#45270)
* Add launch your store task

* Update tasklist header style

* Add changelog
2024-03-05 10:43:32 +08:00
Luigi Teschio 6a30974ad4
Fix activeThemeHasMods undefined error (#45255)
* Fix activeThemeHasMods undefined error

* remove comment

* fix naming

* improve comment

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-04 19:09:36 +00:00
Ron Rennick 4fd7273088
More block package cleanup (#45256)
remove nvmrc, add to gitignore

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2024-03-04 10:27:58 -08:00
Thomas Roberts 5d808ad9fc
Restore "No shipping options were found" message in cart-shipping template. (#45249)
* Check if $available_methods is not empty, rather than isset

This encompasses two checks in one, it encompasses isset AND count( $available_methods ) > 0

* Bump template version

* Add changelog entry

---------

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2024-03-04 16:18:09 +00:00
Moon 70625490ae
Prevent fresh_site option from being set to 0 after WooCommerce installation (#45232)
* Prevent fresh_site option from being set to 0 after publishing default pages

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

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

* Typo fix

* Add is_site_fresh function

* Update comment

* Add a test for is_fresh_site

* Check fresh_site option first

* Add test for checking fresh_site=1

* Fix lint errors

* Fix lint errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-04 07:57:16 -08:00
Alba Rincón 7e50f670b7
Fix intro CYS logo and site title (#45216)
* Fix intro CYS logo and site title

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

* Improve format

* Fix logo motion

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-04 12:34:47 +01:00
Jorge A. Torres 0d11d071ee
[HPOS CLI] Allow `--re-migrate` to be used even when `--verbose` is not set (#44669)
* Allow `—re-migrate` to work even when `—verbose` is not set

* Add changelog

* Docblock update

* Indicate that remigration was attempted in errors array
2024-03-04 17:00:58 +05:30
And Finally 2789f39bc7
Update example plugin in Activity Notes docs to correct further issues (#45158)
* Improves documentation of example plugins for WooCommerce Admin Notes.

- Adds namespacing for `Automattic\WooCommerce\Admin\Notes\Notes`.
- Uses namespacing in `class_exists` checks.
- Deletes duplicate code.

* Changelog.
2024-03-04 10:03:34 +00:00
Sam Seay e38ffc8427
Fix a typo in the SKU of sample products (#45208) 2024-03-02 15:55:01 +13:00
Jonathan Lane f538ff186b
Fix failing customer list test (#45261)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-03-01 15:03:28 -08:00
pintend bf84ed5bed
Fix for product meta lookup table incorrectly marking a product as onsale Closes #43008 (#43011)
* Update wc-product-functions.php

Determine if a product is on sale based on regular price, which is how its done in the WC_Product class 7122669d44/plugins/woocommerce/includes/abstracts/abstract-wc-product.php (L1633)

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

* added missing placeholders

* Update 43011-patch-1

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

* Re-trigger CI

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2024-03-01 18:10:24 -03:00
Moon e8b633f6b9
Add launch_your_store feature flag (#45231)
* Add launch_your_store feature flag

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

* Update plugins/woocommerce/client/admin/config/core.json

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

* Update plugins/woocommerce/client/admin/config/development.json

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2024-03-01 12:21:18 -08:00
Jonathan Lane 0d63cf5f27
Minor updates to README (#45253)
* Minor updates to README

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

* Fixed typo

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-03-01 10:06:51 -08:00
Veljko V e82533be25
Add new E2E test to existing test case for mini cart customization (#45248)
* Update existing mini cart test to cover customization

* Add changelog

* Include test for font size and weight
2024-03-01 18:55:36 +01:00
Seghir Nadir 914c801f52
Link to discussion in custom fields API (#45193)
* Link to discussion in custom fields API

This adds the discussion link in custom fields docs.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-03-01 16:44:34 +01:00
Jonathan Lane 0cb1782342
Explicitly clear out customers before testing (#45229)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-03-01 15:03:03 +02:00
Corey McKrill 2f77de3f18
WC Admin: Ensure `is_super_admin` REST field contains the correct value (#45235)
* Ensure is_super_admin REST field contains correct value

Adds a user ID parameter to the is_super_admin() check so that it will
return the value of the specified user rather than the current user.

Fixes #42893

* Add changelog file
2024-03-01 12:18:51 +01:00
Jonathan Lane bf43cf7e37
Update workflow to use latest checkout actions (#45199)
* Update workflow to use latest checkout actions

* Update non-HPOS workflow as well

* Update additional actions

* Set a slow test threshold at 30 seconds (15 is default)

* Final action updates

* Slow tests has to be an object

* Pin external actions to commit

* Slow test threshold and max

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-29 18:58:28 -04:00
Moon da64238290
Add range operator in Remote Inbox Notification (#45201)
* Add range rule in Remote Inbox Notification

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

* Add range

* Add changefile(s) from automation for the following project(s): packages/php/remote-specs-validation, woocommerce

* Update README.md

* Fix lint errors

* Make sure right-hand is an array with two elemetns -- range

* Update README

* Lint fixes

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-29 13:02:38 -08:00
Ron Rennick ccef3d22f8
clear out unneeded github files from block folder (#44895)
* clear out unneeded github files from block folder

* copy changelog to woocommerce folder

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2024-02-29 13:30:56 -04:00
github-actions[bot] 987a8e6342
Delete changelog files based on PR 45135 (#45227)
Delete changelog files for 45135

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-29 18:03:41 +01:00
github-actions[bot] 686069eac7
Delete changelog files based on PR 45178 (#45223)
Delete changelog files for 45178

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-29 17:08:22 +01:00
Luigi Teschio a15f75c0a4
CYS: Override header and footer template parts (#45196)
* CYS: Override the header and footer

* fix unit test

* fix lint error

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

* fix opacity

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-29 15:32:44 +01:00
Jonathan Lane c66c31b5f1
Add customer list e2e tests (#45198)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-29 15:47:40 +02:00
Sam Seay 49dbebfd0f
Refactor review blocks e2e tests to remove redundant html templates and add more scenarios (#44880) 2024-02-29 15:43:59 +13:00
Jorge A. Torres 21efa92db4
Add custom order fields drop-down to custom fields metabox under HPOS (#44739)
This PR brings to HPOS the dropdown of custom fields that is available for regular posts in the WP admin edit screen.
This dropdown lists a selection of non-private meta keys from all other orders allowing easy re-use.

Fixes #44029
2024-02-28 17:00:53 -08:00
Moon 839ea67577
Add remote spec rule validator UI (#45099)
* Add Remote Spec Rule validator

* Add changelog

* Remove unused var

* Add remote spec validator

* Load composer autoload

* Remove remote spec validation
2024-02-28 15:47:15 -08:00
Paul Sealock 467d16f212
Settings Slotfills: Normalize registration to avoid conflicts (#45152) 2024-02-29 10:00:52 +13:00
Mat Lipe b160cab657
Fix Deprecated dynamic property errors in php 8.2 (#44896)
The `\WC_Checkout::create_order_line_items` method assigns values to properties of the `WC_Order_Item_Product` class which did not exist.

PHP Deprecated:  Creation of dynamic property WC_Order_Item_Product::$legacy_values

PHP Deprecated:  Creation of dynamic property WC_Order_Item_Product::$legacy_cart_item_key

Fixes #38857

---------

Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
2024-02-28 16:32:32 +01:00
Néstor Soriano bfa3ffb125
Fix: LegacyProxy::get_instance_of throws when trying to get an instance of a non-Woo namespaced class (#45178) 2024-02-28 16:31:25 +01:00
Patricia Hillebrandt 535d09730e
Update the copy for the terms and conditions on WooCommerce. (#44449)
* Update the copy for the terms and conditions on WooCommerce.

* Remove the closing round brackets

* Add changelog for: Update the copy for the terms and conditions on WooCommerce

* Update the snapshot test

* improve label for woo.com tracking setting

* update snapshot

---------

Co-authored-by: Luigi Teschio <gigitux@gmail.com>
2024-02-28 15:57:57 +01:00
Luigi Teschio e4574e2681
CYS - Core: fix font load when user opts out of tracking (#45185)
* CYS - Core: fix font load when user opts out of tracking

* remove comment

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

* fix array to pass to FontFamiliesLoader

* fix crash

* fix font pair selected after the setup

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-28 14:47:31 +00:00
Adrian Moldovan 63f6650759
[e2e tests] Improve execution time by disabling the welcomeGuide feature instead of waiting for the modal (#45132)
* Fix locator for command palette

* Add changelog

* Use fixtures instead of before/after hooks

* Disable welcome modal

* Remove describe block

* Replace closeWelcomeModal with disableWelcomeModal

* Remove wait for networkidle

* Wait for page load

* Add changelog
2024-02-28 10:35:10 -04:00
Corey McKrill d581512171
Logging: Improve compatibility with multisite (#44735)
* Add static method for getting the log directory

* Add filter for customizing the log directory path

* Handle case where constant is already defined

* Do directory creation on the fly instead of during install

* Replace all Core usages of WC_LOG_DIR

* Ensure each site's log handler setting is respected

* Add unit tests

* Fix legacy logger unit tests

* Update docs

* Regenerate docs manifest file (required by GitHub CI)

---------

Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2024-02-28 12:31:31 +01:00
Alba Rincón e1d83555a2
[CYS] Add missing typography settings for the Site Title block (#45166)
* Add missing typography settings for the Site Title block

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

* Remove unnecessary fontStyle attribute

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-28 12:06:39 +01:00
Karol Manijak d833e92f05
Fatal error when using Product Stock Indicator or On Sale Badge blocks on a homepage (#45135)
* Prevent accessing product if there's no product yet in ProductStockIndicator block

* Prevent accessing product if there's no product yet in ProductSaleBadge block

* Add changelog

* Fix linter
2024-02-28 10:34:37 +01:00
Karol Manijak 382bcdf511
Pass some context information to `woocommerce_blocks_hook_compatibility_additional_data` hook (#45156)
* Pass additional context to the woocommerce_blocks_hook_compatibility_additional_data hook which is a class name in which it was called

* Add changelog

* Lint fixes
2024-02-28 10:34:07 +01:00
Jorge A. Torres c83b030834
Make dashboard status widget compatible with HPOS (#44734)
* Remove unnecessary import

* Make top seller query compatible with HPOS

* Add compat `get_count_for_type()` method

* Make dashboard widget compatible with HPOS

* Add changelog

* PHPCS fixes

* Add unit test

* PHPCS — we meet again.
2024-02-28 11:40:33 +05:30
Albert Juhé Lluveras b95c15fc2f
Refactor BlockTemplatesController (#44537)
* Cleanup BlockTemplatesController constructor

* Remove unnecessary elseif

* Remove unnecessary param comment

* Move Single Product Template responsibilities to the SingleProductTemplate.php file

* Move Mini-Cart Template reposnibility to the MiniCartTemplate.php file

* Create the other template files

* Code cleanup

* Move template redirect into template files

* PHP cleanup

* Add changelog entry

* Fix PHP tests

* Replace hardcoded 'archive-product' slug with ProductCatalogTemplate::SLUG

* Make it so AbstractTemplatePart extends AbstractTemplate

* Register templates in BlockTemplatesRegistry

* Fix slug usage in AbstractPageTemplate.php

* Add get_template_title and get_template_description methods to AbstractTemplate

* Cleanup

* Make init functions protected in template classes

* Avoid using static constants and methods in BlockTemplatesRegistry

* Avoid using static constants and methods in block template classes

* Fix lint errors

* Fix Single Product classes not being applied

* Fix tests

* Get BlockTemplatesRegistry directly from BlockTemplateUtils to simplify code

* Init BlockTemplatesRegistry and BlockTemplatesController from Bootstrap.php

* Fix wrong static::SLUG call

* Init template classes from BlockTemplatesRegistry

* Revert "Fix wrong static::SLUG call"

This reverts commit 866c9b913a.
2024-02-27 19:05:25 +01:00
Barry Hughes 241b860b9f
Remove test/debug comment. (#44588)
* Remove test/debug comment.

Clearing this up also means linting passes for this file :-)

* Changelog.

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

* Remove extra changelog (deconflict with CI changelog tool).

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-27 13:50:55 -03:00
Patricia Hillebrandt 67f0d75b16
[CYS on Core] Add the color palettes for the Nokul, Highline and Luminate themes in the Intro Screen (#45105)
* Add the color palettes for the highline theme.

* Add the color palettes for the luminate theme.

* Add the color palettes for the nokul theme.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-27 16:01:58 +01:00
Niels Lange a668cf942e
Add e2e tests for notice templates (#44612)
* Add e2e tests for notice templates

* Add changelog entry

* Minor refactor

* Remove child theme zip files

* Generate child theme zip files on the fly
2024-02-27 13:46:31 +01:00
Tomek Wytrębowicz c0750d5567
Move rendering of Order Attribution inputs fully to JS (#44335)
- Define custom element for order-attribution
   to move DOM manipulations to JS only.
   To support multiple checkout & register forms on the same page.

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-02-27 12:31:37 +01:00
Alba Rincón 27ee0fd9d1
[CYS] Update path to intro when exiting the assembler (#44771)
* Update path to intro when exiting the assembler

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

* Fix styling

* Fix linting error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-27 09:28:24 +01:00
Chi-Hsuan Huang ec8bd31365
Improve webpack cache-busting version parameter by using file contents hash (#44838)
* Update webpack config to use file content hash for chunks and generate asset php for styles

* Use StyleAssetPlugin to generate style.asset.php

* Remove unneed ?ver=<version> code

* Use file hash from asset file when SCRIPT_DEBUG is off

- Use file hash to load scripts/styles ?ver=<file hash>
- Add register_style() method to WC_Admin_Assets

* Load payment method promotions in admin_enqueue_scripts

* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce

* Add json2php

* Update doc

* Update pnpm-lock.yaml

* Fix add_print_shipping_label_script

* Add a comment to style-asset-plugin.js

* Change register_style to use WC_ADMIN_DIST_CSS_FOLDER

* Reset the outputNormal object to avoid duplicate files

* Fix type error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-27 08:07:53 +00:00
Chi-Hsuan Huang 707c555091
Reduce calls to wp_count_posts( 'product' ) from OnboardingTasks (#45125)
* Reduce product count calls via transient caching

* Check has_previously_completed first

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-27 05:30:55 +00:00
Chi-Hsuan Huang ef16260d6e
Cache marketing task is_complete() method result (#45126)
* Cache marketing task is_complete() method result

* Add changelog
2024-02-27 13:12:22 +08:00
Sam Seay 279cca118c
Fix broken import path that causes e2e to fail (#45153) 2024-02-27 18:03:56 +13:00
Adrian Moldovan e1cae6d175
[e2e tests] Tests for product attributes in product blocks editor (#44777)
* Remove describe blocks and duplicated page fixture

* Add test `can update sku`

* Add changelog

* Finish test 'can update sku'

* Add test 'can update stock status'

* Add test 'can track stock quantity'

* Add test 'can limit purchases'

* Remove extra whitespace

* Disable product editor tour

* Revert timeout update

* Add new test `can create product attributes`

* Add changelog

* Add new test 'can update product attributes'

* Configure actionTimeout

* Add 'can remove product attributes' test

* Tweak timeouts

* Add asserts for 'can create and add attributes'

* Add asserts for 'can add existing attributes'

* Add remaining asserts

* Revert config changes

* Move fixtures into fixture folder

* Move fixtures into fixture folder

* Fix missed fixtures imports

* Skip 'can update product attributes'
2024-02-26 16:20:56 -08:00
Adrian Moldovan 9a20444af7
[e2e tests] Fix command pallete test failing with Gutenberg active (#45121)
* Fix locator for command palette

* Add changelog

* Use fixtures instead of before/after hooks

* Disable welcome modal

* Remove describe block

* Move function to avoid a future merge conflict
2024-02-26 14:16:55 -04:00
Adrian Moldovan a435f5cafa
[e2e tests] Fix page conversion failing in global setup (#45129)
Filter pages by slug
2024-02-26 13:20:17 -04:00
Patricia Hillebrandt fe0b918058
[CYS on Core] Conditionally change the default fonts available based on user consent (#44532)
* Add upgrade notice for the fonts feature whenever WP is outdateed or the user did not grant us consent.

* Add styles for the woocommerce-customize-store_sidebar-typography-upgrade-notice class.

* Update the upgrade conditionals.

* Introduce the new modal for the user to opt in to usage tracking.

* Add the CSS for the woocommerce-customize-store__opt-in-usage-tracking-modal

* Implement the sendEvent to OptInDataSharing

* Fix typo.

* Make sure the opt in button is disabled if the opt in checkbox is unchecked.

* Update the styles for the woocommerce-customize-store__opt-in-usage-tracking-modal

* Update the styles to allow changes to the link

* Set Cardo + System Sans-serif as the default fonts if the usage tracking wasn't allowed.

* Set Cardo + System Sans-serif as the default fonts if the Font Library is unavailable.

* Add the Jost + Instrument Sans font pairing.

* Update copy for the upgrade notice to remove mentions to Gutenberg.

* Replace the Link component with the Button component.

* Ensure the woocommerce_allow_tracking option is properly updated whenever the user opts in.

* Add the new Inter + Cardo font pairing.

* Redirect user to the loading screen so all relevant fonts can be installed for them.

* Render the FontPairing component only if the isFontLibraryAvailable. Update the link to download the latest version of the core of WordPress.

* update the fontPairings constant.

* Update styles for buttons and links.

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

* Make sure the dispatch for updating the option is async so the page redirect is not triggered before the option is saved to the database.

* Fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
2024-02-26 16:01:43 +01:00
Patricia Hillebrandt ce33c84222
[CYS on Core] Display a new modal informing the theme switch whenever the user clicks on the "Start designing" button (#44821)
* Introduce the new theme switch warning modal.

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

* Remove the unnecessary CheckboxControl

* update the copy & replace 'can' with 'could'

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 13:53:02 +00:00
Veljko V 9a1d11c1ba
Update mini cart test to include increased max quantity scenario (#44921) 2024-02-26 13:40:44 +00:00
Alexandre Lara 9d57f891eb
With Product Variations HOC > Convert to TypeScript (#44785)
* Add with-product-variations.tsx

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

* Add types for ProductVariationItem

* Fix ESLint errors

* Remove JS file

* Replace Product with ProductResponseItem interface

Initially, a Product interface was created to add the required types; however,
it was pointed out that the @woocommerce/types alias already provided an interface
for products (the ProductResponseItem interface).

* Remove returning types definition

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 10:26:21 -03:00
Nitish Upadhyay-1176 9a046ea285
Update collections.md (#45118)
* Update collections.md

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 13:36:05 +01:00
Veljko V 86f0ac9852
Add new E2E shop test filtering products by price (#44516) 2024-02-26 14:30:57 +02:00
Fernando Marichal 3d3f6d64b8
Add `Always show pre-publish checks` checkbox (#44595)
* Add show-prepublish-checks-section

# Conflicts:
#	packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx

# Conflicts:
#	packages/js/product-editor/src/components/prepublish-panel/style.scss

* Add show-prepublish-checks hook

* Refactor prepublish panel button visiblity

# Conflicts:
#	packages/js/product-editor/src/components/header/header.tsx

# Conflicts:
#	packages/js/product-editor/src/components/header/header.tsx

* Fix footer styles

* Add changelogs

* Add content div

* Fix styles

# Conflicts:
#	packages/js/product-editor/src/components/prepublish-panel/style.scss

* Rename recorded action

* Fix styles

* Hide panel after unchecking option

* Improve resolving

* Add new E2E test for merchant transforming classic cart to cart block (#44926)

* Update the monorepo-utils gitignore to only include index.js and its license file. (#44932)

* Fixed `@woocommerce/plugin-woocommerce` Watch (#44930)

By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.

* Update core package.json to remove nightly ci config (#45096)

* Update core package.json to remove nightly ci config

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

---------

Co-authored-by: github-actions <github-actions@github.com>

* Update blocks build message (#44811)

* Update blocks build message

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

* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php

Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>

* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php

Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>

* [CYS on Core] Update the themes list on the intro screen (#44822)

* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.

* Update styles for the Free, Paid and active cards.

* Add the color palletes to TT4 theme.

* Update the references for default and core themes.

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

* Update the link to TT4 theme

* Update default value for price.

---------

Co-authored-by: github-actions <github-actions@github.com>

---------

Co-authored-by: Veljko V <veljano@yahoo.com>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Roy Ho <roykho77@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
2024-02-26 07:38:48 -04:00
Albert Juhé Lluveras 3d045a13bb
Update usages of WooCommerce Blocks version checks (#44804)
* Update usages of WooCommerce Blocks version checks

* Add changelog file

* Undo methods deprecation
2024-02-26 12:09:47 +01:00
otrocodigo b05082ae87
Fixed errors in file documentation syntax. (#44629)
* Fixed errors in file documentation syntax.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 17:43:22 +08:00
Alba Rincón 24663293ac
[CYS] Update footer and homepage copy (#44800)
* Update assembler sidebar link when no AI available

* Update the sidebar section title depending on the flow

* Revert unnecessary changes

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

* Add missing text domain

* Fix test

* Tweak the footer section copy

* Update the design homepage section description

* Chage footer description only on Core

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

* Update copy

* Fix code duplication

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 10:15:02 +01:00
Alba Rincón af00debc02
[CYS] Use outline instead of border, so the border width does not affect the card size (#44851)
* Use outline instead of border, so the border width does not affect the card size

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 10:14:47 +01:00
Alba Rincón c17799806d
[CYS] Mark the products task as completed only if products were user created (#44890)
* Mark the products task as completed only if products were user created

* Consider the edited products as user products

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-26 10:14:29 +01:00
Karol Manijak 4b69fc7b84
Improve the Compatibility Layer docs to minimise confusion (#44924)
* Improve the Compatibility Layer docs to avoid confusion

* Add changelog

* Add punctuation
2024-02-26 09:03:03 +01:00
github-actions[bot] 47de1ba6ff
Prep trunk for 8.8 cycle (#44910)
Prep trunk for 8.8 cycle with version bump to 8.8.0-dev

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-26 07:45:24 +01:00
github-actions[bot] bf0f14d324
Release: Remove 8.7 change files (#44911)
Delete changelog files from 8.7 release

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-26 07:45:02 +01:00
Patricia Hillebrandt e74199928d
[CYS on Core] Update the themes list on the intro screen (#44822)
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.

* Update styles for the Free, Paid and active cards.

* Add the color palletes to TT4 theme.

* Update the references for default and core themes.

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

* Update the link to TT4 theme

* Update default value for price.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-25 19:56:10 +00:00
Roy Ho c2b1433b35
Update blocks build message (#44811)
* Update blocks build message

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

* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php

Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>

* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php

Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
2024-02-23 13:43:15 -08:00
jonathansadowski d660f0c272
Update core package.json to remove nightly ci config (#45096)
* Update core package.json to remove nightly ci config

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-23 16:40:04 -04:00
Christopher Allford baafc35dd5
Fixed `@woocommerce/plugin-woocommerce` Watch (#44930)
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
2024-02-23 12:09:47 -08:00
Veljko V 7018f2b7f3
Add new E2E test for merchant transforming classic cart to cart block (#44926) 2024-02-23 19:51:08 +02:00
Bart Kalisz 8b4bacc2bf
[E2E] Refactor blocks global setup (#44843) 2024-02-23 11:17:46 +01:00
Alexandre Lara 56e6772af5
Reviews by Product > No Reviews Placeholder: Refactor component from JavaScript to TypeScript (#44664)
* Refactor No Reviews Placeholder component from JavaScript to TypeScript

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

* Fix file import

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-22 22:23:53 -03:00
Alfredo Sumaran f4bccaae43
Apply Rector suggestions for PHP 8.1 (#43233)
* PHP8 fixes for src/Admin

* Add changelog entry

* Fix PHP Lint issues
2024-02-22 15:37:45 -08:00
Brent MacKinnon 4f24fdcabb
Update logging.md (#44908)
* Update logging.md

* Add changelog file

* Update docs manifest file

---------

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-02-22 23:30:08 +00:00
Adrian Moldovan e5ebc61d81
[e2e tests] Fix a flaky product inventory test (#44897)
Clear the field before filling the new value and use another value than the default one.
2024-02-22 16:10:55 -04:00
Adrian Moldovan b88a094289
[e2e tests] Configure timeout for action and navigation (#44891)
* Add timeouts for action and navigation

* Add changelog
2024-02-22 09:55:54 -08:00
Adrian Moldovan 54ad039310
Remove mariaDB image tag workaround (#44881)
* Remove sed commands in postinstall

* Add changelog
2024-02-22 09:53:58 -08:00
And Finally 24a216f887
Fix promotions filtering by tab (#44884)
* Fixing filtering by tabs in `Promotions` component.
Using reference to WC_Admin_Marketplace_Promotions::TRANSIENT_NAME when outputting JS data for promotions, instead of transient string.
Better initialisation of wc global object in the inline script.

* Changelog.

* Using global var for marketplace.

* More tentative reference to global object.

* icon TS error
2024-02-22 16:35:46 +00:00
And Finally 0a3c285b08
Update example plugin for Activity Notes to include namespacing (#44504)
* Updates example plugin for Activity Notes to include namespacing of `Automattic\WooCommerce\Admin\Notes\Note` and `Automattic\WooCommerce\Admin\Notes\Notes`. Without this, the example doesn't work in `wp-content/plugins`.

* Added changelog.
2024-02-22 14:16:03 +00:00
And Finally a0ac7ffecc
In-App Marketplace: record page views at the end of the `useEffect` hook (#41604)
* Moves calls to `recordMarketplaceView` and `recordLegacyView` to the `finally` of the `useEffect` in the Content component. Calling these functions at the top of the hook is recording a view for the default screen and then a view for the My Subscriptions screen when you go directly to My Subscriptions.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-22 14:15:10 +00:00
Alexandre Lara a3c9f56874
[DOCS] Fix incorrect link pointing to the WP Calypso repo (#44865)
* Fix incorrect link in docs

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-22 10:40:57 -03:00
Vedanshu Jain fcdbc76414
Revert 44084 and 44790 to be punted to next release (#44876)
* Revert "Restore nonce and store notices after hydrating data from controllers. (#44790)"

This reverts commit 2535dd766e.

* Revert "Build path info directly instead of loading REST API. (#44080)"

This reverts commit 4daa3f31f1.

* Add changelog.
2024-02-22 15:43:50 +05:30
Alba Rincón 145905f254
[CYS] Update sidebar links copy (#44762)
* Update assembler sidebar link when no AI available

* Update the sidebar section title depending on the flow

* Revert unnecessary changes

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

* Add missing text domain

* Fix test

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-22 09:48:49 +01:00
Alba Rincón b142db05b1
Update footer large Twitter icons to X (#44807)
* Update footer large twitter icons to X

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-22 09:34:22 +01:00
Alba Rincón 856fae433b
[CYS] Fetch the `activeThemeHasMods` right before is used to improve intro loading time (#44647)
* Fetch the activeThemeHasMods right before is used

* Add changelog
2024-02-22 09:30:11 +01:00
Néstor Soriano eb9723e5e0
Remove property type hints in TransientFilesEngine and ReceiptRenderingEngine (#44829) 2024-02-22 08:59:43 +01:00
Néstor Soriano 67787b8a48
Fix the REST API controllers registration (#44833)
The code was mistakenly assuming that any controller class name not
starting with WC_REST_ was handled by the container, but other
plugins may register their own controller classes that use
a different naming convention.
2024-02-22 08:59:27 +01:00
Caleb Mazalevskis 097811fb93
Fix typos. (#40899)
* Fix typos.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-22 07:10:00 +00:00
And Finally 3bafb1b612
Promotions: changed transient name (#44857)
* Changed transient name.

* Changelog.
2024-02-21 17:27:34 +00:00
Adrian Moldovan 4b2f949231
Fix pnpm postinstall temp workaround (#44853) 2024-02-21 10:32:24 -06:00
Remi Corson 20b3d51845
Fetch & display marketplace promotions (#44840)
* Fetch & display marketplace promotions

* add changelog entry

* Pass promos via inline JS, demove unused JS file, rely on transient only

* Return early if not on expected page

* Compare dates in UTC

* remove unused global userLocale

* Small tweaks.

* TypeScript linter errors.

* fix TS lint

---------

Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
2024-02-21 16:09:23 +00:00
Tomek Wytrębowicz 0d3008bede
Improve rendering of Order Attribution inputs (#44333)
- Expose public method to render OA input fields 
- Render OA inputs on `woocommerce_checkout_after_customer_details` 
   in case the checkout form does not contain `woocommerce_checkout_shipping`, `woocommerce_after_order_notes`.

Addresses part of #44159

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-02-21 16:38:04 +01:00
Ilyas Foo c601a0b197
Wrangle MarketingRecommendations as RemoteSpecsEngine (#44828)
* Fix potential recursion error, add MarketingRecommendations to extend RemoteSpecsEngine, add error handling, add tests

* Changelog

* Added spec evaluation and return default when empty

* Update plugins/woocommerce/src/Admin/Features/MarketingRecommendations/Init.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2024-02-21 15:22:47 +00:00
Adrian Moldovan 34a71f3963
Force mariadb docker image tag (#44841) 2024-02-21 16:06:44 +02:00
Bart Kalisz 045df6f3e7
[E2E] Stabilize Product Collection "on sale" tests (#44796) 2024-02-21 13:44:07 +01:00
Albert Juhé Lluveras 6b9e732ebf
Prevent script caching by using the WC core version to hash Interactivity API assets instead of old WC Blocks version (#44806)
* Prevent script caching by using the WC core version to hash Interactivity API assets instead of old WC Blocks version

* Add changelog entry
2024-02-21 12:14:45 +01:00
Sam Seay ccb1fb3d76
[Experimental] Fix a bug in new attribute filter where we didn't set the attribute from content panel (#44757) 2024-02-21 19:53:15 +13:00
Sam Seay cd5b4196d9
Don't throw exception if data exists for `needsRefreshForInteractivityAPI` (#44808) 2024-02-21 18:53:20 +13:00
Paul Sealock e0d8872376
Remote Spec Splits - Create new value 1 - 120 (#44786) 2024-02-21 15:24:44 +13:00
Ilyas Foo 42aa02740c
Add base RemoteSpecsEngine class, add logging for errors in all remote specs (#44775)
* Add basic RemoteSpecEngine class, add logging for errors

* Changelog

* Fix logic error

* Add log name
2024-02-21 09:33:38 +08:00
Adrian Moldovan f4f4d798fe
[e2e tests] Add tests for product inventory in product block editor (#44699)
* Remove describe blocks and duplicated page fixture

* Add test `can update sku`

* Add changelog

* Finish test 'can update sku'

* Add test 'can update stock status'

* Add test 'can track stock quantity'

* Add test 'can limit purchases'

* Remove extra whitespace

* Disable product editor tour

* Revert timeout update
2024-02-20 14:25:16 -08:00
Paul Sealock 487f230f0a
Shipping Settings: Update Create btn text on method creation (#44788)
* Update shipping method btn text on create

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-20 21:46:28 +00:00
Barry Hughes 171043f079
APIv1 > Orders Controller > Avoid deprecated means of accessing coupon data (#44741)
Update the (REST API v1) orders controller to use the currently supported means of accessing coupon information.

This avoids the generation of deprecation notices, which are problematic for some users who cannot yet update to API v2 or higher.

Fixes #39006
2024-02-20 13:08:04 -08:00
And Finally a1a671d872
Fetch promotions from Woo.com and show bubble on Extensions menu item, if required (#44655)
* Added `WC_Admin_Marketplace_Promotions`, with logic to get promotions from https://woocommerce.com/wp-json/wccom-extensions/3.0/promotions and display them

- Calling `init_marketplace_promotions` on `woocommerce_init`. If we're on the WooCommerce Home or Extensions pages, this calls `fetch_marketplace_promotions` to get promotion data from the transient or else the API.
- If we're on any admin page, calls `show_bubble_promotions` to render menu item bubbles, if there are any.
- Changed method `WC_Admin_Addons::fetch_with_locale` to `WC_Admin_Addons::fetch` and added `$options` parameter, so we can fetch without passing locale. We want to keep requests for promotions as uniform as possible for better caching.

* Fetching promotions on all pages in the WooCommerce admin menu.

* Changed WC_Admin_Marketplace_Promotions to fetch promotions in a scheduled action.

* Added extra condition to check if `$auth['access_token']` is set.
2024-02-20 17:51:26 +00:00
Bart Kalisz b8d2136aa2
[E2E] Setup block theme without opening browser (#44702) 2024-02-20 16:52:53 +01:00
nigeljamesstevenson 58d1f92e5f
Update stable tag to 8.6.1 (#44801)
woorelease: Update stable tag to 8.6.1
2024-02-20 15:47:50 +00:00
louwie17 79375d594c
Add/44643 variation empty state experiment (#44731)
* Update experiment name

* Add changelog
2024-02-20 12:41:43 -03:00
Vedanshu Jain 2535dd766e
Restore nonce and store notices after hydrating data from controllers. (#44790) 2024-02-20 16:39:36 +01:00
Bart Kalisz 82d1df5b37
[E2E] Stabilize a flaky Price Filter test (#44690) 2024-02-20 16:30:16 +01:00
Remi Corson 1cbc04449c
Introduce `<Notice>` component for WooCommerce Admin (#44620)
* Introduce Notice component

* minor alignment fix

* Fix MD title increment

* Fix readme lint

* add changelog entry

* fix CSS lints

* Small tweaks.

Regularising the spelling of isDismissible.
Using sanitizeHTML to sanitize the notice description.
Making the variant classes like &-success to make them a bit shorter.
Adjusting wording of README to convey that this component is designed for the marketplace, though it can be used elsewhere.
Tweaking whitespace in one place in the TSX to please the linter.

* Update plugins/woocommerce-admin/client/marketplace/components/notice/notice.tsx

Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>

* address feedback

* Changed notice classnames to use `__{$variant}` pattern as well. Restored 40px bottom margin to notices on viewports 600px and above. Added height 24px on icons to ensure they're nicely vertically centred.

---------

Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
2024-02-20 14:52:41 +00:00
Alexandre Lara 319c2637eb
Reviews block: Convert editor-block.js to editor-block.tsx and replace propTypes with TypeScript definitions (#44594)
* Convert Reviews Editor code to TypeScript

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-20 10:58:52 -03:00
Gan Eng Chin de66873c33
Add `source` event props for `marketing_recommended_extension` track events to differentiate recommendations from woo.com API or default fallback data (#44714)
* Add getRecommendationSource util.

* Add `source` eventprop for `marketing_recommended_extension` track event.

* Make test pass with updated track event.

* Add tests for getRecommendationSource.

* Add JSDoc for getRecommendationSource.

* Better test descriptions.

* Add changelog.
2024-02-20 19:44:28 +08:00
Luigi Teschio 5fe5aef5a0
Product Image block: show the setting to control the imageSizing attribute and add the attribute to the `Product Catalog` and `Product Search Results` templates (#44691)
* add imageSizing attribute to the product catalog template

* add attribute for the product search results template

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-20 10:50:42 +01:00
Luigi Teschio 879cfaec46
[CYS- Core] Improve default palette (#44722)
* improve default palette

* improve comment

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

* improve comment

* fix theme.json

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-20 10:48:27 +01:00
Luigi Teschio 62f2782715
[CYS - Core] improve logic to find active fonts (#44724)
* improve logic to find active fonts

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

* Update changelog

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
2024-02-20 10:48:09 +01:00
Albert Juhé Lluveras 484398cfe1
Open templates from list instead of loading the URL in block templates e2e tests (#44774)
* Open templates from list instead of loading the URL in block templates e2e tests

* Typo

* Clean up

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

* Make sure correct template is loaded

* Create a TemplateType type to avoid having to define it in several places

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-20 10:35:27 +01:00
RJ 7f01490fd7
fix: shipping tour should not show usps/dhl to non-us merchants (#44765)
* fix: shipping tour should not show usps/dhl to non-us merchants

* lint
2024-02-20 13:33:01 +08:00
Chi-Hsuan Huang 2f6818772e
Fix untranslated "Are you already selling somewhere else?" text in the product task list (#44763)
* Fix untranslated "Are you already selling somewhere else?" text in the product task list footer.

* Add changelog
2024-02-20 10:25:17 +08:00
Jorge A. Torres 0af71d5c48
Update contributors list with some missing core contributors (#44740)
* Add Proton to contributors list

* Add changelog
2024-02-19 15:57:34 -08:00
Alfredo Sumaran 0407569382
Apply Rector suggestions for PHP 8.1 (#41253)
* Apply Rector suggestions

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

* Apply feedback suggestions

* Add missing if

* Align assignments to satisfy the linter

* Move count call outside the loop to satisfy the linter

* Escape output to satisfy the linter

* Remove unnecessary assignment

* Remove unnecessary is_countable check

* Remove unnecessary array casting

* Restore variable name

* Update changelog entry

* change static to self for consistency
2024-02-19 12:29:16 -08:00
Karol Manijak 5b420159cb
Product Collection: disable "Sync with current query" option for 2nd+ block on archive (#44577)
* Refactor store usage

* Prepare function resolving inherit property for additional check

* Add logic to disable sync with query if there's already one Product Collection on archive that does that

* Add changelog

* Cover the post editor case

* Add E2E test for that and small refactor in tests

* Remove duplicated import

* Fix lint problems

* Fix typo in test description

Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>

* Replace confusin abbreviation with other description

* Update the logic to be more robust and covering also the case where Product Collection blocks are nested

* Add issue reference to the comment

* Add eslint disable before ts-ignore

---------

Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
2024-02-19 17:51:42 +01:00
Jonathan Lane 852e8f4c0e
Merchant coupon creation (#44671)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
2024-02-19 16:43:53 +02:00
nigeljamesstevenson 7699c52b9d
Update stable tag to 8.6.0 (#44662)
woorelease: Update stable tag to 8.6.0
2024-02-19 13:33:35 +00:00
Néstor Soriano 89c6fbbb7c
Add the Receipts Rendering Engine (#43502) 2024-02-19 12:03:46 +01:00
Chi-Hsuan Huang 0b55f4ee12
Add php unit watcher and update unit test docs (#44681)
* Add phpunit-watcher to automatically rerun PHPUnit tests when source code changes

* Update unit tests docs

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-19 16:40:29 +08:00
Karol Manijak 76f6b0097e
Product Collection: Improve flaky E2E test (#44687)
* Remove unnecessary waitForResponse making a test flaky

* Add changelog
2024-02-19 09:08:11 +01:00
Manish Menaria ce00f299ea
Improve Accessibility in Product Collection Navigation (#44599)
* Add animation for client-side pagination

This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.

These updates aim to provide a more engaging and responsive interface for users navigating through product collection.

* Enhance accessibility for product collection navigation

This commit introduces several improvements to enhance accessibility and user experience. Specifically, it adds new context properties to manage accessibility messages during the navigation process, including messages for loading and when a page has loaded. These changes ensure that screen reader users receive appropriate feedback during navigation.

Changes made:
- Added `accessibilityMessage`, `accessibilityLoadingMessage`, and `accessibilityLoadedMessage` properties to the `ProductCollectionStoreContext`. These properties store messages to be announced by screen readers during different stages of page navigation.
- Implemented logic in the product collection store to update the `accessibilityMessage` during the start of navigation (showing a loading message) and upon completion (showing a loaded message).
- Utilized a technique to ensure that consecutive identical messages are still announced by screen readers, by appending a no-break space to the message if it is the same as the previous one. This follows a pattern similar to the `@wordpress/a11y` package.
- In `ProductCollection.php`, enhanced the block's HTML output to include these new accessibility messages and integrated them with the existing interactive data attributes. This ensures that the front-end components are fully prepared to handle these accessibility enhancements.
- Added a new `div` with `class="screen-reader-text"` and `aria-live="polite"` attributes, which dynamically displays the accessibility message based on the navigation state. This div complements the visual pagination animation with an accessibility-focused mechanism for announcing the page load states to screen reader users.

By addressing accessibility considerations with these enhancements, we're making Product Collection navigation more inclusive and user-friendly for all users.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-19 11:35:14 +05:30
Shiva Poudel a14c59b819
Fix - TGM Plugin activation calling undefined function wc_get_screen_ids (#44114)
Fixes an edge case where `WC_Admin_Notices::add_notices()` can be called, but the `wc_get_screen_ids()` function has not yet been defined.
2024-02-16 16:10:34 -08:00
Tarun Vijwani 4e6476a996
Adjust spacing in/between elements on the Cart and Checkout block pages (#44160)
* Add spacing in Checkout block page

* Add spacing in Order summary block

* Update responsive styles for order summary panel

* Update styles for cart and cart line items table

* Update styles for order summary and cross-sells products

* Remove unnecessary CSS styles from cart line items table and cart block

* Remove unused CSS class from cart line items table

* Fix linting errors

* Add changelog

* Fix changelog lint

* Update quantity selector style

* Increase the line-height of the set description and remove margin top from email field

* Add margin-top to order summary image and express payment margin adjustment

* Update styles for cart and checkout components

* Fix linting error

* Fix margin units in cart-cross-sells-products

* Replace em with px

* Add margin-top to payment method container

* Update styles for Cart block for mobile screen

* Update padding in cart style.scss
2024-02-17 01:50:11 +04:00
github-actions[bot] 91fcab7008
Delete changelog files based on PR 44704 (#44730)
Delete changelog files for 44704

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-16 20:59:11 +00:00
github-actions[bot] 86f77c89ef
Delete changelog files based on PR 44698 (#44728)
Delete changelog files for 44698

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-16 20:48:50 +00:00
github-actions[bot] e736b62e95
Delete changelog files based on PR 44680 (#44720)
Delete changelog files for 44680

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-16 20:42:57 +00:00
Jonathan Lane 19b51c83e7
Tests for restricted coupon creation (#44716)
* Tests for restricted coupon creation

* Add changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-16 15:43:42 -04:00
Tarun Vijwani 7528a7d65e
Fix removal of express payment method from state (#44633)
* Fix removal of express payment method from state

- Correct the logic for removing an express payment method from the availableExpressPaymentMethods state object.
- Previously, the deletion targeted the incorrect object, leading to incorrect change in state. Now, the correct entry is removed using destructuring and rest parameters, ensuring the express payment method is properly deleted.

* Revert "Fix removal of express payment method from state"

This reverts commit 8e24553794.

* Fix typo error in the reducer

* Add unit to make sure correct express payment method is removed

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

* Remove payment method descriptions from express and fix changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-16 23:00:42 +04:00
github-actions[bot] ea50305d91
Delete changelog files based on PR 44676 (#44718)
Delete changelog files for 44676

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-16 18:29:45 +00:00
Seghir Nadir e8a403b406
add default values for admin address filters (#44704)
* add default values for "woocommerce_admin_shipping_fields" and "woocommerce_admin_billing_fields" filters

* use null instead
2024-02-16 15:10:26 +00:00
Tom Cafferkey 5a761ae05e
Move condition to check post status before rendering product (#44698)
Co-authored-by: Leif Singer <git@singer.sh>
2024-02-16 14:15:48 +00:00
Alba Rincón 2d2d626c03
[CYS on Core] Update homepage templates intro patterns (#44616)
* Add bottom margin to the pattern

* Increase the height of the pattern to match designs

* Replace intro patterns on Core

* Add changelog

* Update the default intro to be hero product split
2024-02-16 14:59:16 +01:00
Bart Kalisz 711f420ef1
[E2E] Stabilize flaky Add to Cart test (#44639)
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
2024-02-16 13:44:41 +00:00
Thomas Roberts 0d5c224520
Prevent script caching by using the WC core version to hash WC blocks assets instead of old WC Blocks version (#44676)
* use the WC core version to hash WC blocks assets

This is because the previous hash was generated using WC blocks version, which hasn't been updated since joining the monorepo.

* Make class variable to hold new prefixed wc version

* Add changelog

* Add var type to new class property

* Add prefix to prevent collission

* also use wc version for styles

* make variable public

---------

Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
2024-02-16 14:07:05 +01:00
Tarun Vijwani 506499dec4
Prevent prefilling of the billing address with the shipping address in the Checkout block for the Guest Shopper (#44347)
* Clear billing address when useShippingAsBilling checkbox is unchecked

* Add billing address sync with server

* Add useRef hook to store previous billing address and update sync functions

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

* Revert "Add useRef hook to store previous billing address and update sync functions"

This reverts commit 7bc3312ab7.

* Added condition to clear address only for guest users

* Add E2E test to check billing address form is empty for Guest shopper

* Fix typo

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

* Updated docs-manifest.json

* Revert "Updated docs-manifest.json"

This reverts commit 20d578a9d6.

* Include company field in the E2E test

* Replace beforeAll with beforeEach

* Skip country reset to keep consistency with Shortcode Checkout

* Remove sync billing address on server

* Update E2E test to include the shipping address check

* Remove unsed  imports

* Clear address fields except country and state

* Optimize the billing and shipping address check with switch statement

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2024-02-16 16:10:51 +04:00
Sam Seay 5ecea1b8c2
Support testing many variants of a block at runtime via dynamically generated templates (#44223) 2024-02-17 01:00:36 +13:00
Manish Menaria e210302e8a
Product Collection: Add loading indicator for client-side pagination (#44571)
* Add animation for client-side pagination

This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.

These updates aim to provide a more engaging and responsive interface for users navigating through product collection.

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

* Allow user clicks under product collection's loading animation

This commit enhances the user experience of the loading animation for the product collection block. Changes include:

- Specifying `transform-origin: 0% 0%;` directly within the block's initial style to indicate the animation should start from the left
- Adding `pointer-events: none;` to allow user interactions with elements underneath the loading animation, thus improving usability by not blocking clicks.

Additionally, redundant `transform-origin` properties were removed from the `@keyframes` declaration to clean up the code and avoid unnecessary repetition. This simplification contributes to both the maintainability and readability of the stylesheet.

* Fix linting errors in SCSS file

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-16 15:43:58 +05:30
Chi-Hsuan Huang eb2b1fef1d
Add checks and unit tests to rule processors (#44448)
* Add checks and unit tests to rule processors

* Add checks and unit tests to PluginsActivatedRuleProcessor

* Add checks and unit tests to PluginsVersionRuleProcessor

* Add checks and unit tests to PublishAfterTimeRuleProcessor

* Add checks and unit tests to PublishBeforeTimeRuleProcessor and fix PublishAfterTimeRuleProcessor

* Add checks and unit tests to WCAdminActiveForRuleProcessor

* Add unit tests and refactor TotalPaymentsVolumeProcessor

* Fix unit tests

* Add changelog

* Fix unit tests

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/base-location-state-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/wcadmin-active-for-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/wcadmin-active-for-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/wcadmin-active-for-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/wcadmin-active-for-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/total-payments-volume-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/is-woo-express-rule-processer.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/is-woo-express-rule-processer.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Use Throwable instead

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/total-payments-volume-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/src/Admin/RemoteInboxNotifications/BaseLocationCountryRuleProcessor.php

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Update plugins/woocommerce/src/Admin/RemoteInboxNotifications/PluginsActivatedRuleProcessor.php

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/plugin-version-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/publish-after-time-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/publish-before-time-rule-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Update plugins/woocommerce/tests/legacy/unit-tests/woocommerce-admin/remote-inbox-notifications/total-payments-volume-processor.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Address PR feedback

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>
2024-02-16 10:10:15 +00:00
Tung Du 0425857b7f
[Experimental] Fix Active Filter chips style (#44682) 2024-02-16 10:09:49 +00:00
Chi-Hsuan Huang 75118fbe40
Add checks and unit tests to Transformers (#44634)
* Add checks and unit tests to Transformers

* Add changelog

* Update docs

* Fix test

* Set the default value to an empty array

* Set default value to array() for ArrayColumn
2024-02-16 16:51:09 +08:00
Ilyas Foo 0ea64cf93b
Add error handling and tests for ShippingPartnerSuggestions (#44641)
* Add error handling and tests for ShippingPartnerSuggestions, add missed generic error handling for RemoteFreeExtension evaluator

* Changelog
2024-02-16 15:18:30 +08:00
Vedanshu Jain 1d91b89d16
Dont render attribution metabox for non-supported order types. (#44680)
* Dont render attribution metabox for non-supported order types.

* Use a screen check instead of order type check for better compat.

* phpcs fix

* Remove unnecessary call.
2024-02-16 12:39:25 +05:30
Manish Menaria 017b5e249a
Product Collection: Handle empty block content in process_pagination_links method (#44575)
* Handle empty block content in process_pagination_links method

This commit introduces a check for empty block content in the `process_pagination_links` method of the `ProductCollection` class. This change ensures that if the block content is empty, the method will immediately return the original content without attempting further processing. This enhancement prevents potential errors or unnecessary processing steps on empty content.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-16 11:35:59 +05:30
Sam Seay f513ce7c25
[Experimental] Refresh product collections that don't support the interactivity API (#44631) 2024-02-16 15:51:42 +13:00
ericmulder 4cf4868855
fix fatal string to array conversion error in get_full_size_image_dim… (#40395)
Ensures that even if `wp_get_attachment_metadata` returns an unexpected value due to a filter, the `get_full_size_image_dimensions` method will handle it correctly and not throw an error.

Fixes #40393

---------

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-02-15 15:45:10 -08:00
Adrian Moldovan ddf908d7fb
[e2e tests] Enhance product reviews tests (#44644)
* Rename test

* Updated tests to use work with more reviews

* Add changelog

* Add new test: can filter the reviews by product

* Fix lint errors and warnings
2024-02-15 13:30:47 -08:00
Jonathan Lane fce80c40c0
E2e/customer emails (#44622)
* Adds tests for user account emails

* Add changelog

* Fix linting issues (code formatting)

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-15 13:07:31 -08:00
nigeljamesstevenson a0b72b0546
Cherry-pick #301 into trunk (#44667)
Checkout changes from #293

Co-authored-by: Rodel Calasagsag <rodel.calasagsag@automattic.com>
2024-02-15 21:06:37 +00:00
nigeljamesstevenson 45fd1ab3f0
Cherry-pick #298 into trunk (#44666)
* add wc_get_valid_product_statuses

* add support for sku

* add unit tests for the `product_page` shortcode

* add `woocommerce_shortcode_product_page_override_read_permissions_unpublished` filter

* keep a list of invalid statuses instead of valid ones and allow overriding it

* move deprecation notice handling into methods

* appease the linter

* remove `visibility` attribute

* ensure we remove the filters that we add in a test

* allow overriding read permissions in both directions (or not at all)

* add sku-based tests and remove some superfluous testing data and asserts

* add back in missing variable

* remove superfluous `hidden` visibilities

* add changelog file

---------

Co-authored-by: Leif Singer <git@singer.sh>
2024-02-15 21:06:25 +00:00
nigeljamesstevenson 58781b796c
Cherry-pick #295 into trunk (#44665)
* Prevent file-sniffing through the product editor's downloadable files UI.

Before now, files that do not exist and files that exist outside an approved directory led to different error messages. This meant the latter could be taken as an indicator that a given file exists.

* Correct initial indent.

---------

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2024-02-15 21:06:14 +00:00
Ron Rennick 5ec07c1e5f
update states, expected plugins in api tests (#44650)
* update states, expected plugins in api tests

* add changelog

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2024-02-15 14:22:24 -04:00
Jonathan Lane 2812adc5af
Add sharding to Blocks e2e tests (#44440)
* Add sharding to Blocks e2e tests

* Changelog

* Push a change to Blocks README to trigger tests

* Fix syntax

* Fixed again

* Try again

* Trying to get the shard number

* Shard names

* fix E2E test

* complete all the jobs

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
2024-02-15 09:27:17 -08:00
Alexandre Lara 452c522b95
[DOC] Resolve incorrect branch references in Gutenberg links (#44566)
* Fix Gutenberg links in the docs pointing to the wrong branch

* Add changefile(s) from automation for the following project(s): @woocommerce/notices, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/components, woocommerce-blocks, woocommerce-beta-tester, woo-ai

* Fix markdown lint errors

* Fix wrong link in the docs

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-15 14:13:28 -03:00
Jorge A. Torres f79bf3a340
Add `wc hpos backfill` tool to backfill from/to either datastore (#44281)
* Fix docblock

* First pass at backfill CLI tool

* Use ‘posts’ instead of ‘cpt’ in legacy data handler

* Include posts to HPOS migrator in LegacyDataHandler

* Add backfill method to legacy data handler

* Add tests

* Add changelog

* Appease linter

* Rename <id> to <order_id> in WP-CLI docblock

* Make from/to datastore argument mandatory

* Improve handling of invalid order types

* PHPCS fixes
2024-02-15 08:13:23 -08:00
Thomas Roberts c7eb05ac5e
Remove Additional Checkout Fields entry from 8.5 changelog (#44642) 2024-02-15 06:46:48 -08:00
Alba Rincón 7440082381
[CYS on Core] Update image to have a better resolution (#44611)
* Update image to have a better resolution

* Add changelog
2024-02-15 14:28:24 +01:00
Alba Rincón c9fe049934
[CYS - Core] Update the subheading copy of the transitional page (#44603)
* Update the subheading copy of the transitional page

* Add changelog
2024-02-15 13:59:43 +01:00
Justin Palmer b439a01cd5
Add mobile app order attribution source (#44519)
* Add mobile_app order attribution source
2024-02-15 13:44:02 +01:00
Fernando Marichal f09bc85875
Fix pre-publish modal styles (#44562)
* Fix pre-publish modal styles

* Improve styles

* Add changelog

* Add vars to styles

# Conflicts:
#	packages/js/product-editor/src/components/prepublish-panel/style.scss

* Fix sidebar styles

* Add changelog

* add overflow auto

* Fix quotes
2024-02-15 09:36:59 -03:00
Justin Palmer 406dcac669
Order attribution - avoid attributing AJAX-checkouts to Web Admin (#44219)
* Ensure is_admin AND ! wp_doing_ajax for setting Web admin source

* Better control to permit possible wp-admin ajax order creation
2024-02-15 12:38:09 +01:00
Albert Juhé Lluveras dd56a3ba61
Clean up block templates after running e2e tests (#44600)
* Clean up block templates after running e2e tests

* Add changelog entry

* Fix linting
2024-02-15 08:17:12 +01:00
Viktor Szépe 49557b3229
Fix reference to WC_API_Server (#37054)
* Fix reference to WC_API_Server

* Add changelog
2024-02-15 07:14:36 +00:00
RJ 141c2e4399
add/explat experiment name validation (#44535) 2024-02-15 12:35:23 +08:00
Barry Hughes 94c0578029
Session handler: restore use of _table property, for consistency with other methods. (#44517)
* Restore use of _table property, for consistency with other methods.

* Ignore interpolated/unprepared variable warning (we're referencing a table name).
2024-02-14 19:22:53 -08:00
Chi-Hsuan Huang a5711d03ca
Improve remote specifications transient handling and error management (#44384)
* Add set_specs_transient helper method

* Store default specs into transient when spec rules fails

* Add changelog

* Fix automatic conversion of false to array is deprecated

* Update plugins/woocommerce/src/Admin/DataSourcePoller.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Use set_specs_transient

* Handle evaluation error properly

* Add unit tests

* Update init

* Update changelog

* Update changelog

* Update plugins/woocommerce/src/Admin/Features/PaymentGatewaySuggestions/EvaluateSuggestion.php

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

* Change expires time compare operator to <= for safety

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-02-15 11:00:36 +08:00
Kazuto Takeshita 71b6e74615
Make the structured data price of group products refer to the latest child product price (#42808)
* Changed Make the structured data price of group products refer to the latest child product price.

* Add changelog

* PHPCS fixes

---------

Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
2024-02-15 02:58:21 +00:00
Jonathan Lane c3b355a53f
Remove test publishing (#44592) 2024-02-14 16:41:11 -08:00
nigeljamesstevenson 83fc7a88f3
Update Action Scheduler to 3.7.2 (#44628)
* Update Action Scheduler to 3.7.2
2024-02-14 16:28:02 -08:00
Paul Sealock 0f27449454
Update states.php -> Add Morocco regions (#41769)
Add regions for Morocco according to CLDR.
2024-02-14 16:17:09 -08:00
Christopher Allford eb543f564f
Fixed `@woocomerce/classic-assets` Watch Command (#44627)
The `watch:build` setup in this package does not conform to
the expects format and so the build command was not being
run. This fixes that and ensures it gets executed correctly.
2024-02-14 15:53:14 -08:00
Thomas Roberts 1ddd904b26
Add additional checkout fields documentation (#43782)
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-02-14 13:48:03 -08:00
Mike Jolley b94c14e745
[Experiment] Fix additional address field validation notices (#44615) 2024-02-14 10:02:30 -08:00
Matt Sherman d279466eb3
[Product Editor] Fix blank editor flash when loading product (#43840)
* EditorLoadingContext

* Use EditorLoadingContext

* Remove fallbacks

* Make sure metadata exists before using it

* Add header loading state

* Do not return skeleton

* Use EditorLoadingContext

* Update editor loading state

* Remove ProductPageSkeleton

* Remove unused import

* Remove unused import

* Handle undefined variationId and parentId in VariationSwitcherFooter

* Remove ProductPageSkeleton

* Include productId in determination of whether editor is loading

* Handle variation loading

* Fix rebase merge conflict mistakes

* Fix layout margins

* Show welcome tour and feedback bar after editor has loaded

* Changelogs

* Make loading context experimental
2024-02-14 09:57:17 -05:00
Bart Kalisz 2432b3b22e
[E2E] Update the blocks E2E setup guide (#44468)
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2024-02-14 16:00:52 +02:00
nigeljamesstevenson fd24ff80e0
Delete plugins/woocommerce/changelog/kevinbates-patch-1-1
File removed as part of actioning CFE pf59Ax-L1-p2
2024-02-14 13:36:42 +00:00
Alba Rincón bf938b0bd3
[CYS] Update `Hero product chessboard` pattern (#44553)
* Reduce the `woocommerce-customize-store-banner-content` width to better fit the copy

* Add changelog

* Remove the image placeholder and improve margins

* Add changelog
2024-02-14 14:28:40 +01:00
Ilyas Foo c0804827a4
Improve tasklist performance, add prop to track (#44442)
* Improve tasklist performance, add prop to track

* Changelog

* Lint
2024-02-14 21:17:08 +08:00
Ilyas Foo 8ba2942099
Fix type handling and default value for remote API transformers (#44418)
* Add default value check and parameter, change transformer behaviour around defaults and types, update and add tests

* Changelog
2024-02-14 21:16:39 +08:00
Alba Rincón e5e641180b
Update the `Product gallery` pattern title (#44604)
* Update the product gallery title

* Add changlog
2024-02-14 13:55:33 +01:00
github-actions[bot] e00f49a0b1
Delete changelog files based on PR 44526 (#44608)
Delete changelog files for 44526

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-14 13:19:22 +01:00
github-actions[bot] d12cc1a770
Delete changelog files based on PR 44318 (#44606)
Delete changelog files for 44318

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-14 11:46:04 +00:00
Alba Rincón 0e1239867a
[CYS] Reduce the width of the "Design your own" text box on the Intro screen (#44546)
* Reduce the `woocommerce-customize-store-banner-content` width to better fit the copy

* Add changelog

* Increase the width to fit the sentence in one line
2024-02-14 11:44:41 +01:00
Justin Palmer 754779e00e
Simplify Customer history calculation (#44318)
* Only show customer history box if WooCommerce Analytics are enabled

* Use requests to /reports/customers endpoint for customer history data

* Don't reinvent the wheel - use customer analytics data for Cust. Hist.

* Remove Customer Order Count from tracks data

* Simplify the customer history process

* Omit Customer history content when adding a new order in wp-admin

* Early return to reduce complexity

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

* Simplify matching customers

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

* Remove unnecessary method

* Use Customers Query directly to get customer history data

* Template version bump

* Move the customers query to CustomerHistory

* Only show customer history box if WooCommerce Analytics are enabled

* Use requests to /reports/customers endpoint for customer history data

* Don't reinvent the wheel - use customer analytics data for Cust. Hist.

* Remove Customer Order Count from tracks data

* Simplify the customer history process

* Style and legibility fixes

* Template version bump

* Add changelog

* Omit Customer history content when adding a new order in wp-admin

* Early return to reduce complexity

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

* Simplify matching customers

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

* Remove unnecessary method

* Use Customers Query directly to get customer history data

* Template version bump

* Move the customers query to CustomerHistory

* Match default params

* Simplify Customer Query params (cache key match with API is much harder)

---------

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
2024-02-14 11:38:10 +01:00
Albert Juhé Lluveras 13ded5be76
Minor typo and text styling fixes (#44583)
* Fix typos in PHP comments

* Fix styling of tests/README.md

* Other linting fixes

* Add changelog file
2024-02-14 11:13:28 +01:00
Luigi Teschio cb1ae99a77
Core - CYS: fix fonts not loaded on the font picker iframes (#44586)
* Core - CYS: fix fonts not loaded on the font picker iframes

* add changelog

* fix lint error
2024-02-14 10:30:18 +01:00
Alba Rincón 0f198da833
[CYS] Update "Start customizing your store" task description on Core (#44584)
* Update customized store task description on Core

* Add changelog
2024-02-14 09:08:16 +01:00
Alba Rincón da8fee41aa
[CYS] Update the "Change your homepage" description on Core (#44579)
* Update the "Change your homepage" description on Core

* Add changelog
2024-02-14 09:07:55 +01:00
Corey McKrill b2d9d6f118
Logging: Add filter to modify the list of expired logs to be deleted (#44380)
* Logging: Add filter to modify the list of expired logs to be deleted

This provides a way for extensions to ensure that some log files are
retained for a different time period than the normal
retention period setting.

* phpcs cleanup

* Add changelog file

* Add note to settings view when hook has filter on it

Also remove the note about retention days from the log entry that's
generated when expired log files are deleted
2024-02-13 12:42:38 -08:00
Matt Sherman a619aba5ee
Product Editor: load translations (#44520)
* Clarify when the custom message is used in useConfirmUnsavedChanges

* Changelog

* Load translations for wc-navigation and wc-product-editor scripts

* Changelog
2024-02-13 15:38:04 -05:00
Mike Jolley 51a9da9f2c
[Experiment] Additional field extensible sanitisation and validation handling (#44463)
* Fix field saving in account area

* Check for error notices in core form handler

* Tidy up additional field saving in api

* sanitize_additional_fields does not expect request

* Validate fields with extra context

* Revert "Tidy up additional field saving in api"

This reverts commit 872c8f4afb.

* Tidy update_customer_from_request

* validate_field docs

* Validation and sanitization hooks

* Address schema validates fields and address location

* Validate locations

* Frontend validation

* Remove empty error response

* Document account details hook

* field_key

* Improve validation routine

* Changelog

* Swap key and value in woocommerce_blocks_validate_additional_field hook

* woocommerce_blocks_validate_location_X_fields

* Validation and sanitization callbacks

* Update try catch blocks
2024-02-13 19:40:55 +01:00
Mike Jolley cea1c10122
Fix coupon codes containing apostrophes (#40998)
* Use wp_kses_post to sanitize coupon codes

* Fix notice (php 8)

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

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

* Remove duplicate changelog entry

* Try alternative wp_kses function

* Account for unfiltered_html

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2024-02-13 17:01:49 +00:00
Alba Rincón a48e2111b8
[CYS] Add title to the "Product Gallery" pattern (#44556)
* Add title to the "Product Gallery" pattern

* Add changelog
2024-02-13 14:40:49 +01:00
Luigi Teschio 69728b70e9
CYS - Core: catch error when font installation fails (#44559)
* CYS - Core: catch error when font installation fails

* add changelog

* reduce the requests number
2024-02-13 13:15:52 +00:00
Luigi Teschio a2d35b0563
CYS - Core: install fonts only when the tracking is enabled (#44558)
* CYS - Core: install fonts only when the tracking is enabled

* add a parameter to reduce the response payload

* add changelog
2024-02-13 14:03:06 +01:00
Chris Lilitsas 8d5c0dae83
Ensure proper handling of product-related taxonomies in filtering logic (#44230)
* Fix product-related whitelisting in Product Query and Collection blocks

* Fix Product Query Utility

* Remove store-api related fix

* Changelog
2024-02-13 13:59:02 +02:00
Adrian Moldovan e863c02551
[e2e tests] Add tests for managing product images in block editor (#44470) 2024-02-13 01:20:48 +02:00
Karol Manijak 2750e79224
Getting the Product Collection location/context (#43997)
* Early implementation of getting the Product Collection location/context

* Solve the problem of async fetch in the hook

* Improve typing

* Import core data store instead of hardcoding store name

* Recognise Product Category and Product Tag

* Remove attr property from archive location data

* Unify states naming

* Add TODO entry

* Display the info about the location of Product Collection

* Improve the typing

* Recognise if Product Collection is nested in Single Product block

* Improve cases descriptions and add some defaults to potentially undefined values

* Change the taxonomies sourceData

* Recognise Mini Cart as Cart context

* Recognise attribute as archive contect but no taxonomy

* Refactor the function into single useEffect and clean it up

* Fix typo

* Remove unnecessary import

* Stop rendering the output in Editor (it was for demo purposes)

* Pass location data to Product Template query in Editor

* Replace templateSlugs literal strings with object reference

* Rename parseResponse function to more specific name getIdFromResponse

* Add dpeendency array to useEffect

* Refactor templates detection

* Use full taxonomy names instead of shortcuts

* Write down scenarios to test

* Working scenario

* Change the verification way for more robust

* Add more robust methods to include Single Product block

* Add test Product Collection in Single Product block in a Single Product Template

* Imprvoe the order of veryfing the requests

* Fix linter issues. Although that makes code less readable

* Improve the useGetLocation typing so it's more generic

* Rework the E2E tests regarding location of Product Collection and limit their number

* Bring back necessary eslint-disable

* Remove unused imports

* Uncomment line required for other tests

* Add changelog

* Rename constant from BLOCK_NAME to BLOCK_SLUG as it's a slug

* Add a BLOCK_NAME constant and replace the literal block name usages in E2E tests

* Fix post merge issues

* Fix test after merge

* Adjust the tests to kick off waiting for request before action that triggers them
2024-02-12 20:59:40 +01:00
Karol Manijak cc0d7368e9
Add missing Beta label to Product Filters E2E tests (#44564)
* Add missing Beta label to Product Filters E2E tests

* Add changelog
2024-02-12 20:26:19 +01:00
Néstor Soriano 60cc3df264
Fix for the dependency injection container resolution by tag (#44496)
* Fix for the DI container resolution by tag.

This fixes an issue that arises when using service providers inheriting
from AbstractInterfaceServiceProvider: if one of these providers
registers classes both by name and by tag, and one of its registered
classes is requested with 'get' by name before a list of classes is
requested by tag, then that service provider gets locked as the only one
providing that tag, and the others get ignored. This is due to the fact
that container definitions are created "on the fly" as needed and the
base 'get' method won't try to register additional providers if the
requested tag is already provided by at least one of the already
existing definitions.

* Add changelog file

* Add a unit test for the fix
2024-02-12 10:21:51 -08:00
Luigi Teschio 79ff29138c
CYS - Core: fix fonts not loaded after the setup (#44550)
* CYS - Core: fix fonts not loaded after the setup

* add changelog
2024-02-12 18:33:19 +01:00
Luigi Teschio 3919b8361d
CYS - Core: Add async font installation (#44473)
* CYS - Core: Ensure that the bodoni font is loaded

* CYS-Core: install fonts via async job

* ensure that the font are installed only when the Font Library is installed

* improve documentation and validation

* add changelog

* remove unused class

* remove not necessary changes

* improve documentation

* improving naming

* improve documentation

* fix PHP linter

* fix phpdoc comment
2024-02-12 16:23:21 +00:00
Luigi Teschio 738a57fe98
Core - CYS: fix inter font not applied (#44544)
* Core - CYS: fix inter font not applied

* remove logs

* add changelog
2024-02-12 14:09:04 +00:00
Sam Seay 143388dae8
[Experimental] Add (Beta) suffix to block name of new filter blocks (#44487) 2024-02-12 11:15:49 +00:00
Manish Menaria 4ae60196ea
Product Collection: Make attributes available in rest_product_query hook (#44150)
* Make attributes available in rest_product_query hook

This commit introduces the 'includeInQueryContext' attribute to the 'woocommerce/product-collection' block and updates the 'woocommerce/product-template' block to consume this new attribute.

Key Changes:
1. `woocommerce/product-collection` Block:
   - A new attribute 'includeInQueryContext' is added in `block.json`. This attribute is designed to hold a list of attribute names relevant for the query context.
   - The 'includeInQueryContext' attribute is included in the `providesContext` field to ensure its availability to child blocks.
   - In `constants.ts`, default values for 'includeInQueryContext' are defined, specifying 'collection' and 'id' as initial attributes.
   - The `types.ts` file is updated with a comment explaining the purpose of 'includeInQueryContext'.

2. `woocommerce/product-template` Block:
   - Modified `block.json` to utilize the 'includeInQueryContext' context provided by the parent `woocommerce/product-collection` block.
   - The `edit.tsx` file is updated to handle the new context. It uses a newly added utility function `useProductCollectionBlockAttributes` from `utils.tsx` to access parent block attributes.
   - The `utils.tsx` file is introduced, containing the `useProductCollectionBlockAttributes` hook. This hook is responsible for finding the parent 'woocommerce/product-collection' block and returning its attributes.
   - Within `edit.tsx`, logic is added to create a query context object based on the attributes specified in 'includeInQueryContext', enhancing the block's ability to dynamically adapt to changes.

* Remove commented code

* Rename query context attribute and optimize parent block detection

This commit introduces two significant changes aimed at improving code readability and efficiency.

1. **Renaming of Query Context Attribute:**
   - The attribute `includeInQueryContext` has been renamed to `queryContextIncludes` across various files, including block JSON configurations and TypeScript definitions. This change makes the attribute's purpose more intuitive, indicating it specifies which attributes to include in the query context.

2. **Optimized Parent Block Detection:**
   - Replaced the use of `getBlockParents` with `getBlockParentsByBlockName` in utility functions to find the closest Product Collection block. This optimization allows for a more direct and efficient way to identify the relevant parent block by specifying the block name, reducing unnecessary iterations and improving code performance.

* Streamline query context construction in product template

Key Changes:
- **Introduction of `useProductCollectionQueryContext` Hook:** This new hook takes the `clientId` and `queryContextIncludes` as inputs and returns a query context object. It encapsulates the logic for fetching parent product collection block attributes and constructing the query context accordingly. This abstraction simplifies the edit component's logic, focusing on the essentials and improving code readability.
- **Optimization of Parent Block Detection:** The hook uses `getBlockParentsByBlockName` to accurately and efficiently find the closest parent `Product Collection` block, minimizing the overhead previously associated with traversing the block hierarchy.

* Always include `collection` and `id` in query context

* Minor refactor

* Enhance query context handling for more maintainable code

- Introduced `DEFAULT_QUERY_CONTEXT_ATTRIBUTES` in `edit.tsx` to maintain a clear list of default query context attributes.
- Modified `ProductTemplateEdit` to automatically include these default attributes in `queryContextIncludes`, ensuring they are always part of the query context without manual initialization.
- Simplified `useProductCollectionQueryContext` in `utils.tsx` by removing static initialization of 'collection' and 'id', relying instead on the dynamic addition of necessary attributes from `queryContextIncludes`.

This refactor enhances the maintainability and clarity of the code, ensuring a solid foundation for future enhancements and features.

* Add E2E tests for Product Collection query context

- Added a new test suite 'Query Context in Editor' to validate the correctness of query context parameters when the Product Collection block is used. This suite ensures that:
  - For the 'Product Catalog', only the ID is sent in the query context, confirming that collection-specific parameters are excluded when not relevant.
  - For collections such as 'On Sale', the collection name is correctly passed in the query context, validating that the block dynamically adjusts query parameters based on its settings.

- Introduced a new utility method `setupAndFetchQueryContextURL` in `product-collection.page.ts`. This method automates the setup of a post with the Product Collection block and fetches the URL with query context parameters, facilitating the validation of query context handling.

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

* Fix edge case when `queryContextIncludes` is not defined

- Initializing `queryContextIncludes` with a default empty array directly in the destructuring assignment of the component's props. This approach ensures that `queryContextIncludes` is always an array, simplifying downstream logic.
- Creating a new constant `queryContextIncludesWithDefaults` to hold the combination of `queryContextIncludes` and `DEFAULT_QUERY_CONTEXT_ATTRIBUTES`. This step avoids directly mutating the `queryContextIncludes` prop, aligning with best practices for functional purity and making the code easier to understand and debug.
- Updating the `useProductCollectionQueryContext` hook call to use `queryContextIncludesWithDefaults`. This ensures that the default query context attributes are consistently included without altering the original prop.

These adjustments not only enhance the code's maintainability but also ensure more predictable behavior by avoiding side effects related to parameter mutation.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-12 14:15:24 +05:30
Karol Manijak 96f3e3c98b
Remove global pageObject action from Product Collection tests and add it as before each for specific tests (#44407)
* Remove global pageObject action from Product Collection tests and add it as before all for specific tests

* Replace beforeAll with beforeEach

* Adjust the beforeEach usage

* Add changelog

* Refresh locators when adding Single Product block as it's not initialised in pageObject

* Change method dedicated to templates to one dedicated to posts
2024-02-12 09:44:02 +01:00
Alba Rincón 7f8b1e201c
[CYS] Ensure the font family for buttons match the one assigned for the content, not the title (#44458)
* Fix select font for buttons

* Add changelog
2024-02-12 09:25:36 +01:00
github-actions[bot] cd43dd1116
Delete changelog files based on PR 44494 (#44534)
Delete changelog files for 44494

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-12 10:11:14 +08:00
kevinbates abc6993678
Update woocommerce.php (#44527)
* Update woocommerce.php

* Add changelog file
2024-02-09 17:27:18 -08:00
kevinbates 578f711730
Update readme.txt (#44526)
* Update readme.txt

Removing Woo Express section
Correcting eCommerce -> ecommerce

* Add changelog file
2024-02-09 17:26:57 -08:00
Fernando Marichal 30f66aa94f
[Product editor block]: Rename the Add button to Publish (#44461)
* Rename Publish button

* Fix e2e tests

* Add changelog

* Add WC changelog

* Modify "Product published" copy
2024-02-09 15:19:35 -03:00
Albert Juhé Lluveras 2f5eaa1f4c
BlockTemplateUtils cleanup (#44256)
* Remove 'get_block_template' backwards compatibility check

* Add back get_block_template as a deprecated function

* Deprecate BlockTemplateUtils::filter_block_templates_by_feature_flag()

* Replace 'default template' with 'fallback template'

* Only load BlockTemplatesController in block themes

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

* Remove unnecessary WP version comparison

* Revert "Only load BlockTemplatesController in block themes"

This reverts commit 8e1ed347d61b7ae5e8b8b96fa73b410565570f01.

* Remove deprecated functions, as they are marked as internal

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-09 18:50:08 +01:00
nigeljamesstevenson c8f8299f02
Remove WooCommerce Blocks entry from the WooCommerce status page (#44412)
* Remove WooCommerce Blocks entry from the WooCommerce status page

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-09 17:44:14 +00:00
Alexandre Lara 7ec1b7f3a1
Product Gallery block: Add logic to trap keyboard focus within the Product Gallery Pop-Up (#44439)
* Add logic to trap keyboard focus inside the Product Gallery Pop-Up

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

* Remove unnecessary condition

* Fix issue with keyboard focus trap not working within the Pop-Up

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-09 13:43:51 -03:00
Bartosz Budzanowski 8eea9f77ff
Update marketplace suggestion wording. (#44494)
* Update description wording for Marketplace Suggestions, Show Suggestions setting.

* Add changelog file.

* Update tests.
2024-02-09 15:37:39 +00:00
Hicham Boushaba a903aa8633
Revert the override of the Jetpack data endpoint (#44390)
Revert PR #38987
2024-02-09 07:22:51 -08:00
Álvaro Thomas accbf30da5
[e2e] Can Edit and Delete Product Review (#44411)
* Update product-review

Add test to edit a product review and another test to delete it

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

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

* Added test data in fixture and changelog extra line

Change test data use from constants at the top to test data created in a fixture for each test. Also, added extra line to the changelog file.

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

* Update changelog

Fixed mixed lines on previous commit.

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

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Remove edited timestamp

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Update hover action to review id.

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Change Quick Edit button to reach review identifier

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Replace updated review check to single line assert

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Hover to edit on review identifier

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Point to trash a review to its identifier.

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js

Point to trash a review to its identifier.

Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>

* Added Review Edit test

Added Review Edit test apart from Quick Edit test. Included assertions to verify that the review has been edited and can be seen both in the reviews list and the shop's page.

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
2024-02-09 16:12:16 +01:00
Alexandre Lara 74c6fcad2d
Product Gallery block > Pop-Up: Fix overlay sizing issue (#44479)
* Fix overlay issue when Product Gallery Pop-Up is open

* Fix stylelint error

* Add changelog

* Fix e2e tests for Product Gallery Pop-Up
2024-02-09 11:38:41 -03:00
Luigi Teschio b91762be69
CYS - Core: Ensure that the Bodoni font is loaded (#44464)
* CYS - Core: Ensure that the bodoni font is loaded

* add changelog
2024-02-09 15:13:38 +01:00
Corey McKrill 1af675e502
Logging: Add check for file key when parsing backtrace (#44486)
Ensures that no undefined index warnings are thrown while parsing
the backtrace to determine a log's source.

Fixes #44475
2024-02-09 18:06:50 +05:30
Albert Juhé Lluveras 1905534fb8
Improve password-protected Single Product block template to verify correct template is displayed after correct password is introduced (#44452)
* Improve password-protected Single Product block template to verify correct template is displayed after correct password is introduced

* Add changelog entry
2024-02-09 10:53:27 +01:00
Karol Manijak db082421ad
Product Collection: fix assymmetrical padding in Editor (#44403)
* Import editor.scss styles of Product Templayte and increase specificity

* Add changelog

* Add ts ignore

* Revert changing eslint-disable as it conficts with another rule creating more errors
2024-02-09 09:42:29 +01:00
Albert Juhé Lluveras f65a7e45a5
Fix e2e tests due to duplicate rows when clearing customizations (#44454)
* Fix e2e tests due to duplicate rows when clearing customizations

* Add changelog entry
2024-02-08 23:15:11 +01:00
Christopher Allford 8b4efc9c03
Added Missing Blocks Linting Change Trigger (#44233)
* Added Missing LInting Changes

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-08 13:48:03 -08:00
Fernando Marichal a89d2572f0
Product Editor: Subsection block (#43725)
* Add SubsectionInterface

* Replace use of add_section inside sections

* Add Subsection class

* Add subsection block component

* Add subsection-description block

* Update deprecation note

* Add changelogs

* Fix lint

* Add get_subsection_by_id

* Add tests

* Fix ProductFormTemplate lint

* Fix CustomProductFormTemplateTest lint

* fix readme

* Fix lint

* Replace add_section with add_subsection

* Fix readme

* Fix markdown file multiple headings duplication
2024-02-08 15:44:49 -03:00
Vedanshu Jain 4daa3f31f1
Build path info directly instead of loading REST API. (#44080)
* Build path directly instead of directly loading REST API.

* Add changelog.

* Make shapes of routes array consistent with whats returned in API.

* Add doc comment.

* Fix missing slash typo

* Make linter happy.

* Add doc block for filter.

* Short hydration logic to use controller directly.

* Rename _get_path to get_path_regex for accuracy and lint.

* Restore nonce check bypass for internal hydration requests.

* Restore cache notice check to allow controllers to start from clean slate.

* Update since tag.
2024-02-08 16:36:21 +00:00
Luigi Teschio abdf0c3f8a
CYS - Core: ensure that the the default font pair and color pair are selected (#44309)
* CYS - Core: ensure that the default font and color are selected

* remove console.log

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

* add comment

* add changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-08 15:08:38 +00:00
Mike Jolley 509ac4ffd7
Fix deprecation notices for legacy order item keys. (#44362)
* Declare legacy variables to prevent PHP notices

* changelog
2024-02-08 12:51:34 +00:00
Alba Rincón 5af5f9b235
[CYS on Core] Ensure the size of fonts is not affected by the font family changes (#44424)
* Fix fonts affecting the size of each other

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

* Remove log

* Removae old typography settings before applying new ones

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-08 13:38:20 +01:00
Jonathan Lane d15bd09c39
Update daily workflow to sharding (#44330)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-08 11:45:03 +02:00
Albert Juhé Lluveras e0f4ed8509
Add automated tests to verify specific product block templates are rendered (#44363)
* Add automated tests to verify specific product templates are rendered

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-08 10:18:33 +01:00
Chris Lilitsas 60c17eb126
Include the selected collection in the product collection block context (#43247)
* Include collection attribute in the block context

* add 'collection' to useContext for Product Template

* Changelog

---------

Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
2024-02-08 10:55:05 +02:00
Adrian Moldovan 035eb2dade
[e2e tests] Add new tests for up-sells and cross-sells (#44154)
* Add tests skeleton

* Add up-sell test

* Add changelog

* Add test for cross-sells

* Renamed spec file

* Add tests for remove up-sells and remove cross-sells

* Update the viewport

* Extract the update product action into a function

* Fix the expect for up-sells

* Add a poll mechanism when checking that up-sells were removed.

* * Use backspace to remove linked items

* Add a check for up-sells before removing them to prevent a false negative result

* Uncomment cleanup code

* Revert viewport height
2024-02-07 14:28:56 -08:00
Alexandre Lara f7b92e8b6b
Product Gallery block: Focus should return to trigger element when closing pop-up (#44414)
* Return focus to trigger element when closing pop-up

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

* Fix php cs error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-07 17:18:41 -03:00
Fernando Marichal 19a78cd176
Add pre-publish sidebar (#44331)
* Add prepublish sidebar

* Add openPrepublishSidebar to store

* Add changelog

* Rename modal and small refactor

* Add feature flag

* Move prepublish sidebar

* change import path

* Rename classes

* Fix width

* Fix styles

* Rename prepublish panel

* Rename div class

* Remove onSuccess from PublishButton

* Fix panel position

* Use actions instead of sidebar

* Add wc-admin changelog

* Move changelog

* Fix lint
2024-02-07 15:30:33 -03:00
Adrian Moldovan 2628a52385
[e2e tests] New tests for product edit in block editor (#44272)
* Add new test with a product name edit

* Add changelog

* Update price and description

* Check product summary update

* Remove unnecessary interpolation
2024-02-07 09:46:19 -04:00
Néstor Soriano f730e4edb7
Simplify the applied coupon data that gets stored as line item meta (#44113)
Previously, a 'coupon_data' line item meta entru was being stored
when a coupon was applied to an order. Now a much shorter
'coupon_reapply_info' entry is stored instead, containing just
coupon id, code, discount type, amount, and whether the coupon
grants free shipping.
2024-02-07 12:23:23 +01:00
Veljko V 28bfa5465f
Improve existing E2E shopper product description & images test (#44365)
* Improve existing simple product test

* Add missing changelog
2024-02-07 11:33:18 +01:00
Karol Manijak 67dda736d4
Improve flaky Product Collection E2E test when nested in Single Product block (#44404)
* Improve Product Collection test when nested in Single Product block, previous version was flakyu

* Add changelog

* Move the priovate method below the comment starting private methods

* Remove unnecessary wait
2024-02-07 07:53:48 +01:00
Alexandre Lara 0654fa1997
Product Gallery block: Announce Pop-Up Opening with Voiceovers (#44332)
* Add aria attributes to product gallery pop-up

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

* Fix Interactivity API store import

* Announce Dialog opening with VoiceOver

* fix php cs lint error

* Remove unnecessary data-wc-watch directive from Product Gallery block

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-06 14:28:33 -03:00
Mike Jolley 45923dc5f3
[Experiment] Handle customer session meta data (#44181)
* Update data store to bail if there is no customer ID

* Use WC_Data meta functions

* Save and load meta in session class

* Customer session handling

* CheckoutFields - only persist customer data to accounts

* Inline docs for session handling

* Handle meta data in session

* Document wc->customer inline

* Store only additional fields in session

* Prevent notice in WC_Data

* Organise keys and remove duplicates

* Correctly save fields to account

* Fix notices on checkout

* Remove unnecessary diff

* Changelog

* Go back to previous way to loading session handler to avoid 3rd party breakage

* No need to track is_session

* white space

* Remove changes to customer data store

* Update class-wc-customer-data-store.php

* Populate client from additional values from api

* Additional fields in session

* Add woocommerce_customer_allowed_session_meta_keys hook

* Put back legacy keys for tests

* Remove key fixes

* Don't save additional fields to customer object

* Remove duplicate init call

* Only persist contact fields
2024-02-06 15:16:00 +00:00
Alba Rincón fa9d68eed6
[CYS] Fix - Add back parent machine to the `designWithNoAiStateMachineDefinition` child machine option (#44397)
* Add back parent machine to the designWithoutAi child machine option

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-06 14:28:22 +01:00
github-actions[bot] e373a69209
Delete changelog files based on PR 43834 (#44399)
Delete changelog files for 43834

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-06 20:33:57 +08:00
Albert Juhé Lluveras fa9d42be4f
Add template title and description on 'get_block_template' hook (#44254)
* Simplify add template title and description

* Add template title and description on 'get_block_template' hook. Fixes #42221

* Add tests

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

* Fix test in template parts

* Use BlockTemplateUtils::template_has_title when possible

* Add test also when saving the default WooCommerce template

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-06 13:33:38 +01:00
Alexandre Lara b4928ed46a
Product Gallery block: Enable keyboard navigation for thumbnails (#44236)
* Add ability to select thumbnails using keyboard

* Add ability to open the Product Gallery pop up using the keyboard

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

* Fix outline border not showing on Thumbnails on some browsers

* Prevent firefox browser from focusing on UL tag of the Large Image block

* Enable usage of 'Space' and 'NumpadEnter' keys to navigate between the thumbnails

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-06 08:55:03 -03:00
github-actions[bot] a0980a1178
Delete changelog files based on PR 44359 (#44396)
Delete changelog files for 44359

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-06 19:52:11 +08:00
Mike Jolley 35630bb52b
Update combobox validation message to be more generic (#44229)
* Update combobox validation message

* Changelog
2024-02-06 11:51:09 +00:00
Luigi Teschio 159d47434b
[CYS - Core] Before installing the fonts, ensure that the font library is available (#44358)
* Avoid duplicating the `/onboarding/themes/recommended` request

* Use `fetchActiveThemeHasMods` in the `fetchIntroData` function

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

* WIP

* WIP

* WIP

* WIP

* Move the `activeThemeHasMods` to outside the `intro` key, since it's used also in other places

Refactor, add comments and cleanup

* Remove unnecessary log

* Set the `activeThemeHasMods` on the parent window to true after the design step to avoid having to fetch it again

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

* Remove unused import

* Add comment and ref to the new issue

* CYS - Core: fix flow when Font Library is not installed

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

* improve naming

---------

Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-02-06 11:28:26 +01:00
Sam Seay 5f00e2f87a
[Experimental] Add e2e tests for the rating filter block (#44192) 2024-02-06 23:22:21 +13:00
Christopher Allford a90b044e73
Updated PNPM Lock File (#44382)
* Updated Lock File

* Add changefile(s) from automation for the following project(s): woo-ai

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-06 09:33:58 +00:00
Alexandre Lara 560f0e933d
Product Gallery block: Prevent block error when a user inputs a decimal number for the Number of Thumbnails setting (#44282)
* fix error on decimal input for the Number of Thumbnails setting

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-05 15:17:35 -03:00
github-actions[bot] b764167f11
Delete changelog files based on PR 44283 (#44368)
Delete changelog files for 44283

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-06 00:44:36 +08:00
Mike Jolley fa01e1b541
[Experimental] Add option to `show_in_order_confirmation` for additional checkout fields (#44314)
* Improve readability of register_checkout_field

* show_in_order_confirmation

* changelog
2024-02-05 16:19:34 +00:00
Justin Palmer cd7f429bc1
Remove Customer Order Count from Order Attribution checkout data (#44359)
* Remove Customer Order Count from Checkout Tracks data
2024-02-05 16:06:49 +01:00
Alba Rincón a943de24fa
[CYS] Avoid duplicating requests during the CYS flow (#44179)
* Avoid duplicating the `/onboarding/themes/recommended` request

* Use `fetchActiveThemeHasMods` in the `fetchIntroData` function

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

* WIP

* WIP

* WIP

* WIP

* Move the `activeThemeHasMods` to outside the `intro` key, since it's used also in other places

Refactor, add comments and cleanup

* Remove unnecessary log

* Set the `activeThemeHasMods` on the parent window to true after the design step to avoid having to fetch it again

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

* Remove unused import

* Add comment and ref to the new issue

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
2024-02-05 12:36:33 +01:00
Mike Jolley d858d22930
[Experimental] Surface custom fields in My Account pages (#43823)
* Get default attributes on front end

* Remove console log

* Show notice about 0 registered fields in editor

* Do not show block in editor if no fields are registered

* Wrapper block

* Update webpack config

* Wrapper block type definition

* Separate fields from the hook block

* Hide when no custom fields exist

* Address and contact fields

* Shared form fields in settings

* Revert render_content to original

* Allow definition of unchecked value which includes a hidden field

* Move woocommerce_edit_account_form above password section, which should be last.

* My Account hooks

* Move account handling to service class

* Show fields in order details

* Remove unused prop

* remove comment

* Hook docblocks

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

* Add note about nonce verification

* wp_kses_post for label

* fix nonce linting

* Add docblock to hook

* Bump template version

* Persist contact fields to customer

* Change action name

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

* Changelog

* Margin fix on order confirmation for older core themes

* Bump version tags

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-02-05 10:59:17 +00:00
Thomas Roberts 877a16096c
Update notice templates display logic to show updated templates in block themes only (#44283)
* WIP

* Add e2e tests for regular and custom templates

* Allow theme *.zip files for testing purposes

* Bump template versions

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

* Update comments in bash script

* Remove child themes - they will be installed from the zip

* Fix lint error re spacing

* Bump template versions

* Update PHP unit tests for classic style notices

* Revert "Remove child themes - they will be installed from the zip"

This reverts commit 98b1036616.

* Remove classic cart check in test

* Revert "Add e2e tests for regular and custom templates"

This reverts commit ef531854f9.

* Revert test-related changes

* Remove report

* Prevent phpcs warning for not escaped output

It is escaped in the wc_get_notice_data_attr function

* Revert notice changes to core E2E tests

* Update shopper add to cart e2e test to use correct notice class

* Update checkout block E2E test to use correct notice class

* Fix typo

* Update test to check for correct notice classes

* Update notice comment

* Re-apply block template overrides

* Consistent notice check with other templates

---------

Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
2024-02-05 11:50:15 +01:00
Albert Juhé Lluveras 097bd5c8f5
Add e2e tests for password-protected Single Product block template (#44304)
* Add e2e tests for password-protected Single Product block template

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

* Fix tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-05 10:47:18 +01:00
Sam Seay 497d4b8a25
Remove class scoping and just use text to find elements (#44289) 2024-02-05 14:27:54 +13:00
Hsing-yu Flowers 24ea7a1848
Move the guest should verify email logic to the order class (#43834)
* Move the guest should verify email logic to the order class

* Refactor for readability and remove redundant code

* Use billing email variable

* Remove white space

* Rename and move email_is_valid to users utils

* Use global WC_DateTime and WC_Session classes

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-02 18:03:07 -08:00
Damián Suárez f1236696d9
[Product Block Editor]: use Textarea block in the variation description field (#44151)
* use text-area for variation desctiption field

* changelog

* tweak // Translators string

* use var to define textarea border color

* remove optional from description label
2024-02-02 15:50:36 -04:00
Jonathan Lane f93dcc292c
Misc e2e test fixes (#44325)
* Change local workers to 1

* Add helpers for adding shipping

* Add shipping zone before order

* Fix tax assertion

* Fix assertion

* Tightened up locators

* Dismiss tour if visible

* Back to function

* Update tax label

* Enable shipping

* Update locator

* Changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-02-02 10:17:32 -08:00
Thomas Roberts 8ac959f4e7
[Experimental] Prevent string-based sanitization on non-string field types in additional checkout fields (#43999)
Co-authored-by: github-actions <github-actions@github.com>
2024-02-02 10:16:02 -08:00
Luigi Teschio 5937b3dec1
CYS - Core: Font Library: disable the installation of the fonts (#44311)
* avoid crash when Gutenberg is not installed

* add issue link

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-02 16:34:33 +01:00
Álvaro Thomas 5fd4176ad0
[e2e tests] Check email for completed order (#44186)
* Add completed order email test

Add test structure to verify completed order email arrival and content

* Verify Email JSON Content

Parse email content in JSON format

* Record email content in JSON

Record email content in JSON

* Update emails completed order checks

Added checks to verify the content of completed order's emails

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

* Update email content const & remove duplicated test

Updated with a new const to record email content const and removed duplicated assertion.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-02 16:13:16 +01:00
Maikel Perez eaa791f7da
Hide Downloads section under Toggle for product variations (#44152)
* Create DownloadableProductTrait for common downloadable blocks creation

* Use DownloadableProductTrait in SimpleProductTemplate

* Use DownloadableProductTrait in ProductVariationTemplate

* Remeber downloadable files in product variations

* Add changelog file

* Fix php linter error

* Unlink downloads and downloadable product props so they can be managed separately

* Remove invalid margin bottom from the uploader label

* Add changelog file
2024-02-02 10:04:42 -03:00
github-actions[bot] f383284ba6
Delete changelog files based on PR 44207 (#44302)
Delete changelog files for 44207

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-02 12:31:53 +01:00
github-actions[bot] 11daa0d5ee
Delete changelog files based on PR 44178 (#44300)
Delete changelog files for 44178

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-02 11:45:54 +01:00
github-actions[bot] d7a294cb32
Delete changelog files based on PR 44174 (#44293)
Delete changelog files for 44174

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-02-02 09:58:46 +01:00
Jorge A. Torres ececdf0c1b
Add background HPOS cleanup process (#43293)
* Make legacy data cleanup more performant

* Add legacy data cleanup processor

* Make legacy cleanup available in the UI

* Add some validation around data synchronizer / data cleanup settings

* Add some error handling

* Add changelog

* Make CI happy

* Improve option handling

* Add unit tests

* Partially revert “real time” cleanup

* Re-schedule cleanup on ‘shutdown’ if necessary

* Revert CSS changes for HPOS settings screen

* Revert JS changes for HPOS settings screen

* Allow tools to display a status text

* Move order cleanup to Tools

* PHPCS fixes

* Extend bail early protection to other batch processing functions

* Log and stop cleanup when a full batch fails

* Make PHPCS happy
2024-02-02 12:09:08 +05:30
Manish Menaria 1d8007b822
Product Collection: Return to top after page change (#43817)
* Initial working version

* Update scrolling behavior in product collection block frontend

This commit updates the scrolling behavior in the product collection block's frontend script.

Previously, the code focused on the first anchor or button within a product collection block. This approach was taken to maintain accessibility and ensure that the focused element was scrolled into view. However, this behavior has been changed to improve the user experience.

The updated code now directly scrolls to the first product in the collection. This is achieved by selecting the product using a new selector that targets the `.wc-block-product` class within the `.wc-block-product-template` of the specified `data-wc-navigation-id`. Once the product is selected, the `scrollIntoView` method is used with smooth behavior and start block alignment, offering a more visually appealing scroll effect.

This change enhances the user experience by smoothly directing attention to the beginning of the product collection, making it easier for users to browse products.

* Remove code related to animation

* Fix the issue related to pagination block rendering

- I have improved the code by breaking it into smaller functions
- Added unique `data-wc-key` to each anchor tag

* Enhance Product Collection Block with Interactive Prefetching

* Refine Prefetch Logic & other improvements

This commit further refines the prefetch logic and interactivity in the Product Collection block. It focuses on enhancing code clarity and improving the prefetch behavior based on user interactions.

Key changes include:
1. Renamed 'isPrefetchNextAndPreviousLink' to 'isPrefetchNextOrPreviousLink' in ProductCollectionStoreContext for better readability and accuracy.
2. Modified the scrollToFirstProductIfNotVisible function to accept a wcNavigationId as a parameter instead of a reference
3. Introduced checks for the existence of wcNavigationId in scrollToFirstProductIfNotVisible to prevent unnecessary executions.
4. Updated comments throughout frontend.tsx for enhanced clarity, explaining the prefetch logic and its triggers in detail.
5. Adjusted the logic in the navigate and prefetch functions to align with the new context structure and prefetch strategy.
6. In ProductCollection.php, updated data attributes to align with the revised prefetch strategy.
7. Refined the attribute setting in process_pagination_links function to correctly implement the updated interactivity and prefetch logic.

These changes aim to optimize the prefetch functionality, reduce unnecessary prefetching on initial page load, and ensure a smoother and more efficient navigation experience within the Product Collection block.

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

* Improve comments

* Use wp_json_encode for data-wc-interactive attribute

This commit updates the `ProductCollection` class to use `wp_json_encode` for setting the `data-wc-interactive` attribute value. Previously, the attribute value was hardcoded as a JSON string. Now, by utilizing `wp_json_encode`, we ensure the JSON encoding is handled correctly by WordPress standards, enhancing readability and maintainability of the code.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-02 12:07:29 +05:30
Sam Seay 6da45f6bed
[Experimental] Add e2e tests for the new active filter block (#44190) 2024-02-02 15:08:01 +13:00
Barry Hughes ded33b7049
Update JS Cookie library to v3.0.5. (#43686) 2024-02-01 11:36:12 -08:00
Luigi Teschio ae1503f588
CYS - AI flow: fix regression - no fonts visible (#44280)
* CYS - AI flow: fix regression - no fonts visible

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

* Trigger Build

* fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 18:44:28 +00:00
Luigi Teschio e0972ef6ea
[WIP] CYS - Core: add integration with the font library (#44004)
* CYS - Core: add integration with the font library

* install font only when necessary

* refactor logic

* add try catch

* renaming font

* refactor some code

* refactor some logic

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

* remove not used import

* avoid mutability

* improve performance

* update name variable

* fix naming

* fix endpoints after font collection rest controller improvements

* use promise.all into the map

* improve performance

* fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 17:16:12 +00:00
Karol Manijak 84f2de633d
Fix incorrect product data displayed in Product Collection in context of Single Product block (#44123)
* Initial approach to fix incorrect product data displayed in Product Collection in context of Single Product block

* Remove the BlockCOntextProvider

* Add Block context for title and summary

* Add changelog

* Improve typing

* Add E2E test with Product Collection inside Single Product block

* Improve insertBLock function description

* Make productPrices selector in Product Collectionmore specific

* Extract components props into a types
2024-02-01 17:55:38 +01:00
Maikel Perez 861cc7cc02
Add common options to the variations options empty state (#44001)
* Always show Variation options and Variations sections within the Variations tab

* Remove woocommerce/product-variations-fields block since it's not needed anymore

* Create ProductTShirt image for variation options empty state

* Add renderCustomEmptyState to the attribute control component to be able to set a not default empty state

* Render a custom empty state for variation options

* Adds defaultSearch prop to NewAttributeModal so it can be used to start searching right after the modal is shown

* Let the empty state adds an attribute that matches a given text

* Add changelog files

* Fix linter errors
2024-02-01 11:18:23 -03:00
Luigi Teschio 42a2d00cba
CYS - Core - Check the Font Library availability (#44206)
* Ensure that the Font Library is available

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

* fix iframe issue

* improve comment

* don't return any object

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 11:30:50 +00:00
Thomas Roberts 1130380f73
[Experimental] Allow Additional Information block to be moved but not removed (#44193)
Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 02:58:05 -08:00
Thomas Roberts 77d2dd9453
Make combobox suggestions have same border as main input (#44183)
Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 02:57:57 -08:00
Albert Juhé Lluveras d936e4afee
Merge Checkout Header and Mini-Cart template parts tests into parameterized test files (#44176)
* Rename block template customization test files

* Move Checkout Header template part tests to parameterized tests

* Make it so 'userText' in tests is different in each template, so prevent false positives

* Move Mini-Cart template part tests to parameterized tests

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

* Make sure there are products in cart before going to the Checkout template

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 11:43:33 +01:00
Vedanshu Jain 4c0f7605b3
Fix refund props not updating properly with HPOS (#44214) 2024-02-01 11:38:17 +01:00
Alfredo Sumaran 9bb7cd7b8b
Apply Rector suggestions for PHP 8.1 (#41482)
* Apply Rector suggestions

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

* Restore false positive

$missing_tables will always be an array

* Restore false positive.

Rector issue: AddDefaultValueForUndefinedVariableRector.

This time the early return is valid so there’s no need to move the $process_limit assignment to the top.

* Ask if $orders is an array

$orders is used as an array lines below. Add `is_array` just in case the “paginate” param is used which would change $orders to an object.

* Check if variable is array

Simplifies variable check given that they are used as an array lines below.

* Restore code as taxes is always an array

* Restore false positive

In the previous loop the $data variable is being built as an array of arrays. Then $value in this loop will allways be array.

* Restore false positive

get_children’s method. of a WC_Product instance will always return an array.

* Simplify variable check

Ask if varialbe is array since it only can be array or false.

* Restore false positive

WC_Blocks_Utils::get_blocks_from_page() will always return an array.

* Restore false positive

There’s a check asking if $existing_meta_data[ $meta_data->key ] is array.

* Restore false positive

$child_ids will always be an array.

* Restore false positives

WC_Product->get_visible_children() will always return an array.

* Restore false positives

WC_Product->get_children() will always return an array.

* Restore false positive

WC_Product->get_visible_children() will always return an array.

* Restore false positive

WC_Order->get_items() will always return an array.

* Restore false positive

The get_matching_rates private method will always return an array.

Updated the @return declaration to be an array instead of boolean.

* Remove unnecessary array type casting.

* Restore false positive

$this->get_children() will always return an array.

* Fix lint issues

* Remove unnecessary default assignment

* Remove unnecessary is_array check

* Remove unnecessary is_array check

* Remove unnecessary is_array check

* Change default value from null to false

* Remove unnecessary is_array check

* Update changelog entry

* Update changelog entry

* Update changelog entry

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

* Update changelog entry

* Use self for consistency

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-02-01 10:06:12 +00:00
Christopher Allford 7f556d07b2
Removed Unnecessary `@woocommerce/plugin-woocommerce` Asset Copy Caching (#44234) 2024-01-31 16:12:00 -08:00
Jonathan Lane 9c00c2676b
Improve flaky e2e tests (#44208)
* Fix flaky guest checkout tests

* Removed a couple of extra assertions (not needed)

* Enable payment gateway

* Add changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-31 10:08:11 -08:00
Veljko V 7c4dca8348
Rename and move test Cart & Checkout Tax Calculation out of isolation and update some locators to use getBy (#44115)
* Move test out of isolation and update it

* Add changelog file
2024-01-31 08:31:33 -08:00
Adrian Moldovan 62101246ca
[e2e tests] Add downloadable product test (#44112) 2024-01-31 17:51:14 +02:00
Karol Manijak a164c8afa9
Fix CI Lint errors (#44228)
* Fix linter issues

* Add changelog
2024-01-31 16:12:30 +01:00
Cem Ünalan f2b77b1ada
Marketplace: Fix the bug hiding connection warning (#44207)
* Marketplace: Fix the bug hiding connection hiding

Actually, this bug causes all modal state to be lost. But since we
check the connection only when the page loads, on a subsequent tries, we can 't show the connection warning.

* Marketplace: update documentation and typos

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-31 12:50:47 +03:00
Paulo Arromba 1e815751ab
Fix/31582 special characters in password on checkout page lead to not working account (#43777)
* Fix registration during checkout

* Added changelog.

* Moved changelog.

* Added correct spacing

* Move password slashing into WC_Checkout:get_posted_data()

* Lint fix
2024-01-31 09:36:58 +00:00
Niels Lange c704ae2cab
Migrate coupon- and shipping-related tests to Playwright (#44108)
* Migrate coupon- and shipping-related tests

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

* Fix prettier issue

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-31 01:23:09 -08:00
Jonathan Lane c96f68e88d
Adds tests to monitor number of JS files included in pages (#44046)
* Adds tests to monitor number of JS files included in pages

* Changelog

* Update file counts

* Changed assertion to LTE

* Revise file counts

* Update numbers

* Increased numbers

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-30 14:23:33 -08:00
Thomas Roberts d0b0c4c90b
Set `$plain_text` to false in new email addresses hook (#44178)
Co-authored-by: github-actions <github-actions@github.com>
2024-01-30 10:00:19 -08:00
Mike Jolley 610022150e
Change specificity of date picker rules (#44174)
* Change specificity of date picker rules

* changelog
2024-01-30 17:06:05 +00:00
Luigi Teschio 336abf7a73
Store API - Documentation: Fix broken link (#44180)
* Store API: fix link documentation

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

* fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-30 14:23:28 +01:00
Sam Seay 08d5cc05aa
[Experimental] Fix a bug where new attribute filter block flickers in editor. (#44147) 2024-01-31 01:10:12 +13:00
github-actions[bot] 9eff44945a
Prep trunk for 8.7 cycle (#44056)
Prep trunk for 8.7 cycle with version bump to 8.7.0-dev

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-30 12:40:10 +01:00
Alba Rincón 1045948487
Update the CYS intro modal copy on Core (#44081)
* Update the CYS intro modal copy on Core

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-30 09:58:51 +01:00
Alba Rincón 595cdeadb0
Create a dedicated survey and tracking events for the CYS flow on core (#43862)
* Create a dedicated survey and tracking events for the CYS flow on core

* Update booleans to show button and survey

* Remove console log

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

* Style required question asterisk and make the questions required

* Fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-30 09:58:05 +01:00
Alba Rincón 4ad6b41026
Fix ai status missing on CYS transitional page (#44121)
* Fetch the ai status on the transitional page of the CYS flow

* Only check AI status on WooExpress

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-30 09:54:16 +01:00
Albert Juhé Lluveras 3df7da4bd2
Add theme-customization e2e tests to Cart, Checkout and Order Confirmation templates (#43794)
* Add theme-customization e2e tests to Cart and Checkout templates

* Add theme-customization e2e tests to Order Confirmation template

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

* Update after rebase

* Make it so Order Confirmation template tests are also part of the parameterized tests

* Use CUSTOMIZABLE_WC_TEMPLATES constant instead of defining the templates again

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

* Fix wrong template slug

* Rename 'default' to 'fallback' template

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-30 09:44:42 +01:00
Ilyas Foo 6dd96b3e14
Fix beta test plugin deprecated creation dynamic property (#44109)
* Add plugin_name declaration

* Changelog
2024-01-30 16:12:02 +08:00
Chi-Hsuan Huang 6832a4b249
Update onboarding task documentation & add back `example` command (#44026) 2024-01-30 12:05:46 +08:00
Damián Suárez 74d0b39bb0
[Product Block Editor]: introduce TextArea field block (#44104)
* introduce TextAreaBlockEdit block

* reglister text area block

* use text-area block in the summary block

* changelog

* changelog

* fix whitespace lint issue

* remove unused types

* intrduce placehholder attribute

* property is the only required attribute

* tidy block attributes

* use useProductEntityProp()

* define fallback value

* remove unused CSS class

* organize attrs

* do not implement tooltip yet

* fix eslint error

* update text-area keywords
2024-01-29 17:14:17 -03:00
github-actions[bot] 487c7a87f0
Release: Remove 8.6 change files (#44057)
Delete changelog files from 8.6 release

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-29 18:04:49 +01:00
Albert Juhé Lluveras cca2271671
Remove Cart and Checkout templates migration code (#44148)
* Remove Cart and Checkouts templates migration code

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-29 16:12:33 +01:00
Leif Singer be10f00f05
HPOS: fix handling order meta containing nonexistent class when sync is on (#43517)
* add draft test

* test unserializing an order meta with an object of a non-existent class

* appease the linter

* add asserts for the $meta's object_vars

* linter fix

* we actually don't need these to force a sync

* add one to time to avoid potential flakiness

* use simpler fetch for order

* catch the errors and do things manually via wpdb instead

* appease the linter

* add changelog file

* specify format for the insert

* add test for deleting meta

* detect incomplete class in meta value instead of catching and examining errors

* appease the linter

* fix typo

* address review comments

* empty cache when we have manually deleted the post meta

* use `is_object`

* add logging

* log the order ID
2024-01-29 19:04:07 +05:30
Álvaro Thomas 06754dc917
[e2e tests] README.md - Add link to WooCommerce Monorepo prerequisites (#43552)
* Update README.md

Add a link to the WooCommerce Monorepo prerequisites before going through the e2e-pw prerequisites.

* Update WC prerequisites to relative link and added changelog

Update link to WC monorepo prerequisites

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

* Remove duplicated lines

Remove duplicated instructions and leave the step to install Docker and Docker compose

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
2024-01-29 12:31:38 +01:00
Alfredo Sumaran 6cada6447a
Apply Rector suggestions for PHP 8.1 (#43227)
* Apply Rector suggestions

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

* Update changelog entry

* Typo

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-29 17:00:44 +05:30
Mike Jolley 919e2e0060
Prevent `wc_get_chosen_shipping_method_ids` from causing fatal errors if chosen methods are not strings (#43869)
* Check for string values when updating chosen_shipping_methods session

* Ensure filtering woocommerce_shipping_chosen_method provides a string value

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-29 11:22:27 +00:00
Mike Jolley efe07e0ee2
Fix default shipping method selection after rate changes (#44117)
* Change default unless local pickup is being used

* Changelog
2024-01-29 10:07:50 +00:00
Albert Juhé Lluveras 7f735714a4
Add e2e tests for the Page Content Wrapper block (#44122)
* Add Page Content Wrapper e2e tests

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-29 10:11:43 +01:00
Sam Seay cfd8f36578
[Experimental] Utilize WP generated class names to style rating filter block. (#44072) 2024-01-29 19:50:47 +13:00
jonathansadowski 6f9e8531cf
Add wireit build config for woo-ai plugin (#43769)
* Add wireit build config for wooai plugin

* Add changefile(s) from automation for the following project(s): woo-ai

* Add lint config for woo-ai plugin js and css

* Remove build:admin script for wooai

* Remove ci config for woo-ai

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-26 16:08:04 -06:00
github-actions[bot] d7eaca8415
Delete changelog files based on PR 44094 (#44127)
Delete changelog files for 44094

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-26 17:32:00 +00:00
Ivan Stojadinov 324b816aec
[e2e] Check email for cancelled order (#43985)
* Add new "can receive cancelled order email" test

* Add new "can receive cancelled order email" test

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

* temp: wait for 1s

* temp: wait for 1s

* Revert changes introduced in 5aa5013

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-26 17:09:02 +01:00
Ivan Stojadinov 5e87527a44
Add "can view product review" test (#44077)
* Add "can view product review" test

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

* Add timestamp to reviewer's email

* Verify reviewer's email and rating

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-26 17:06:36 +01:00
Alfredo Sumaran a656fe0496
Apply Rector suggestions for PHP 8.1 (#43230) 2024-01-26 16:25:11 +01:00
Corey McKrill 022fef4cfb
Logging: Add details about configuration to SSR (#44106)
Adds logs settings values to both the SSR REST API endpoint and to the
HTML version of the SSR screen. Also adds a new method for calculating
the total size of the log directory, and adds that info to the Logs
Settings screen in addition to the SSR.
2024-01-26 16:24:19 +01:00
Mike Jolley a66075ee11
Refactor `get_allowed_countries` and `get_shipping_countries` to make less error prone (#44034)
* Make `get_allowed_countries` default to `all`

* Make `get_shipping_countries` handle `disabled` and apply filter on all cases

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

* changelog

* Put option in variable to avoid multiple calls

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-26 15:11:36 +00:00
Álvaro Thomas 7bfef28ac5
[e2e] Update create simple product test (#43783)
* Update create simple product

Add steps that add description, sale price, SKU, purchase note and an attribute (Color)

* Update  add-virtual-product formatting and locators

Update  add-virtual-product tests with suggested formatting and locators

* Add changelog file

Adding the missing changelog file via pnpm --filter=plugin-woocommerce run changelog add

* Update locators with getBy on product creation

Update product name, price, sale price and virtual checkbox marking locators to use getBy instead

* Update SKU and publish locators with getBy instead

Updated SKU and publish locators with getBy instead

* Added asserts to create-virtual-prd test

Added asserts to create-virtual-prorduct test

* Update SKU check

Update SKU assertion

* Remove keyboard action

Remove press enter keyboard action

* Add changelog

Added changelog file

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

* Update virtualProductName check

Update virtualProductName check to the const instead of the string

* Rebase and format

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Veljko <veljano@yahoo.com>
2024-01-26 10:21:26 +01:00
Adrian Moldovan 4bcb62dc9f
[e2e tests] Add tests for product bulks edit (#44039) 2024-01-26 10:53:05 +02:00
Sam Seay 067cdef753
[Experimental] Utilize WP generated class names to style interactivity stock filter block. (#44073) 2024-01-26 19:29:39 +13:00
Sam Seay 1ce39d98fb
[Experimental] Utilize WP generated class names when styling new active filters block. (#44069) 2024-01-26 19:06:50 +13:00
Thomas Geiger a9997ca1d1
Add filter to block product grid add to cart button to allow extra HTML attributes (#43700) 2024-01-26 09:34:22 +07:00
nigeljamesstevenson 0064abbd0f
Update stable tag to 8.5.2 (#44096)
woorelease: Update stable tag to 8.5.2
2024-01-25 19:44:13 +00:00
Corey McKrill 421ec8e31a
Settings: Ensure row attributes don't have HTML entities (#44094)
In #43166 I changed the way that row classes are added on settings
fields. However, by using `esc_html`, it's actually outputting invalid
HTML, where the double quote wrappers are getting converted to HTML
entities. This simply switches back to escaping only the attribute value
and not worrying if the tr element contains an empty class attribute.
2024-01-25 18:54:39 +00:00
github-actions[bot] 603a4fc689
Delete changelog files based on PR 44037 (#44083)
Delete changelog files for 44037

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-25 16:11:00 +00:00
github-actions[bot] 1a38522518
Delete changelog files based on PR 43354 (#44089)
Delete changelog files for 43354

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-25 16:10:35 +00:00
Albert Juhé Lluveras 66c3467b69
Avoid duplicate templates appearing on the Site Editor when the WooCommerce template and the theme template have been customized by the user (#44000)
* Avoid duplicate templates appearing on the Site Editor when the WooCommerce template and the theme template have been customized by the user

* Add tests

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

* Clean up templates after running all tests to increase speed

* Fix comment linting

* Fix addToCart() util with the classic template

* Remove unnecessary condition

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-25 14:55:17 +01:00
Mike Jolley dc6af08596
Initialise customer sessions on the order pay page (#43858)
* Create session on the order pay page

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

* changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-25 13:12:10 +00:00
Alba Rincón f46ffe1450
[CYS] Proceed with product creation when their images fail to upload (#44031)
* Return error when the product creation fails

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

* Continue with product creation even when the image upload fails

* Revert

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

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

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

* Add a warning message with the error when creating the products with no images

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-25 12:49:45 +01:00
Luigi Teschio 0a1c4a6920
[CYS - Core] Handling errors during the setup for the `NoAI` flow (#43810)
* CYS - Core: handling errors during the setup

* fix CSS format

* remove export

* fix CSS

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

* fix import

* fix style notice

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-25 12:04:44 +01:00
Mike Jolley 538e45ccb4
Fix SVG markup in miniCartIcon (#44042)
* Update MiniCart.php

* Add changelog entry

---------

Co-authored-by: niharikamahajan02 <72392580+niharikamahajan02@users.noreply.github.com>
2024-01-25 11:03:51 +00:00
Ilyas Foo 2c283d7134
Add rudimentary try catch for all remote endpoint spec evaluators (#44037)
* Add rudimentary try catch for all remote endpoint spec evaluators

* Changelog

* Lint

* More lint
2024-01-25 18:58:15 +08:00
Tung Du 1abefd5eee
[Experimental] Filter block: replace custom upgrade panel by Transforms API (#44024) 2024-01-25 15:28:09 +07:00
Tung Du b50431d9af
[Experimental] Filter block: refactor visibility control, context passing, and filter data processing (#43996) 2024-01-25 13:55:45 +07:00
Vedanshu Jain efd5ccebeb
Add filters for customer email and order id for performance. (#43865)
* Add filters for customer email and order id for performance.

* Empty where should not cause invalid query.

* Add changelog.

* Add unit test for newly supported search params.

* Apply coding standards.

* Add a trailing wildcard to allow broader search.

* Remove extra line.

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-01-24 16:08:07 -08:00
Cem Ünalan 48ebe7b84c
Marketplace: Add "Add to Store" button for free and WordPress.org products #43616 (#43983)
* Marketplace: Add "Add to Store" button for free and WordPress.org products (#43616)

* Marketplace: Install free .org plugins with Add to Store button

* Marketplace: addressed feedback for the the new install free products flow

- Moved notices to the top of the modal
- Updated notice styles slightly
- Updated the CreateOrderSuccessResponse to reflect API changes

* Marketplace: Require the Helper orders API file

* Marketplace: fix linter errors

* Marketplace: form encode when submitting the request

The body is encoded anyways by the WordPress core. However, if I don't
do it here, I can't create a valid signature to be verified by
Woo.com.

I could have just submitted a JSON too, but this seamed easier since
the body is parsed on Woo.com automatically when it's in this form.

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

* Marketplace: remove "~" character in imports and use relative paths

* Marketplace: fix margins in the product with the Add to Store button

* Marketplace: Add conditions to hide the button

We hide it if:

- the product is already installed
- user doesn't have the right capability
- if the product is just installed using our flow and there is
no page refresh

* Marketplace: don't show Add to Store button on Themes and on Discover

* Marketplace: fix linting

* Marketplace: hide ratings from the product if "is-small" class exists

* Marketplace: fix linting errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-24 23:02:20 +03:00
Jonathan Lane 27f079e9b1
Adds tests for core profiler (#44022)
* Adds tests for core profiler

* Add additional assertions

* Add changelog

* Standardize spacing

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-24 12:00:52 -08:00
Tomek Wytrębowicz 1976e40136
Remove wp-data & wc-blocks-checkout dependencies from OA script (#43857)
Resolve conditional dependency in JS.

Fixes #43829

Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2024-01-24 18:58:57 +01:00
Tarun Vijwani 0c79d1b6a7
Display shipping calculator link in the Cart block when fallback shipping options available (#43803)
* Hide the shipping rates in editor to match front-end

- If there are no shipping rates, hide the shipping rates in editor to match front-end.

* Add get_shipping_zones method to CartCheckoutUtils

* Display change address like for fallback shipping zone

- If cart has multiple and default shipping zones without shopper address, display the change address link

* Update shipping address label

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

* Fix linting errors

* Update plugins/woocommerce-blocks/assets/js/base/components/cart-checkout/totals/shipping/shipping-address.tsx

Co-authored-by: Niels Lange <info@nielslange.de>

* Display shipping calculator for locations outside all other zones

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

* Update typescript for activeShippingZones

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
2024-01-24 20:40:53 +04:00
louwie17 11aa8b6c46
Update product editor experiment name for new release (#44014)
* Update experiment name and enable linked products

* Add changelog
2024-01-24 11:41:05 -04:00
Thomas Roberts 0ecb53f61c
[Experimental] Update args for `woocommerce_blocks_validate_additional_field_{key}` filter (#44012) 2024-01-24 07:06:16 -08:00
Albert Juhé Lluveras 081f9d303b
Move Cart, Checkout and Order Confirmation template customization tests to the parameterized tests file (#43992)
* Move Cart, Checkout and Order Confirmation template customization tests to the parameterized tests file

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

* Clean up order-confirmation.block_theme.spec.ts file

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-24 15:26:07 +01:00
Adrian Moldovan 0aebb139c2
Update eslint parser to @babel/eslint-parser (#43859) 2024-01-24 13:06:51 +02:00
Vlad Bozdog a6210ba312
43813 hpos add missing filters on order listtable (#43815)
* add filter on build_count_query

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>

* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>

* 43813-hpos-add-missing-filters-on-order-listtable

* 43813-hpos-add-missing-filters-on-order-listtable

---------

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2024-01-24 09:17:25 +01:00
Chi-Hsuan Huang aa028da0b7
Send store address data to the obw subscribe endpoint (#43848)
* Sync country name to Klaviyo and Mailchimp

* Add state name

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-24 09:43:46 +08:00
Ilyas Foo f85d275c3a
Fixes `strpos` in `ComparisonOperation` for PHP 8 (#44007)
* Fixes

* Changelog

* Add breaks
2024-01-24 08:42:41 +08:00
jonathansadowski 9b98a85380
Remove docs plugin from monorepo (#44013)
* Remove docs plugin from monorepo

* Add language to md-docs readme

* Fix lint error in blocks

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-23 16:16:07 -06:00
Adrian Moldovan d66a48e8e5
[e2e tests] Add tests for product images (#43775)
* Import media on environment setup

* Add product-images.spec with one complete test and all other skeleton tests

* Add changelog

* Implement can update the product image

* Implement can delete the product image

* Implement can delete the product image

* Skip not implemented test

* Merge fixtures

* Add productWithImage fixture

* Remove unused variable `api`

* Partial implementation of can create a product gallery

* Check the image gallery in store frontend

* Added `can update a product gallery` test

* Run all tests

* Search for image in media library

* Check that the remove gallery image is not displayed

* Add repeatEach configuration

* eslint formatting

* Extract some repeating steps into a function

* Update check for thumbnail

* Fix test image name
2024-01-23 13:31:22 -08:00
Maikel Perez 9f3c7885a4
Remember downloadable files (#44008)
* The previously uploaded file should re-appear when the product changes from downloadable to not and then back again

* Add changelog file

* Fix php linter error
2024-01-23 14:53:22 -03:00
louwie17 1a4ebebf6a
Fix description toolbar with latest GB version (#43835)
* Initial changes to fix the toolbar in the iframe editor

* Moved toolbar to header and respect fixedToolbar preference

* Only render Gutenberg toolbar with specific version

* Update GB version

* Fix build issue

* Add fixed toolbar menu

* Remove unused import

* Add changelogs

* Fix lint errors

* Fix PHP lint error
2024-01-23 11:17:37 -04:00
Maikel Perez 26a546954a
Hide Downloads section under Toggle (#43864)
* Add Include downloads to show/hide the Downloads section

* Fix margin top for none first child nested sections

* Add changelog files

* Fix php linter errors
2024-01-23 12:12:52 -03:00
Maikel Perez dbae7d6661
Create product-pre-publish-modal feature flag (#43861)
* Create product-pre-publish-modal feature flag

* Add changelog file

* Fix auto formatting change
2024-01-23 11:46:52 -03:00
Maikel Perez 7ec8f7932e
Variations tab should be moved to the second tab, after General (#43998)
* Move variations tab to position 2 so it will appear right next to the general tab

* Add changelog file
2024-01-23 11:45:59 -03:00
Niels Lange 30dfa013f9
Unskip e2e tests (#43852)
* Remove obsolete comment

* Unskip cart and checkout translation tests

* Unskip shipping method switching tests

* Unskip template-related e2e tests

* Unskip order confirmation test for guest users

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

* Adjust broken e2e tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-23 21:32:10 +07:00
Alba Rincón a44a45b56a
CYS Redirect to intro screen if theme is not modified (#43736)
* Redirect to intro screen if theme is not modified

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

* Add and fix test for the redirection

* Redirect with the proper url 'intro'

* Remove only

* Avoid completing the cys task when switching themes

* Revert prev commit and reset `woocommerce_admin_customize_store_completed` before each test

* Set the `woocommerce_admin_customize_store_completed` to `no` before each test

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-23 11:15:19 +01:00
Alfredo Sumaran 4fd42aa7c5
Apply Rector suggestions for PHP 8.1 (#43236)
* PHP 8 Updates for src/Internal

* Add changelog entry

* Fix PHP lint issues

* Add unit test for not in queries.

---------

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2024-01-23 15:32:46 +05:30
Ilyas Foo 8a1af8a432
Add "I'm selling online and offline" for Square credit card payment recommendation (#43816)
* Add online offline for Square credit card

* Lint

* Changelog

* Update plugins/woocommerce/src/Admin/Features/PaymentGatewaySuggestions/DefaultPaymentGateways.php

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2024-01-23 13:52:27 +08:00
Sam Seay 42e77d4938
[Experimental] Product Filter - Reintroduce Wrapper Block (#43688) 2024-01-23 18:29:24 +13:00
Chi-Hsuan Huang 9b7d9ce689
Update the onboarding profile API validation for `business_extensions` parameter (#43806)
* Update the validation for business_extensions parameter

* Add changelog
2024-01-23 10:53:16 +08:00
Justin Palmer 8baa07e029
Remove `UTM` from Order Attribution metabox labels (#43041)
* Rename order attribution template file
* Update OA field name to `source_type` to keep up with https://github.com/woocommerce/woocommerce/pull/41690
* Discard conditional UTM labels altogether

---------

Co-authored-by: Tomek Wytrębowicz <tomalecpub@gmail.com>
2024-01-23 01:40:05 +01:00
Damián Suárez 0940201c37
Add suggested-products product endpoint (#43720)
* init approach of related products endpoint

* register related prodducts endpoint

* rename response prop with ids

* filter categoris from endpoint params

* filter categories when pulling related products

* changelog

* extend from WC_REST_CRUD_Controller class

* iterate over defininf endpoint params

* doc

* merge product terms with params

* introduce `combine` param

* return products collection instead of plain array

* fixinf eslint issues

* pass proper fn args to bound fns

* do not call parent register method

* post type is defined by parent controller class

* remove related products controller

* extend products controller with `related-products`endpoint

* filter post__in param

* when no related products found return empty array

* change and register endpoint params

* remove commented line

* add a custom method to extend the params

* update

* fix typo

* ensure to respect the products limit

* fix eslint issue

* remove unrequired endpoint id param
2024-01-22 17:18:02 -03:00
Christopher Allford db8da8d712
Properly Configured Wireit Production Builds (#43716) 2024-01-22 10:13:45 -08:00
Tarun Vijwani 139150134f
Add store notices to the Cart and Checkout block templates (#43753)
* Fix session notices in Cart and Checkout block pages

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

* Update plugins/woocommerce-blocks/assets/js/base/components/notice-banner/style.scss

Co-authored-by: Niels Lange <info@nielslange.de>

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
2024-01-22 21:25:42 +04:00
Néstor Soriano 7c62443ebe
Improve the logging/noticing of Legacy REST API usages (#43851)
* Include request IP address in the logging of Legacy REST API usages

* Add link to the Legacy REST API plugin to the usage notices
2024-01-22 17:02:19 +01:00
Alfredo Sumaran e48849444c
Apply Rector suggestions for PHP 8.1 (#43235)
* PHP 8 updates for src/Database/*

* Add changelog entry

* Update changelog entry
2024-01-22 15:30:31 +00:00
Barry Hughes f6fbb42652
Optimize performance of `WC_Install::is_new_install()`. (#43767) 2024-01-22 16:08:05 +01:00
Mike Jolley 18cd0a9690
[Experimental] Surface custom fields in Emails (#43519)
* Get default attributes on front end

* Remove console log

* Show notice about 0 registered fields in editor

* Do not show block in editor if no fields are registered

* Wrapper block

* Update webpack config

* Wrapper block type definition

* Separate fields from the hook block

* Hide when no custom fields exist

* Address and contact fields

* Shared form fields in settings

* Revert render_content to original

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

* Get default attributes on front end

* Add initial sections to email templates

* Revert "Get default attributes on front end"

This reverts commit f76c21617a2c5ad832d4579ba2c4c8e98afd440d.

* Also render contact fields

* Handle plain text

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

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

* Unwanted changes from rebase

* Use get_order_additional_fields_with_values

* Remove sample fields

* Version bump for styles

* Update plugins/woocommerce/includes/class-wc-emails.php

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update plugins/woocommerce/includes/class-wc-emails.php

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Apply view context

* Handle null

* Context

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2024-01-22 13:56:22 +00:00
Thomas Roberts 4114c5a5f1
[Experimental][Refactor] Reduce complexity of custom field registration function (#43663)
Co-authored-by: github-actions <github-actions@github.com>
2024-01-22 05:48:23 -08:00
Albert Juhé Lluveras c1b131c869
Add e2e tests to verify specific theme templates have priority over user-modified Product Catalog template (#43750)
* Add e2e tests to verify specific theme templates have priority over user-modified Product Catalog template

* Add changefile(s) from automation for the following project(s): woocommerce-blocks
2024-01-22 14:44:07 +01:00
Albert Juhé Lluveras 550bfe3572
Update WC Blocks Playwright tests docs so we pass parameters correctly to PNPM scripts (#43779) 2024-01-22 11:20:59 +01:00
Alba Rincón 95ed989ab4
Fix handling the error from the `product_image_upload` and `update_product_content` functions (#43793)
* Fix handling the error from the `product_image_upload` function

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

* Fix linting errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-22 09:59:51 +01:00
Thomas Roberts 7dabf2b031
[Experimental] Add `$request` to additional fields validation filter (#43789)
* Add $request to additional fields filter

* Add changelog entry

* Add data to additional message
2024-01-19 23:21:47 -08:00
Veljko V 7f2fd37fad
Refactor code and merge checkout and coupon tests and add new restricted cart coupons tests (#43819)
* Add changelog and update var naming in block tests

* Format code in two tests

* Add missing payment method set to the test

* Refactor tests and merge cart checkout coupons

* Clear cookies before every test
2024-01-19 10:32:19 -08:00
Mike Jolley 60509aa539
[Experimental] Surface additional checkout fields values in Admin order page. (#43748)
* Get default attributes on front end

* Remove console log

* Show notice about 0 registered fields in editor

* Do not show block in editor if no fields are registered

* Wrapper block

* Update webpack config

* Wrapper block type definition

* Separate fields from the hook block

* Hide when no custom fields exist

* Address and contact fields

* Shared form fields in settings

* Revert render_content to original

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

* Show address placeholders

* View fields in admin

* Pass order object and context to field hooks in WP admin

* CheckoutFieldsAdmin class

* Move logic to CheckoutFieldsAdmin

* Implement context

* Style checkboxes correctly in meta box

* Update handling

* Undo change to changelog

* Correct docblock comment for woocommerce_admin_shipping_fields

* Document context

* No need to init fields

* Fix checkbox handling for bw compat reasons

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

* Force CI

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

* Fix CSS rule

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-01-19 11:35:17 +00:00
Luigi Teschio f866d0d30f
[CYS - Core] Improve loading screen (#43791)
* CYS - Core: Create dummy products

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

* CYS - Core: Improve loading screen

* fix import

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

* update image

* add missing image

* fix CSS

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-19 12:03:19 +01:00
Jonathan Lane a0988461ec
[E2E] Tests for coupon usage restrictions (#43590)
* Changelog

* Tests for restricted coupons

* Update to test checkout not cart… which is what I should have been using

* Removal -- from PR feedback

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-19 10:49:24 +01:00
Alfredo Sumaran f2e90aa01d
Apply Rector suggestions for PHP 8.1 (#43237)
* PHP8 Fixes for templates dir

* Add changelog entry

* Bump template version

* Bump template version number

* Update changelog entry

* Typo
2024-01-19 10:07:53 +01:00
Alfredo Sumaran 5b6897e690
Apply Rector suggestions for PHP 8.1 (#43229)
* Apply Rector suggestions

* Add changelog entry

* Update changelog entry

* Fix PHP Lint errors
2024-01-19 10:07:06 +01:00
Niels Lange 32282a00ce
Add tracking for incompatible extensions (#42816)
* Add tracking for incompatible extensions

* Separate tracking data
2024-01-19 13:03:33 +07:00
Chi-Hsuan Huang 5bdc56e287
Fix activity panel showing incorrect currency (#43733)
* Fix activity panel showing incorrect currency

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

* Use store currency setting when order currency is different from the store currency

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-19 12:20:36 +08:00
Atanas Penchev 32ca8c16f2
Replace FlexSlider $.fadeIn() with vanilla .animate() (#41979)
* Vanilla .animate() instead of jQuery .fadeIn()

* Slider .animate() keyframes are now a list with 2 objects

[{ marginLeft: old }, { marginLeft: new }] keyframe syntax instead of
{ marginLeft: [old, new] } keyframe syntax for consistency

* Changelog

* Tweak changelog.

---------

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-01-18 15:30:51 -08:00
Ivan Stojadinov 50b4275174
[e2e] Expand simple product creation with more details (#43710)
* Expand 'can create simple non-virtual product' test

* Expand 'can create simple non-virtual product' test

* revert line break

* changelog add

* Revert "changelog add"

This reverts commit 0aa8f62cf7.

* Changelog - add update details

* Use getBy* where appropriate

* Add more geyBy*s

* Add more geyBy*s #2

* Add API calls to delete category and tag

* Update productCategory
2024-01-18 09:59:15 -08:00
Gan Eng Chin 6246cf6ff2
Marketing: Add "Sales" column in Campaigns card (#43284)
* Add sales property to MarketingCampaign class.

* Return campaign sales data in API.

* Display Sales in Campaigns card.

* Fix test for useCampaigns.

* Display a "-" when there are no cost or sales value in Campaigns card.

* Add changelog.

* Fix test for useCampaigns hook.

* Fix PHP lint issue.
2024-01-19 01:42:35 +08:00
Luigi Teschio c6e5d0d504
CYS - Core: Create dummy products (#43784)
* CYS - Core: Create dummy products

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 15:52:49 +01:00
Alba Rincón 589259f39f
[CYS on Core] Intro screen - Update the copy depending on whether the user already started to customize their store (#43690)
* Add new banner for no-Ai existing theme

- Add new banner
- Update copy
- Refactor the theme preview structure

* Make preview optional

* Remove log

* Remove unused param

* Fix linting error

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 14:59:10 +01:00
Niels Lange 7cd04dfa5a
Add e2e test to hover Mini Cart totals (#43693)
* Add e2e test to hover Mini Cart totals

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

* Optimise hover test

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 20:06:28 +07:00
Thomas Roberts bf61e57ce4
Ensure "email" field id does not include the section ID (#43734)
Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 04:33:50 -08:00
Albert Juhé Lluveras 91d0e16151
Convert block templates tests to parametized tests (#43778)
* Convert block templates tests to parametized tests

* Use frontendUtils.addToCart() when possible

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 13:29:07 +01:00
Albert Juhé Lluveras 6c3f8cb6fb
Add e2e tests to verify block templates can be customized if the theme has its own custom templates (#43650)
* Update commands to run e2e tests

* Capitalize Product Catalog template name

* Create tests with block theme with templates

* Create Block Theme with Templates test environment

* Update classic theme commands

* Code cleanup

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

* Code cleanup (II)

* Add config to blocks-playwright.yml and remove unnecesssary .github/workflows/playwright.yml file

* Remove unnecessary imports from product-catalog-template.block_theme_with_templates.spec.ts

* Update blocks e2e commands to pnpm

* Replace hardcoded strings with a variable

* Unify all 'block theme with templates' tests in a parameterized test

* Create a testData object for the Mini-Cart template part test

* Fix some code styling issues

* Create a testData object for the Mini-Cart template part test (II)

* Remove duplicate userText variable

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 11:39:24 +01:00
Manish Menaria 8c284a5074
[Product Collection] Add unique ID attribute (#43314)
* Add unique ID attribute to Product Collection block

In this update, we introduced a unique identifier for each instance of the Product Collection block. This change involves several key modifications:

1. **Block JSON Update**: Added a new `id` attribute in `block.json` to store the unique identifier for each block instance.

2. **Product Collection Content Update**: In `product-collection-content.tsx`, we utilized the `uuid` library to generate a unique ID. This is done in a `useEffect` hook, ensuring that each block instance receives a distinct ID upon initialization.

3. **Type Definitions**: The `ProductCollectionAttributes` interface in `types.ts` was updated to include the new `id` attribute, aligning with our enhanced data structure.

4. **Package Dependencies**: To support this feature, `@types/uuid` and `uuid` were added to `package.json`, ensuring we have the necessary tools for ID generation.

This enhancement is pivotal for uniquely identifying each Product Collection block, paving the way for more robust and individualized block handling in the future.

* Rename uniqueId to id

* Add lock file

* Add 'id' context to product collection and template

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

* Merge trunk with 42861-introduce-a-unique-identifier-for-each-product-collection-block

* Regenerate the lockfile

* Remove autogenerated change in plugins/woocommerce/package.json

* Regenerate lock file

* Rerun CI actions

* Delete pnpm-lock.yaml file & regenerate it using pnpm install command

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-18 15:30:57 +05:30
Luigi Teschio 0a98e5acd6
[CYS - Core] Switch to TT4 when the flow starts (#43740)
* CYS - Core: add unit test

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

* fix description

* Enable TT4 when the customize your store process starts

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-17 15:09:12 +01:00
Matt Sherman 824dc6be51
Remove BlockTemplateRegistry (#43589) 2024-01-17 07:12:12 -05:00
Vlad Bozdog 4966697b7f
41827-improve-coupon-usage-by-user-query-performance (#43731)
The sql query can be slow on big data sets, because the post meta value is type of string, and we are quering with a number.
2024-01-17 11:29:28 +01:00
Vedanshu Jain 90b3e11dba
HPOS: Remove buggy check in the data cleanup tool. (#43727)
* Add refund order to unit test.

* Remove buggy defensive check since existance of order is already verified.

* Changelog.

* PHPCS fixes.

* Added more assertions after cleanup to verify cleanup worked.
2024-01-17 14:58:11 +05:30
Chi-Hsuan Huang 8b567dcbc7
Update payment partners 2024 q1 (#43514)
* Remove eway and zipco

* Add Airwallex

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

* Fix lint

* Update airwallex images

* Fix category_other value

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-17 09:40:08 +08:00
Alexandre Lara 8258919e22
Product Gallery block: Remove the experimental flag from the Product Gallery block (#43586)
* Remove the experimental flag from the Product Gallery block

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-16 21:05:47 -03:00
Karol Manijak 1dd23f8eeb
Product Collection: add E2E tests to Editor filters - by featured products, by created date, by price range (#43473)
* Add test to Product Collection - featured products filters

* Open Featured option before trying to set it up

* Add test for Created filter

* Add missing awaits

* Add tests for a price range filter

* Add explanation to test step

* Update the conditions for created filter

* Add changelog

* Change leftover values

* Empty commit - trigger CI
2024-01-16 20:59:27 +01:00
Vedanshu Jain 4b401e59de
Add support for specifying filters when searching orders. (#43356)
* Add the UX element dropdown for search box.

* Add unit test for search_filter param.

* Add support for search filter in search query for better performance.

* Link search_filter dropdown with query param.

* Fix conflicts.

* Reformat to allow adding more filters in future.

* Fixing margin in the search filter box.

* Fix merge conflict.

* Apply linting.

* Add changelog.

* Apply PR suggestions.

* Grammer fixes.
2024-01-16 20:37:16 +05:30
Mike Jolley 1dee94362f
[Experimental] Surface additional checkout fields on Order Confirmation page (#43449)
* Get default attributes on front end

* Remove console log

* Show notice about 0 registered fields in editor

* Do not show block in editor if no fields are registered

* Wrapper block

* Styling/spacing

* Update webpack config

* Register heading pattern

* Wrapper block type definition

* get_fields_for_location return fields in array format

* Use wrapper in default content

* Separate fields from the hook block

* Hide when no custom fields exist

* Address and contact fields

* Shared form fields in settings

* remove info block from wrapper

* Revert render_content to original

* rename block

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

* Update styling

* Create shared get_order_additional_fields_with_values to format values

* Update block names and descriptions

* Show address placeholders

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

* Unused import

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-01-16 13:17:28 +00:00
Luigi Teschio dc0fd26917
CYS - Core: add unit test for the `NoAI` flow state machine (#43692)
* CYS - Core: add unit test

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

* fix description

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-16 14:01:31 +01:00
Thomas Roberts c776fb63bc
[Experimental] Add custom validation hooks for additional checkout fields (#43435)
Co-authored-by: github-actions <github-actions@github.com>
2024-01-16 03:01:51 -08:00
Alba Rincón b9f447b101
Update copy for CYS intro screen sidebar (#43551)
* Update copy for CYS intro screen sidebar

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

* Avoid using variables in __()

* Add missing period

Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
2024-01-16 09:07:47 +01:00
Karol Manijak c531067daf
Improve the selector determining the products are loaded in Product Collection tests (#43464)
* Improve the selector determining the products are loaded in Product Collection tests

* Add changelog

* Update plugins/woocommerce/changelog/test-42038-make-product-collection-e2e-tests-more-robust

Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>

---------

Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
2024-01-16 08:31:22 +01:00
Niels Lange 9779f0a022
Migrate mini cart tests (#43549)
* Migrate mini cart tests

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

* Adjust broken e2e test

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-16 13:58:54 +07:00
Adrian Moldovan 04154eee09
[e2e tests] New test that checks a customer can comment on a post (#43419)
* Add new spec for checking comments on a post

* Add changelog

* Update locators to use geBy methods

* Update locators to use geBy methods

* Fixed strict mode violation
2024-01-15 15:24:22 -08:00
Thomas Roberts 23db3eff69
[Experimental] Handle adding attributes during fields registration (#43379)
Co-authored-by: github-actions <github-actions@github.com>
2024-01-15 14:59:36 -08:00
Jonathan Lane f7e8b676d6
Change HPOS and non HPOS e2e tests to use 5 shards each (#43672)
* Change HPOS and non HPOS e2e tests to use 5 shards each

* Add changelog

* Update numbering

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-15 14:18:57 -08:00
Christopher Allford 95bc1189e5
Update `wireit` & Optimize Builds (#43595)
This bumps the version to 0.14.3 so that we can take advantage of some
upstream improvements. It also makes some changes to the way our
builds and watches work to minimize the number of unnecessary
Node processes involved in the execution.
2024-01-15 14:06:55 -08:00
Danny Dudzic 43be71a52f
[Experimental] Product Gallery: Update div elements to ul/li for better accessibility (#43612)
* Product Gallery: Update div elements to ul and li for better accessibility

* Product Gallery: Add changelog files

---------

Co-authored-by: roykho <roykho77@gmail.com>
2024-01-15 13:04:03 -08:00
Christopher Allford 31c170f80c
Added Missing Lint Build (#43665)
Unfortunately, it looks like we need to build in order
to be able to lint. This makes sense since some
projects will lint imports from others that haven't
been built yet.
2024-01-15 12:30:54 -08:00
Alejandro López Ariza cb269e47ab
Update stable tag to 8.5.1 (#43671)
woorelease: Update stable tag to 8.5.1
2024-01-15 20:38:09 +01:00
Adrian Moldovan 357e37819f
[e2e tests] Add new spec for remove product tests (#43518) 2024-01-15 20:23:30 +02:00
Tarun Vijwani d329ced1e8
E2E tests migration: performance -> cart (#42943)
* Add Performance Util class to evaluate performance

* Add performance logging in cart block test

* Remove additional comments

* Migrate Cart  E2E performance tests to Playwright

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

* Refactor performance calculations in PerformanceUtils page

* Fix linting errors

* Replace beforeAll with beforeEach

* Fix directory creation in performance-utils.page.ts

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2024-01-15 21:03:24 +04:00
github-actions[bot] 33ae0d607d
Delete changelog files based on PR 43641 (#43646)
Delete changelog files for 43641

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-15 16:06:42 +00:00
Maikel Perez d853af297b
Improve the validation process when changing the product type (#43564)
* Remove the required validation constraint from the LINK TO THE EXTERNAL PRODUCT field

* Add changelog file
2024-01-15 12:49:24 -03:00
Alba Rincón 50c7e51d86
Add "No AI" banner image and center banner content (#43547)
* Add "No AI" banner image and center banner content

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-15 14:17:33 +01:00
Karol Manijak 2c628a2938
Product Collection: add E2E tests to Editor filters - by tag and by stock status (#43548)
* Add test to check Product Collection filtering by tags

* Set single product out of stock and unskip the test for stock status

* Add changelog

* Use more specific selector

* Update variables holding products in products.sh to keep the same convention
2024-01-15 11:25:49 +01:00
Leif Singer 89cb0f7cef
clarify comment in maybe_sync_order (#43573)
* clarify comment in maybe_sync_order

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

* appease the linter

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-15 10:24:29 +01:00
Vedanshu Jain e1f57da0ad
Use GMT date when fetching cancellation orders. (#43641) 2024-01-15 09:09:19 +01:00
Christopher Allford 758df4854d
Use `ci-jobs` Utility For `ci.yml` Matrix (#43532)
This adds support for using the `pnpm utils ci-jobs` command in our `ci.yml` file. One of the bigger benefits to this change too is that we're now distributing a bundled version of the utils tool. This lets us run it without actually having to install the repo and will let us speed up any workflows that currently do.
2024-01-12 20:32:14 -08:00
Maikel Perez 4f8922aa0b
Remove Variable product template from the product template list (#43422)
* Remove variable-product-template from the product template list

* Add changelog files

* Redirect the variable product to the new experience now that is does not have a product template anymore

* Fix php linter error
2024-01-12 18:47:15 -03:00
Alexandre Lara 4b5c6982e4
[Experimental] Product Gallery block: Prevent page from scrolling when pop-up is open (#43378)
* Prevent body from scrolling when pop-up is open

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

* Add namespace to the modal-open css class

* Fix class name for the Product Gallery block

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-12 15:10:33 -03:00
Vlad Olaru 469b74433c
Fix Subscriptions autorenewals column for WooPayments pre-install promo in Settings > Payments (#43436)
* Do not sanitize WooCommerce Subscriptiion column HTML in Settings > Payments methods table

* Add features supports entry to pseudo-gateway WCPay Promotion

* Add changelog

* Add changelog entry for woocommerce-admin

* Lint fixes
2024-01-12 19:05:29 +02:00
Matt Sherman ee6642e0c7
Product Editor: Load layout templates from the REST API (#43384)
* Move ProductTemplate type

* useProductTemplate

* Use useProductTemplate

* Use useLayoutTemplate

* Handle if window.productBlockEditorSettings doesn't exist

* Unit tests for useProductTemplate

* Fix fallback in useProductTemplate

* Remove layoutTemplates from ProductEditorSettings on client

* Fallback to simple-product layout template

* Unit test to verify the standard product template is used if product type is variable

* Use standard product template if product type is variable

* Unit test to verify product type is used to match if product template id matches a template with a different product type

* Make sure product type matches on product template, unless variable, in which case we match simple

* Remove layoutTemplates and layoutTemplateEvents from global

* Changelog

* Changelog

* Import types only
2024-01-12 11:54:35 -05:00
github-actions[bot] ad735b2bf2
Delete changelog files based on PR 43550 (#43568)
Delete changelog files for 43550

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-12 17:00:10 +01:00
github-actions[bot] 69360cd93e
Delete changelog files based on PR 43497 (#43563)
Delete changelog files for 43497

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-12 16:52:50 +01:00
github-actions[bot] f6f7c076f4
Delete changelog files based on PR 43504 (#43523)
Delete changelog files for 43504

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-12 16:52:02 +01:00
github-actions[bot] 6dba702341
Delete changelog files based on PR 43506 (#43539)
Delete changelog files for 43506

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-12 16:51:44 +01:00
Jonathan Lane ac5ffdae46
Move e2e HPOS disabled tests to matrix (#43537)
* Move e2e HPOS disabled tests to matrix

* Changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-12 10:30:10 -04:00
Alba Rincón be1c794387
Remove the `patterns_ai_data` post from DB when resetting the CYS (#43499)
* Call the `/wc/private/ai/patterns` to remove the `patterns_ai_data` post from the db

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-12 13:58:32 +01:00
Luigi Teschio 5edea79b41
CYS: fix php warning raise by the Product Collection block (#43546)
* CYS: fix php warning raise by the Product Collection block

* fix typo

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-12 13:44:06 +01:00
Albert Juhé Lluveras aa661f2234
Fix Mini-Cart price disappearing on hover (#43550)
* Fix Mini-Cart price disappearing on hover

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-12 13:39:34 +01:00
Roy Ho 5d87130b43
[Experimental] Product gallery/remove default (#43487)
* Remove Product Gallery block as default

* Add beta label to Product Gallery block title

* Add changelog files
2024-01-11 18:03:58 -08:00
Niels Lange 780196a5b0
Fix notice template overwrites (#43506)
* Fix notice template overwrites

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

* Bump template versions

* Changing template version numbers to 8.5.0 as they haven’t been touched

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-11 22:12:55 +01:00
Jorge A. Torres 9ce508f47d
Add HPOS CLI tool to compare an order between datastores (#43173)
* Add `wp wc hpos status` command

* Add helper method to build order from different datastores

* Add helper method `get_diff_for_order()` to compare orders between datastores

* Add CLI tool `wp wc hpos diff` to compare an order between datastores

* Add changelog

* PHPCS fixes

* Better format for dates
2024-01-11 16:51:01 +00:00
Luigi Teschio ac43fb2426
fix ESLint configuration regarding import path aliases (#43421)
* fix ESLint configuration regarding import path aliases

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

* fix eslint configuration

* update eslint-import-resolver-typescript version

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-11 16:40:38 +01:00
Vedanshu Jain c675ce53a5
Fix product prices not being updated on scheduled sale automatically. (#43497)
* Add test for scheduled date start

* Add more test around product sales.

* Simplify sales check + also check product sale price is changed.

* Apply conding standards.

* Add changelog.

* Revert changes added in 39948 with explanation.

* Revert changes added in 39948 with explanation.
2024-01-11 15:18:18 +00:00
Luigi Teschio c409fcd050
[CYS - Core] introduce route guards for the AI flow (#43481)
* CYS - Core: Setup the site with a default homepage when the assembler is loaded

* CYS - Core: Implement route guards

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-11 16:12:41 +01:00
Seghir Nadir 77d0a6a847
Limit cookie dedupe logic to only WooCommerce Cart cookies (#43504)
* limit check to only Woo cookies

* limit logic to woo cookies only

* add changelog

* no need for set-cookie prefix
2024-01-11 15:53:50 +01:00
Luigi Teschio c686f605e6
[CYS - Core] Update the homepage with default patterns when the assembler is loaded (#43457)
CYS - Core: Setup the site with a default homepage when the assembler is loaded
2024-01-11 15:32:16 +01:00
Paulo Arromba 99e825df1f
Migrate merchant local-pickup e2e tests to Playwright (#43057)
* Playwright migrated test file bootstrap and first test for local pickup

* Added page reload to force a new render

* Updated test description

* WIP: figuring out the fake input checkbox

* WIP: figuring out flaky state of local pickup enabled

* Fix flakey enable/disable local pickup

* Migrated remaining local pickup tests to Playwright

* Removed deprecated E2E

* Added changelog

* Corrected linting errors

* Fixed playwright/no-element-handle lint error

* Replace CSS IDs and classes with recommended built in locators

* Remove obsolete function calls

---------

Co-authored-by: Niels Lange <info@nielslange.de>
2024-01-11 21:25:12 +07:00
Albert Juhé Lluveras 67fb8d7511
Add e2e tests to verify Products by Category/Tag/Attribute templates default to Product Catalog template (#43471)
* Add e2e tests to verify Products by Category/Tag/Attribute templates default to Product Catalog template

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-11 12:47:56 +01:00
Sam Seay 5fdbe63530
[Experimental] Rename Collection Filters to Product Filters (#43363)
---------
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
2024-01-12 00:27:33 +13:00
Veljko V b6bdfe0572
Add new E2E tests for Shopper Cart Quantity Limit and Cross Sell Items (#43333)
* Add e2e test for shopper cart quantity limit and cross sell items

* Add changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-10 11:36:32 -08:00
Veljko V eb49308781
Add new E2E tests to cover Shopper Checkout Block flow (#41218)
* Add few E2E tests to cover half of the milestone

* Improve welcome modal closing

* Add new test scenarios

* Add more tests to cover creating account and shipping

* Update shipping zone labels to fulfil latest design changes

* Add tests for checkout block coupons and cart block coupons

* Remove only flag leftover

* Add checkout block tax tests and merge with cart test

* Update selectors to match checkout page

* Update checkout block test and comment scenario until issue resolved

* Remove only leftover

* Update checkout block test

* Improve filling shipping and billing checkout

* Create order via API with coupon

* Include checkout filling util helper

* Update test to use get by role for alerts

* Remove only leftover

* Adjust scenario for placing an order as a customer

* Improve existing customer placing order scenario

* Add util helper for adding products to cart

* Remove leftover from testing

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-10 11:36:11 -08:00
Jonathan Lane 9c2048f029
Shard e2e test execution on CI (#43056)
* Try sharding e2e tests

* Update reporter for merge

* Add changelog

* Change to trigger CI

* Update job name to match existing run

* Install with dependencies

* Set working directory

* Only run 2 workers at a time on CI

* Try single run, but 6 shards

* Simplify welcome modal closing util helper

* Switch to more simpler way of closing welcome modal

* Fix flakiness in create shipping zone test

* Try 10 shards

* Drop CI retries to 2 from 4

* Update path to reports

* Fix syntax error in GH file

* Remove working directory

* Update directories

* Path again

* Use Allure dir

* Fix merge step

* Install dependencies

* Setup repo in report merge

* Commands to merge reports

* Set working directory

* Update actions

* Name upload artifacts

* Just numbers for shards

* Update matrix

* Need to redeclare env variables

* Update file paths for merge step

* Remove working directory for merge step

* Try absolute paths

* Missed a path

* Put all artifacts in single download folder

* Tweak download action

* Might not have to merge reports

* Fix typo

* Update path for summary report

* Update results paths

* Tweak condition

* Add step to check success of matrix run

* Remove ternary per feedback

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Veljko <veljano@yahoo.com>
2024-01-10 10:42:05 -08:00
Jonathan Lane bcea0fecb9
Add conditional skip to FTUX (#43437)
* Add conditional skip to FTUX

* Changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-01-10 08:33:02 -08:00
Albert Juhé Lluveras 6bc865dd9b
Add e2e tests for user customization of block templates (#43426)
* Add e2e tests for user customization of block templates

* Update instructions to run Playwright e2e tests

* Code cleanup

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

* Create revertTemplateCustomizations util

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-10 16:51:53 +01:00
github-actions[bot] b9f371c23b
Delete changelog files based on PR 43269 (#43467)
Delete changelog files for 43269

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-10 16:31:08 +01:00
Thomas Roberts d8331dc3f1
Add additional information block for custom checkout fields (#43274)
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: github-actions <github-actions@github.com>
2024-01-10 06:20:06 -08:00
github-actions[bot] 5451d1ef23
Delete changelog files based on PR 43428 (#43461)
Delete changelog files for 43428

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-10 14:48:57 +01:00
Jorge A. Torres 39ec01bceb
Fix PHP warning related to logging severity threshold (#43448)
* Fix PHP warning related to logging default severity threshold

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-10 13:32:35 +00:00
Bartosz Budzanowski a6705cda15
Force marketing menu items order. (#41836)
* Force marketing menu items order.

* Add changelog.

* Make sure that Overwiev is present.

* Coupons should be always second.

* Update plugins/woocommerce/src/Internal/Admin/Marketing.php

Co-authored-by: Gan Eng Chin <ecgan@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Admin/Marketing.php

Co-authored-by: Gan Eng Chin <ecgan@users.noreply.github.com>

* Use fallback for different languages.

* Use location as a fallback for names.

* Fix linting.

* Refactor.

* Remove unneded new line.

* Remove duplicated code.

---------

Co-authored-by: Gan Eng Chin <ecgan@users.noreply.github.com>
2024-01-10 14:23:41 +01:00
Gan Eng Chin 0636a09f63
Delete old marketing recommendations transient upon update to WC 8.6.0 (#43162)
* Add MarketingRecommendations feature.

The code here is based on other feature with default fallbacks and with data source poller, e.g. see payment gateway suggestions.

* Use MarketingRecommendations feature in API.

* Add spec_key for MarketingRecommendationsDataSourcePoller.

If we don't specify it, the default is `id`, which is not used in our recommendation data, and this will cause things not to work as expected.

* Recursively convert object to array.

This is because all the subsequent functions work with arrays, not objects.

* Make recommended marketing tools and coupons use MarketingRecommendationsInit.

This is so that recommended channels, tools, and coupons make use of the same transient data with data source poller.

* Add changelog.

* Fix PHP lint issues.

* Add doc comment to fix lint error.

* Fix tests in MarketingRecommendationsTest.

* Replace recommendations.json file with generated data in DefaultMarketingRecommendations.

This is to have i18n support.

* Add icons for fallback marketing recommendations.

* Fix PHP linting issue.

* Fix linting issue.

* Fix failing tests with PHP 8.0.

* Remove unused replaced code in MarketingSpecs.

* Delete old marketing recommendations transient upon update to WC 8.6.0.

* Add changelog.
2024-01-10 21:05:36 +08:00
Chris Lilitsas e24aabff04
Introduce a new block style for the Product Details block and set it as default (#42965)
* Introduce the minimal block style for productDetails block

* Change the default style in the template

* Change the default template when using the transform-to-blocks button

* Cleanup

* Organize CSS selectors

* Add opacity on hover

* Fix specificity and add explanation

* Cleanup

* Changelog
2024-01-10 14:08:48 +02:00
Karol Manijak 30888d7f1b
Product Collection: Rename "Inherit query from template" option and make description contextual (#43270)
* Update the copy of Inherit Query from template and make it contextual

* Add changelog
2024-01-10 12:40:05 +01:00
Tung Du 8fb3d394a5
[Experimental] Add basic e2e test for new filter blocks (#43392) 2024-01-10 18:17:00 +07:00
Gan Eng Chin 6802b2720a
Add Default Fallback Marketing Channel Recommendations (#43001)
* Add MarketingRecommendations feature.

The code here is based on other feature with default fallbacks and with data source poller, e.g. see payment gateway suggestions.

* Use MarketingRecommendations feature in API.

* Add spec_key for MarketingRecommendationsDataSourcePoller.

If we don't specify it, the default is `id`, which is not used in our recommendation data, and this will cause things not to work as expected.

* Recursively convert object to array.

This is because all the subsequent functions work with arrays, not objects.

* Make recommended marketing tools and coupons use MarketingRecommendationsInit.

This is so that recommended channels, tools, and coupons make use of the same transient data with data source poller.

* Add changelog.

* Fix PHP lint issues.

* Add doc comment to fix lint error.

* Fix tests in MarketingRecommendationsTest.

* Replace recommendations.json file with generated data in DefaultMarketingRecommendations.

This is to have i18n support.

* Add icons for fallback marketing recommendations.

* Fix PHP linting issue.

* Fix linting issue.

* Fix failing tests with PHP 8.0.

* Remove unused replaced code in MarketingSpecs.

* Remove unneeded false check.

This is because `is_array` would return `false` when `false` is being passed as the argument.

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

---------

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
2024-01-10 18:39:59 +08:00
And Finally b62c3bc2f4
Do not access change_feature_enable() statically. Closes #43175. (#43428)
* Do not access change_feature_enable() statically. Closes #43175. Copy of @helgatheviking's cd71d08577.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-10 09:43:03 +00:00
Corey McKrill 4ecbaf573c
Logging: Add settings UI to configure the logger (#42979)
* Centralize log level labels

* Fire an action specific to loading the Logs tab

* Functional settings screen (no way to navigate to it yet)

* Deprecate wc_register_default_log_handler

* Hook up the settings

* Add section nav

* Add an action hook to the settings form

* Rename render_page method to render_form

* Scaffold the unit tests

* Remove logging enabled check from WC_Logger construct

Caching the enabled setting value turns out to not be a great idea,
it breaks some tests, and could cause issues if the setting value
changes, and then a logging event happens later in the same request.

WP has its own caching layer for options anyway, but one that will
update if the value of the option changes. So this just makes the
enabled check directly from the should_handle method.

* Add most unit tests. Still needs a couple more

* Add remaining unit tests

* Update since values on new hooks to 8.6.0

* phpcs cleanup

* Change deprecated tag from 8.5.0 to 8.6.0

* Add missing return types to unit tests

* Add changelog file

* Add missing clear method to new log file handler

* Change level_threshold default value to 'none'

* Ensure logger has a valid level threshold set, regardless of level given

* Update legacy unit test

* Ensure settings only saved on settings view

* Add settings sections for filesystem and database

Also add a filesystem setting for collapsing log entry lines.

* Add public LoggingUtil class for external usage, and use in WC_Logger

* Remove unused import

* Deprecate wc_get_log_file_path and wc_get_log_file_name

* Preserve white space in log file lines

It turns out that several extensions add log entries that are just
a print_r of an array. Preserving the white space is important for
making this data legible (ideally they'd switch to adding this data
within the context parameter)

* More legacy unit test fixes

* Remove entry collapse option and functionality

It's unclear right now that entry collapsing provides much real
benefit, while it clearly does have some potential drawbacks if
extensions are in use that add print_r output to the log files.

* phpcs cleanup

* Yet more unit test tweaks

* Remove unused code

* Don't wrap extra handler options in <code>, it gets excaped

* Attempt fix for WC_Tests_Logger::test_clear

This is only failing on GH CI, not when running locally. Maybe
ensuring all the created log files are deleted will help.

* Improve logging of fatal errors

This improves the formatting of error messages caught and logged
during shutdown to be more legible and to take advantage of the
logging method's context parameter. With this change, the log entry
will be a simple message on one line, and any stack trace will be
available but hidden in an "Additional context" details element.

* Tweaks to some settings' wording

* Update webooks link to logs, undeprecate

* Remove `realpath` usage since it deos not work if log directory does not already exists.

---------

Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
2024-01-10 14:44:05 +05:30
Alba Rincón a38c7bcccf
CYS: fix PHP warnings and pattern button (#43354)
* Remove custom styles from button

* Avoid php warning about images and slug not defined

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

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

* Fix linting errors

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-10 09:03:56 +01:00
berislav grgičak c018d7751b
Redirect Woo.com connect request to selected page (#43315)
* Working redirect

* Dynamic connect urls

* Clean up

* Changelog
2024-01-10 07:20:15 +01:00
Chi-Hsuan Huang 2c122ba446
Track core profiler individual plugin installation success/failure (#43309)
* Track core profiler individual plugin installation success/failure

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

* Log coreprofiler_store_extension_installed_and_activated async failures

* Log coreprofiler_store_extension_installed_and_activated sync success

* Rename track prop key

* Track error_message for recordFailedPluginInstallations

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-10 11:48:34 +08:00
Maikel Perez 1ad48760c9
Redirect supported product types to the new experience based on the product template associated to it (#43341)
* Redirect supported product types to the new experience based on the product template associated to it

* Add changelog file

* Fix linter error

* Redirect using the product type first and then the associated product template

* Set the product template id also for unsupported product templates

* Add changelog file

* Remove supported_product_types from the RedirectionController since the product_templates is used instead

* Fix php linter error
2024-01-09 18:31:25 -03:00
Alejandro López Ariza ed015e5485
Update stable tag to 8.4.0 (#43425)
woorelease: Update stable tag to 8.4.0
2024-01-09 16:51:08 +01:00
Luigi Teschio 1453597400
CYS - Core: implement 'noAI' flowType (#43368)
* CYS - Core: implement 'noAI' flowType

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

* remove unused import

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-09 15:49:59 +01:00
Ismael Martín Alabarce 45377e63be
Update WooPayments task copy (#43365)
* Update WooPayments task copy

* Add changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-09 12:43:47 +01:00
Alejandro López Ariza 937b6d66c8
Update stable tag to 8.5.0 (#43402)
woorelease: Update stable tag to 8.5.0
2024-01-09 11:21:42 +01:00
Daniel Dudzic 3be8264c5d
[Experimental] Product Gallery Pager: Improve accessibility (#43348)
* Product Gallery Pager: Improve accessibility

* Product Gallery Pager: Fix number pager styling
2024-01-09 10:48:49 +01:00
Denis Dvali aa4fda8b27
Remove v1 of plugin installer (#37893)
* Remove v1 of plugin installer.

* Rename WC_REST_WCCOM_Site_Installer_Controller_V2 into WC_REST_WCCOM_Site_Installer_Controller.

* - Create base controller for WCCOM Site requests, extended by Installer and SSR controllers.
- Switch get SSR endpoint to v2 namespace.

* Remove namespace property from Installer controller.

* Linting.

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

* Switch request method of reset install endpoint to POST (#43150)

- Switch reset installation state request to POST.
- Change wccom-site API namespace to v3.

* Exclude deleted files from linter check (#43355)

Exclude deleted files from linter check.

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-09 09:23:13 +00:00
Tom Cafferkey b58a1932fe
Block Hooks API: Abstract Block Hooks code into a separate trait class (#43250)
Co-authored-by: github-actions <github-actions@github.com>
2024-01-09 08:41:42 +00:00
github-actions[bot] 4f6f7aa8c6
Delete changelog files based on PR 43344 (#43388)
Delete changelog files for 43344

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-09 00:05:51 +00:00
Alexandre Lara 65d9c6764c
[Experimental] Product Gallery block: Rename media setting to "Open pop-up when clicked" (#43302)
* Rename media setting to "Open pop-up when clicked"

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-08 16:58:27 -03:00
Gan Eng Chin 8b1df6c946
Fix "rm: .git/hooks: No such file or directory" error in `pnpm install` when the directory is missing (#43142)
* Fix "rm: .git/hooks: No such file or directory" error in `pnpm install`.

* Add changelog.

* Use "rm -rf" instead of "test" command on .git/hooks directory.

We use the "-f" flag so that it does not throw error when the directory does not exist.
2024-01-08 14:13:42 -04:00
jonathansadowski ce3a38ac55
Try reducing blocks build size (#43344)
* Try reducing blocks build size

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

* Only set NODE_ENV if its not already defined

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-08 11:33:49 -06:00
Tomek Wytrębowicz fa62e63037
Make OSA fields extendable, simplify naming (#41690)
- Use `referrer` & `source_type` field names consistently
   Remove the need to translate it back and forth.
- Make fields actually extendable using `wc_order_attribution_tracking_fields`.
   Propagate the field configuration to the client side as well.
   Disambiguate fields in variables and functions.

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
2024-01-08 16:17:04 +01:00
Jorge A. Torres ebb6b0fe54
Fix possible duplication in certain HPOS related Tracks events (#43318)
* Fix possible duplication of HPOS related Tracks events

* Add changelog
2024-01-08 20:12:37 +05:30
Thomas Roberts c159e8a858
Update Checkout Fields error reporting to use `_doing_it_wrong` instead of wc logger (#43283)
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2024-01-08 03:16:08 -08:00
Karol Manijak 8d4f1cecec
Product Collection: Make sure all variations are taken into account when choosing collection (#43273)
* Make sure all variations are taken into account when choosing collection

* Add changelog
2024-01-08 10:55:42 +01:00
Tung Du aab950e27a
[Experimental] Add: Filter blocks migration (#43218)
* add: upgrade panel

* add: toolbar upgrade button

* add: downgrade panel

* chore: changelog

* refactor: move the upgrade component to `Collection Filters` block
2024-01-08 16:31:06 +07:00
Tung Du 823a35a9f2
[Experimental] Add: notice informing users about the usage of filter blocks (#43262) 2024-01-08 13:43:12 +07:00
Sam Seay 1eba9c62a8
Add lint config to blocks to lint imports (#43310) 2024-01-08 18:32:15 +13:00
Maikel Perez a7627fbf0e
Linked product list empty state (#43163)
* Add product search field to the linked product list block

* Add empty state to the linked product list block

* Fix AdviceCard styles

* Create skeleton for the linked product list block

* Fix linter errors

* Move the product list skeleton to the product list component folder

* Revert AdviceCard changes

* Remove upsells and cross-sells block to use linked-product-list block instead

* Add changelog files
2024-01-05 15:26:06 -05:00
Corey McKrill f8b906000f
Remove usage of PHP 8+ function from bootstrapper (#43308)
(PHP 7.4 compat) string lib polyfills are unavailable during bootstrapping.
2024-01-05 12:03:12 -08:00
Roy Ho 6ef04bafa5
Hide sale badge if product image is disabled (#43334)
* Hide sale badge if product image is disabled

* Fix css target to cover all product grid

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

* Hide on sale badge via PHP side

* Remove css changes

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-05 11:16:37 -08:00
Seghir Nadir e50e7799c0
Support additional fields in the Contact step for Checkout (#43088)
* add custom fields to contact info step

* fix linting

* add changelog

* adjust fields validation

* address review changes

* address sanization and validation

* fix billing address shape

* address schema issues

* cast address to array

* dont sanitize stuff that will validated

* fix linting issues

* fix cart unit test

* revert test

* fix the email issue
2024-01-05 18:35:28 +01:00
Alba Rincón 5752bd7a9f
Fix CYS updateStorePatters to use the new images endpoint structure (#43285)
* Return the correct empty images response

* Use the correct structure in the images endpoint response

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

* Throw error when no images and the store is already ai generated

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-05 17:56:51 +01:00
Matt Sherman 9ba256235a
Fix @woocommerce/block-templates changes not being picked up on build (#43328) 2024-01-05 11:44:25 -05:00
Luigi Teschio 3978be9fdd
fix - Product Button: don't trigger jQuery add to cart function when the button is clicked on classic themes (#43325)
* fix - Product Button: don't trigger old add to cart function when the button is clicked on classic themes

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

* improve E2E tests

* update changelog

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

* update changelog

* use beforeEach

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-05 17:34:16 +01:00
Roy Ho 8bbb35d63e
[Experimental] Product Gallery: Use @container rule to adjust overlay link count font size (#43294)
* Product Gallery: Use @container rule to adjust overlay link count font size

* Add changelogs

* Remove em from line height

* Make view all link smaller
2024-01-05 07:23:19 -08:00
Albert Juhé Lluveras 67ddade2fd
Delete woocommerce-gutenberg-products-block.php file (#43319)
* Delete woocommerce-gutenberg-products-block.php file

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-05 15:32:15 +01:00
louwie17 62e2b53a55
Fix highlight tooltip deprecation notices (#43303)
* Remove deprecated achorRect and IsolatedEventContainer usage

* Add changelog

* Remove unused code

* Add option for shouldCloseOnClickOutside
2024-01-05 08:35:06 -04:00
Tung Du 37c94c7604
[Experimental] Fix: get the correct min/max price for filtering (#43313) 2024-01-05 17:19:33 +07:00
Saad Tarhi 009ff8707b
Move shopper-side Cart E2E tests to Playwright (#42897)
* Convert empty cart E2E test

* Convert product removal E2E test

* Convert quantity update E2E test to Playwright

* Convert E2E tests of the remaining methods that update cart quantity

* Convert E2E test: Proceed to Checkout

* Convert E2E test: Cross-Sells

* Remove test files

* Update plugins/woocommerce-blocks/tests/e2e/tests/cart/cart-block.shopper.block_theme.side_effects.spec.ts

Co-authored-by: Tarun Vijwani <tarun.vijwani@automattic.com>

* Set up cross sells products before e2e test

* Solve merge conflict

* Add changelog entry

* Remove obsolete import

---------

Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Tarun Vijwani <tarun.vijwani@automattic.com>
2024-01-05 17:15:23 +07:00
Albert Juhé Lluveras b07005afd1
Fix commands with tags breaking the command palette (#43269)
* Fix commands with tags breaking the command palette

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-05 10:41:37 +01:00
Tung Du af2dedb137
[Experimental] Filter blocks: add the navigate function back (#43287)
* fix: add the navigate function back

* fix: move the navigate function to a dedicate file only for frontend use
2024-01-05 14:33:43 +07:00
Niels Lange 413fb72630
Fix broken link to internal *.md file. (#43261) 2024-01-05 10:48:36 +07:00
Tarun Vijwani 2b0da27fd0
Update generic incompatibility notice (#42751)
* Move the switch to classic shortcode block button to separate component

- Move modal component file from incompatible-extension-notice component folder to switch-to-classic-shortcode-button folder.
- Rename modal component file to model-content component file.
- Move the switch to classic shortcode block button to separate component folder

* Update generic incompatibility notice

- Update the notice description.
- Add switch to classic shortcode block button to the notice.

* Fix margin in editor.scss

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

* Update class names in switch-to-classic-shortcode-button component

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

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

* Update plugins/woocommerce-blocks/assets/js/editor-components/switch-to-classic-shortcode-button/editor.scss

Co-authored-by: Niels Lange <info@nielslange.de>

* Refactor SwitchToClassicShortcodeButton component

* Fix css lint erros

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

* Add type property to notice events

* Refactor switch to classic shortcode button logic

* Use isCart for switchButtonLabel and snackbarLabel

* Remove empty div in sidebar compatibility notice component

* Refactor switch to classic shortcode button event handling

* Adjust wording

* Adjust marging and readability

* Introduce union for SwitchToClassicShortcodeButtonProps type prop

* Simplify logic

* Use proposed text

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2024-01-05 10:47:34 +07:00
Corey McKrill 68c147a491
Settings: Make minor corrections to the HTML markup of settings fields (#43166)
* Corrections to HTML markup of settings controls

* Remove deprecated `valign` attributes from table row elements
* Remove orphaned quotation marks from the end of table row elements

Co-authored-by: Sagehen Studio <2924107+sagehenstudio@users.noreply.github.com>

* Enable title prop for `info` setting type

This gives the `<th>` for the info setting type a closing tag
since its not self-closing. It also allows for adding a `title` prop
to the info setting type, to match all the other setting types.

* Add changelog file

* phpcs cleanup

---------

Co-authored-by: Sagehen Studio <2924107+sagehenstudio@users.noreply.github.com>
2024-01-04 16:08:31 -08:00
github-actions[bot] 88d71aa9c8
Delete changelog files based on PR 43257 (#43291)
Delete changelog files for 43257

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-04 17:08:52 +00:00
Damián Suárez 17c8354ad9
[Product Block Editor]: Be able to dismiss AdviceCard instances (#43124)
* introduce packages/js/data/src/user/types.ts pref

* be able to dismiss the Upsells advice

* rename user pref key

* typify product_advice_card_dismissed prop

* store is dismissed state in the user pref

* delegate the dismiss state to the component

* changelog

* remove console.log :'(

* fix TS issue

* fix TS issue

* changelog
2024-01-04 12:17:03 -03:00
Alexandre Lara bffe12b945
Product Gallery block: Fix e2e tests for Thumbnails block (#43060)
* Fix e2e tests for thumbnails change

* Add changelog
2024-01-04 10:38:32 -03:00
Maikel Perez f34bb52f9e
Linked product list (#43145)
* Create and register product-linked-list-field block

* Add upsells and cross-sells blocks to the simple product template

* Create formatted price component

* Add linked product table to the linked product list block

* Add remove product button to each product row

* Add see product page button

* Add link to the product name so it can be edited in a new tab

* Fix some styles

* Add product search field to the linked product list block

* Fix styles

* Add changelog files

* Fix linter error

* Fix rebase conflicts

* Use useProductEntityProp instead of useEntityProp within product-linked-list-field block

* Move the product list to its own component

* Move the product select to its own component

* Move the product image to its own component

* Fix linter error
2024-01-04 08:34:53 -05:00
Niels Lange 0cffd32875
Remove old noticed on classic checkout when applying coupon code (#43244)
* Remove old noticed on classic checkout when applying coupon code

* Remove old noticed on classic checkout when applying coupon code

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-04 12:31:00 +01:00
Alba Rincón f528361ec2
Show default patterns and products if the images request fails (#43157)
* Show default patterns and products if the images request fails

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

* Remove space

* Simplify condition

* Removed unused call

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-04 12:11:00 +01:00
Karol Manijak 4128bff64c
Fix incorrect layout of Product Collection placeholder on Firefox (#43264)
* Fix incorrect layout of Product Collection placeholder on Firefox

* Add changelog
2024-01-04 11:20:57 +01:00
Alba Rincón 9d86e1f038
Remove the double quotes from the AI generated content before saving it (#43249)
* Remove the double quotes from the AI generated content before saving it

This will avoid having two consecutive double quotes and breaking the JSON.

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

* Fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-04 09:47:28 +01:00
Kyle Nel 4428d81b12
Display ratings on marketplace product cards (#43240)
* Add rating and change product card layout

* Fix some minor CSS bugs in existing code

* Implement skeleton loader

* Update theme card styling to match design

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


---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-04 10:07:00 +02:00
Sam Seay faf1c6f09e
[Experimental] Use variations to provide all the product filters wrapped by CollectionFilters block (#43216)
---------
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
2024-01-04 18:33:59 +13:00
Siddharth Thevaril a6ea063cba
Fix payment gateway doc (#43238)
* Fix namespace

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-04 12:07:07 +07:00
Tung Du de1d60ebe4
[Experimental] Add Widget support to new collection filter blocks (#43153) 2024-01-04 11:56:24 +07:00
Sam Seay 73160b3c41
[Experimental] Filter out filter options that would result in 0 products. (#43220) 2024-01-04 17:23:40 +13:00
kevinbates 7f7515aa1c
Update readme.txt (#43257)
* Update readme.txt : updated the intro text and added 3 links.

* Changelog.

---------

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2024-01-03 19:18:57 -08:00
Leif Singer a81cfff412
Add tests for searching for multiple term IDs (#43089)
* correct copy/paste error

* test searching by multiple tag IDs

* test searching by multiple category IDs

* add the changelog file
2024-01-03 19:18:22 -08:00
Matt Sherman a8dab20997
Layout templates REST API (#43067)
* Endpoint shell

* Single layout template route

* Add area query arg

* Fix BlockTemplateRegistry::get_registered() return type

* Check if templates are registered before registering

* Use json format for layout templates response

* Remove unused use

* Use json format for layout templates response for get_items

* Consolidate processing for get_items and get_item

* LayoutTemplateRegistry

* Fix matching by id

* Get templates from LayoutTemplateRegistry

* Remove unused method

* Fix typo in code doc

* Move template instantiation to registry

* Return template instance, not json when instantiating

* Use LayoutTemplateRegistry instead of BlockTemplateRegistry

* Add code docs for rest controller

* Fix code doc in BlockTemplateRegistry

* Code docs for LayoutTemplateRegistry

* Changelog

* Add code doc for LayoutTemplatesServiceProvider

* Unit test for registering a layout template

* Unit tests for invalid params when registering layout template

* Unit test for layout template instantiation

* Unit test for instantiating layout templates with query params

* Unit test for layout template instance caching

* Cache layout template instances

* Refactor layout template info querying

* Add unit test for layout template instantiation actions

* Add before and after layout template instantiation actions

* Use layout template ID for array key

* REST API unit test to get all items

* Unit test for unregister_all

* Method to unregister all layout templates

* REST API unit test to get all items for a specific area

* Fix to_json() in TestLayoutTemplate

* REST API unit test to get single item

* Fix get_item

* REST API unit test for single item with invalid id

* REST API unit test for get all items for invalid area

* Fix test_cached_instances - array access

* Test that old register hook is called

* Call old register hook

* Remove before hook (will put in separate PR)
2024-01-03 20:02:38 -05:00
Denis Dvali 280fe7cd51
Fix occurrences where Installer_Error exception is returned instead of being thrown (#43108)
* Fix occurrences where Installer_Error exception is returned instead of being thrown.

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

* Add @throws tag in function comment.
2024-01-03 14:59:08 -08:00
Tomek Wytrębowicz 70b22764a9
Fix Consent API integration with OSA (trunk-based) (#43012)
- Stop tracking order attribution when the consent is revoked on the same page.
   Switch `wp_consent_type_defined` to VanillaJS event, as this is what the latest Complianz dispatches.
   Remove jQuery dependency.
   5427807509
- Update checkout block data when consent is given/revoked on the same page
   263d0b8a14
- Register WPConsentAPI integration for OrderAttribution
   cde9f642a1
- Don't store empty meta values for order attribution 
   If no values at all are sent, don't create meta records
   00b83eed00
- Don't translate or add parenthesis to unknown placeholder
   bbc4b1f699
- Un-hardcode marketing category in wp-consent-api-integration.js
   45014a715a

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
2024-01-03 22:36:35 +01:00
Damián Suárez b6f8ab94f5
[Woo beta tester]: add User Preference panel (#43125)
* introduce UserPreference panel

* render user preference panel

* expose UserPreferences type

* introduce force mode to update user pref

* rename global object with `__wcbt`

* changelog

* changelog
2024-01-03 17:42:18 -03:00
rodelgc 12e65af8ca
Fix WooAF changelog typo and release date (#43254)
* Fix typo

* Fix `acceleratedReleaseDate` output

* Comment unnecessary steps, jobs

* Do only a dry-run

* Revert "Do only a dry-run"

This reverts commit a41ea99401.

* Revert "Comment unnecessary steps, jobs"

This reverts commit 97985a0ad0.

* Add changelog
2024-01-03 12:56:39 -06:00
Albert Juhé Lluveras 263011bdd2
Prevent Command Palette scripts to enqueue unnecessary scripts in the editor (#43221)
* Prevent Command Palette scripts to enqueue unnecessary scripts in the editor

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

* Properly set script asset dependencies

* Create util function to simplify the code

* Fix JS warning when registering WooCommerce Commands

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-03 18:07:43 +01:00
Daniel Dudzic 7163d610e5
Product Gallery: Fix Large Image snapping position on window resize (#43251)
* Product Gallery: Fix Large Image snapping position on window resize

* Product Gallery Snap Fix: Add changelog
2024-01-03 17:46:43 +01:00
Niels Lange ce625318cf
Update contributors list (#43182)
* Update contributors list

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

* Add changelog entry

* Add contributors of WooCommerce Beta Tester

* Delete duplicate changelog entry

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-03 18:02:30 +07:00
Michael Pretty e7647333a1
Fix bug when searching orders with a term starting with d, s, or f (#43085)
* Don't prepare the order search $meta_sub_query twice.

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
2024-01-03 11:49:17 +01:00
Sam Seay 187780905f
[Experimental] Use CheckboxList component in interactivity attribute filter (#43217) 2024-01-03 22:58:57 +13:00
Sam Seay 161bf51bd3
[Experimental] Allow overriding placeholder in interactivity Dropdown::render (#43211)
* add: multiple select support to attribute dropdown
* fix: remove active filter from dropdown
* chore: remove unused extractBuiltinColor

---------
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
2024-01-03 20:52:45 +13:00
Tung Du 97e4c55aeb
[Experimental] Rating Filter block: fix wrong import path (#43198) 2024-01-03 09:31:50 +07:00
Alexandre Lara 44e4a75419
[E2E Tests] Product Gallery > Thumbnails block: Refactor code to remove unnecessary wait for timeout (#43180)
* Refactor code to remove unnecessary wait for timeout

* Add changelog
2024-01-02 16:29:37 -03:00
Alexandre Lara e968c329c6
Add e2e tests for image transition in Product Gallery block (#43095)
* Add e2e tests for image transition in Product Gallery block

* Create e2e tests for the Product Gallery block when it is inside the pop-up

* Add changelog

* Remove unnecessary lodash dependency import
2024-01-02 16:19:28 -03:00
Alba Rincón f9cdce486a
Increase Pexels product images width to 400px to have a better resolution (#43174)
* Increase product images width to 400 to have a better resolution

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-01-02 13:59:38 +01:00
Sam Seay 5de0f4a274
[Experimental] Refactor the interactivity dropdown to remove dependence on FormTokenField (#43183)
* Also fix https://github.com/woocommerce/woocommerce/issues/43154
2024-01-02 17:13:27 +13:00
github-actions[bot] e43eb1dcab
Delete changelog files based on PR 43177 (#43203)
Delete changelog files for 43177

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2024-01-01 23:05:34 +00:00
Sam Seay 7619549091
Check if WOOCOMMERCE_BLOCKS_PHASE is set inside build-zip script. (#43169) 2024-01-01 17:20:01 +13:00
Tung Du bd9ddc830a
[Experimental] Add: QueryFilters class to calculate filter data for product queries (#42811)
* add: query filters count class

* chore: method comments

* refactor: rename class to QueryFilters

* fix: price filter count

* fix: price filter url

* chore: remove unnecessary transformation

* chore: remove unused meta query filter

* chore: put public methods on the top of the class

* fix: passing $wp_query

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

* fix: stock query clause

* fix: handle and query type for attribute filter

* fix: ensure passing non null value to floor/ceil

* [Experimental] Collection Filter blocks: ensure the namespace is always rendered (#43112)

* fix: ensure the namespace is always rendered

* fix: target only wc queries

* fix: properly reset part of query to make new filter blocks work with Product Collection block
2024-01-01 10:18:50 +07:00
Albert Juhé Lluveras c58b0cf936
Fix error when adding to cart from the Product Collection block if Google Analytics plugin is enabled (II) (#43177)
* Revert "Trigger event `experimental__woocommerce_blocks-cart-add-item` in the SSR Product Button vis Interactivity API (#42946)"

This reverts commit 4fec136da1.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-29 17:23:35 +01:00
Alexandre Lara 4efd2123a3
[Docs] Update links from WooCommerce.com to Woo.com for the Woo Blocks documentation (#43055)
* Update woocommerce.com URLs in documentation and code files

* Add changelog

* Fix github repository link in extend-rest-api-add-custom-fields.md

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

* Add github reporter (#42974)

* Add github reporter

* Add changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>

* Fix product task redirect to support grouped and external products (#43051)

* Rearrange product redirection logic to better accept grouped and external produc types

* Add changelog

* Modify feedback modal actions (#43005)

* Adapt feedback modal actions

* Add changelogs

* Modify comments

* Fix tests

* Fix test

* Update class-wc-gateway-bacs.php (#43054)

* Update class-wc-gateway-bacs.php

Fix typo in textdomain

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

---------

Co-authored-by: github-actions <github-actions@github.com>

* [Product Block Editor]: Add `Linked product` tab (#43009)

* add linked-products to group IDs

* add Linked Products tab

* tweak hideConditions condition

* changelog

* fix typo in doc comment

* Introduce a product type selection within the new experience (#41823)

* Create a relation between the product type and the product block template

* Add 'patterns' to name the kind of products that can be created for a specific template

* Resolve template using its id as a template query param

* Rename ProductEditPattern to ProductTemplate

* Rename get_patterns hook to woocommerce_product_editor_get_product_templates

* Return the list of templates to the client

* Set layout template events as array

* Register the layout template based on the product template or the post type in case of product variations

* Registering non supported product types

* Create and register the woocommerce/product-details-section-description block

* Add the product type to the section description

* Create product type selector

* Fix menu item style

* Highlight selected menu item

* Set the selected product template

* Set product template title to lowercase in the content description

* Rename blocks by blockTemplates under the AbstractBlockTemplate class

* Rename to woocommerce_product_editor_product_templates filter

* Remove product_template_ prefix from the supported_product_types map

* Rename get_formatted to to_JSON and convert the props to client side like

* Refactor get_product_templates

* Fix icon resolution

* Add a confirmation modal for unsupported product templates

* Add changelog files

* Remove product types using for testing

* Fix redirection when changing to a non supported product template

* Set the change button state to busy when it is saving the product

* Fix php linter errors

* Fix rebase conflict

* Move ProductTemplate to Automattic\WooCommerce\Admin\Features\ProductBlockEditor namespace

* Add the to_json definition to the BlockTemplateInterface

* Create default product template by custom product type if it does not have a template associated yet

* Fix some comments and product template creation validation

* Add support to load the product template icon from an external resource

* Fix php linter

* Fix the changelog description

* [Experimental] Interactivity Dropdown multi-select mode, ratings filter and introduce each directive (#42981)


---------
Co-authored-by: David Arenas <david.arenas@automattic.com>

* Introduce the transient files engine (#42877)

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>

* Change marketplace install API request to POST instead of GET (#43033)

* Change marketplace install API to using POST instead of GET
* Fix linting error
* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>

* Prep trunk for 8.6 cycle (#43021)

Prep trunk for 8.6 cycle with version bump to 8.6.0-dev

Co-authored-by: WooCommerce Bot <no-reply@woo.com>

* Add Playwright tests for All Reviews, Reviews by Product and Reviews by Category blocks (#42903)

* Remove Reviews blocks Puppeteer tests

* Minor code cleanup

* Typos

* Create publishAndVisitPost() editor util

* Fix subcategories when importing products in Playwright and add reviews

* Add Reviews blocks tests in Playwright

* More typos

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

* Create a 'reviews' object in data.ts so we can store reviews data in one single place

* Update test so instead of creating a new post in each test, we go to the already-created post

* Add source comments to reviews data to match it with the script

---------

Co-authored-by: github-actions <github-actions@github.com>

* Release: Remove 8.5 change files (#43022)

Delete changelog files from 8.5 release

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
Co-authored-by: Alex López <alex.lopez@automattic.com>

* Delete changelog files based on PR 43033 (#43079)

Delete changelog files for 43033

Co-authored-by: WooCommerce Bot <no-reply@woo.com>

* Delete changelog files based on PR 43051 (#43081)

Delete changelog files for 43051

Co-authored-by: WooCommerce Bot <no-reply@woo.com>

* Interactive Price Filter: use `context` instead of `state` (#42980)

* feat: use context instead of state

* fix: temporary move the context to inner element for diffing to work

* fix: update context before navigation for optimistic UI

* Load google analytics gtag script asynchronously in WooCommerce Blocks (#43040)

Co-authored-by: github-actions <github-actions@github.com>

* set WOOCOMMERCE_BLOCKS_PHASE to 1 for the production build (#43074)

* set WOOCOMMERCE_BLOCKS_PHASE to 1 for the production build

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

---------

Co-authored-by: github-actions <github-actions@github.com>

* Revert "Fix schedule sales error" (#43094)

Revert "Fix schedule sales error (#42700)"

This reverts commit 9b800aa179.

* [Product Block Editor]: add Linked product sections. First approach. (#43013)

* add Linked products, Upsell section

* changelog

* add Cross-lens section

* add links to the Upsell sections

* changelog

* fix lint issues

* fix lint issus

* fix linting issue :-|

* check whether the linked product group is defined

* [Product Block Editor]: introduce ShoppingBags component (#43042)

* add ShoppingBags component

* Add ShoppingBag story

* changelog

* Fix: Collection data being leaked between Collection Filters blocks (#43044)

* fix: CYS - change heading color (#43076)

* fix: CYS - change heading color

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>

* Delete changelog files based on PR 43074 (#43118)

Delete changelog files for 43074

Co-authored-by: WooCommerce Bot <no-reply@woo.com>

* [Product Block Editor]: fix feature flag to hide the Linked products (#43119)

* fix flag to hide/show product editor

* changelog

* Add changelog

---------

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: louwie17 <lourensschep@gmail.com>
Co-authored-by: Fernando Marichal <fernando.marichal@automattic.com>
Co-authored-by: Marc Guay <marc.guay@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Damián Suárez <rdsuarez@gmail.com>
Co-authored-by: Maikel David Pérez Gómez <maikel.perez@automattic.com>
Co-authored-by: Sam Seay <samueljseay@gmail.com>
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Co-authored-by: Kyle Nel <22053773+kdevnel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: WooCommerce Bot <no-reply@woo.com>
Co-authored-by: Alex López <alex.lopez@automattic.com>
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
2023-12-29 12:28:11 -03:00
Manish Menaria 1ed5d0872a
Fix: Enable Pagination Block Visibility in Product Collection Block (#43132)
* Fix: Enable Pagination Block Visibility in Product Collection Block

This commit resolves an issue where the Pagination block was not visible in the block insertor within the Product Collection block.

- The core query pagination block name, initially hardcoded, is now declared as a constant `coreQueryPaginationBlockName` in `constants.ts`. This change not only improves code readability but also ensures consistency in using the block name across different files.

- In `index.tsx`, the `addProductCollectionBlockToParentOfPaginationBlock` utility function from `utils.tsx` is imported and executed. This function plays a crucial role in the fix. It dynamically adds the Product Collection block to the parent array of the Core Pagination block, ensuring the latter's visibility in the insertor when editing the Product Collection block.

- The utility function employs WordPress hooks and version checks to gracefully handle different WordPress environments. This careful approach maintains backward compatibility while addressing the current issue.

With these changes, merchants can now easily add a Pagination block from the insertor while working on the Product Collection block, enhancing the user experience and functionality.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-29 15:45:29 +05:30
Jorge A. Torres 69a864af67
Update tracks events hooks for HPOS (#42879)
* Update ‘orders_view’ tracks event for HPOS

* Update ‘orders_view_search’ tracks event for HPOS

* Update ‘order_edit_date_created’ tracks event for HPOS

* Update ‘order_edit_add_order’ tracks event for HPOS

* Correctly enqueue order tracking JS scripts when HPOS is active

* Address TS script

* Change add_filter() to add_action()

* Fix tests

* Add changelog

* Fix some linting issues

* Make PHPCS happy

* Better handle deprecating old method

* Fix condition
2023-12-29 08:46:59 +00:00
Manish Menaria 5d5fc57e8c
Fix: migration issues when transitioning from Products (Beta) block to Product Collection block (#43130)
* Update product query block templates with WooCommerce namespace

It modifies the `<wp:post-template>` block in multiple files to include a new attribute: `{"__woocommerceNamespace":"woocommerce/product-query/product-template"}`.

The inclusion of the `__woocommerceNamespace` attribute is a strategic enhancement, ensuring that these block templates are explicitly recognized as part of the WooCommerce namespace.
This fix the issue where migration from Products beta block to Product Collection block doesn't work properly.

* Fix linting error

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-29 12:09:12 +05:30
Jorge A. Torres 9ce04dc807
Add hook to exclude certain properties from HPOS sync/verification (#43123)
Certain order properties (or metadata) are not relevant for HPOS verification. For example, `_edit_lock` which is an ephemeral key. So far we've been hardcoding these keys in various places. This provides a new API to access these keys. It also introduces hook `woocommerce_hpos_sync_ignored_order_props` which allows 3rd party code to add new keys to be ignored by sync/verification code.

Fixes #41907
2023-12-28 10:40:02 -08:00
Sam Seay eabb27c72b
[Experimental] Add block text color support to interactivity filter blocks (#43068)
* [Experimental] Render headings as inner blocks of collection filters (#43109)
2023-12-29 03:06:35 +13:00
Damián Suárez b36023e8aa
[Product Block Editor]: render empty state for the Cross-sells section (#43143)
* introduce cross-sells product field block

* export Cross-sell block

* add Cross-sells block instance into the Cross-sell section

* fix importing image bug

* changelog

* changelog

* remove unexpected console.log instance
2023-12-28 09:06:01 -05:00
Tarun Vijwani 2749cebf7f
E2E tests migration: Backend mini-cart tests to Playwright (#43093)
* Migrate Backend mini-cart tests to Playwright

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2023-12-28 14:33:53 +04:00
Corey McKrill 718978f840
Logging: QoL improvements to the single file view (#43146)
* Clear line highlight with a click

* Vertically center log file line when selected

* Add changelog file
2023-12-28 09:31:31 +00:00
Niels Lange 8e7c5cca1c
Show rating stars for the cross-sells products (#43069)
* Show rating stars for the cross-sells products

* Fix typo introduced in #43116 (#43148)

* Fix typo introduced in #43116

* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor

---------

Co-authored-by: github-actions <github-actions@github.com>

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-28 16:20:07 +07:00
Damián Suárez 35a4f077cf
[Product Block Editor]: render empty state for the Upsells section (#43116)
* Upsells block: scafolding

* export Upsells block

* add Upsells block into the Upsells section

* render empty state for the Upsells section

* iadd hardcoded isEmpty flag

* changelog
2023-12-27 19:40:03 -03:00
Damián Suárez b41ecfe33d
[Product Block Editor]: update the conditions to hide the Cross-sells section (#43140)
* update the conditions to hide Cross-sells section

* changelog

* fix eslint issues
2023-12-27 19:39:16 -03:00
Patricia Hillebrandt de9322fb38
[CYS] Update the neutral color palette to black and white (#43114)
* Update the neutral color palette to black and white.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-27 09:30:08 -03:00
Patricia Hillebrandt 589617a41d
CYS > Update AI-generated site title, image optimizations and updated directory structure (#43086)
* Remove the last business description check to allow repetition.

* Create the new AIContent directory and update the structure and name of the classes.

* Ensure the store title is updated with new AI-generated content if the previous title was also AI-generated.

* Return if the images result in error.

* Update the name of the option for fetching the AI generated site title.

* Introduce the new adjust_image_size method for shared usage between products and patterns.

* Increase the quality of images used in patterns

* Introduce the ContentImageProcessor class.

* Undo PatternsHelper rename

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

* Address lint errors

* Ask AI to summarize the business description if the number of characters provided by the user is bigger than 150 characters.

* Rename the ContentImageProcessor class to ContentProcessor and introduce the new summarize_business_description method.

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-27 08:33:37 -03:00
Karol Manijak 37155abb0c
New flow of adding Product Collection and basic set of Collections (#42696)
* Migrate PR to Core

* Migrate test changes

* Add Custom Collection with inherit query attribute disabled

* Update copy of Product Catalog collection

* Don't choose default active collection in polaceholder and remove highlight

* Remove inherit query option from inspector controls

* Add collection names to Product Catalog and Custom one

* Unify Collection Chooser between Modal and Placeholder

* Bring back util removed by accident

* Replace the translations domain with woocommerce

* Remove leftovers after merge

* Add pagination and no results to Product Catalog and Custom collections

* Revert textdomain change

* Fix lint error

* Add changelog entry

* Change collection label

* Bring back Inherit query from template

* Remove Custom collection and bring back single Product Collection

* Simplify applying collection

* Make sure Inherit query from template is enabled in archive templates by default and disbaled in posts/pages

* Change incorrect Playwright locator

* Add test for Product Catalog inheriting the query in product archive

* Add tests for recommendation collection hiding the predefined filters

* Add reviews to multiple products

* Update expected products in Top Rated

* Remove rating creation in test env and skip undeterministic tests

* Add skip to Best Sellers test

* Update README.md

* Add more keywords to collections, like 'product collection' to recommendation collections

* Rephrase the README note about Collections registration

* Simplify types

* Rename unchangeableFilters to hideControls

* Fix typo in file name

* Remove 'pattern' references from toolbar files

* Replace hardcoded SCSS color with wc variable

* Remove changelog file from different PR

* Move hideControls to Product Collection ayttributes

* Improve responsiveness of columns in Product Collection Placeholder

* Use admin color pallette in Product Collection Placeholder

* Move Inherit query from template to the top of Inspector Controls

* Change the Collection prefix to woocommerce rather than woocommerce-blocks

* Simplify Placeholder and Modal styles
2023-12-27 11:07:27 +01:00
Damián Suárez 300e79ac7f
[Product Block Editor]: fix feature flag to hide the Linked products (#43119)
* fix flag to hide/show product editor

* changelog
2023-12-26 14:14:43 -03:00
github-actions[bot] 0f880ff7a2
Delete changelog files based on PR 43074 (#43118)
Delete changelog files for 43074

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2023-12-26 22:44:02 +08:00
Luigi Teschio 7cb10704ff
fix: CYS - change heading color (#43076)
* fix: CYS - change heading color

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
2023-12-26 09:07:52 -03:00
Tung Du c2cab76069
Fix: Collection data being leaked between Collection Filters blocks (#43044) 2023-12-26 16:13:30 +07:00
Damián Suárez 7be2481381
[Product Block Editor]: add Linked product sections. First approach. (#43013)
* add Linked products, Upsell section

* changelog

* add Cross-lens section

* add links to the Upsell sections

* changelog

* fix lint issues

* fix lint issus

* fix linting issue :-|

* check whether the linked product group is defined
2023-12-22 18:44:44 -03:00
Damián Suárez 7f2b1c42fd
Revert "Fix schedule sales error" (#43094)
Revert "Fix schedule sales error (#42700)"

This reverts commit 9b800aa179.
2023-12-22 18:20:56 -03:00
Luigi Teschio 99aeaff6dd
set WOOCOMMERCE_BLOCKS_PHASE to 1 for the production build (#43074)
* set WOOCOMMERCE_BLOCKS_PHASE to 1 for the production build

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-22 17:43:53 +01:00
Thomas Roberts db17f27f02
Load google analytics gtag script asynchronously in WooCommerce Blocks (#43040)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-22 08:42:11 -08:00
Tung Du 0c5d01a6ac
Interactive Price Filter: use `context` instead of `state` (#42980)
* feat: use context instead of state

* fix: temporary move the context to inner element for diffing to work

* fix: update context before navigation for optimistic UI
2023-12-22 22:05:31 +07:00
github-actions[bot] d14be998f5
Delete changelog files based on PR 43051 (#43081)
Delete changelog files for 43051

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2023-12-22 13:10:20 +01:00
github-actions[bot] 3ff4385e69
Delete changelog files based on PR 43033 (#43079)
Delete changelog files for 43033

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2023-12-22 13:08:07 +01:00
github-actions[bot] 6790d2558e
Release: Remove 8.5 change files (#43022)
Delete changelog files from 8.5 release

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
Co-authored-by: Alex López <alex.lopez@automattic.com>
2023-12-22 09:52:00 +01:00
Albert Juhé Lluveras 2da7b73e76
Add Playwright tests for All Reviews, Reviews by Product and Reviews by Category blocks (#42903)
* Remove Reviews blocks Puppeteer tests

* Minor code cleanup

* Typos

* Create publishAndVisitPost() editor util

* Fix subcategories when importing products in Playwright and add reviews

* Add Reviews blocks tests in Playwright

* More typos

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

* Create a 'reviews' object in data.ts so we can store reviews data in one single place

* Update test so instead of creating a new post in each test, we go to the already-created post

* Add source comments to reviews data to match it with the script

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-22 09:33:18 +01:00
github-actions[bot] a355346be2
Prep trunk for 8.6 cycle (#43021)
Prep trunk for 8.6 cycle with version bump to 8.6.0-dev

Co-authored-by: WooCommerce Bot <no-reply@woo.com>
2023-12-22 09:27:54 +01:00
Kyle Nel 92e1b932c3
Change marketplace install API request to POST instead of GET (#43033)
* Change marketplace install API to using POST instead of GET
* Fix linting error
* Add changefile(s) from automation for the following project(s): woocommerce

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-22 10:03:11 +02:00
Néstor Soriano a8b0f88bad
Introduce the transient files engine (#42877)
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2023-12-22 08:44:18 +01:00
Sam Seay 3eeeddfdb3
[Experimental] Interactivity Dropdown multi-select mode, ratings filter and introduce each directive (#42981)
---------
Co-authored-by: David Arenas <david.arenas@automattic.com>
2023-12-22 13:34:28 +13:00
Maikel David Pérez Gómez a592a473d3
Introduce a product type selection within the new experience (#41823)
* Create a relation between the product type and the product block template

* Add 'patterns' to name the kind of products that can be created for a specific template

* Resolve template using its id as a template query param

* Rename ProductEditPattern to ProductTemplate

* Rename get_patterns hook to woocommerce_product_editor_get_product_templates

* Return the list of templates to the client

* Set layout template events as array

* Register the layout template based on the product template or the post type in case of product variations

* Registering non supported product types

* Create and register the woocommerce/product-details-section-description block

* Add the product type to the section description

* Create product type selector

* Fix menu item style

* Highlight selected menu item

* Set the selected product template

* Set product template title to lowercase in the content description

* Rename blocks by blockTemplates under the AbstractBlockTemplate class

* Rename to woocommerce_product_editor_product_templates filter

* Remove product_template_ prefix from the supported_product_types map

* Rename get_formatted to to_JSON and convert the props to client side like

* Refactor get_product_templates

* Fix icon resolution

* Add a confirmation modal for unsupported product templates

* Add changelog files

* Remove product types using for testing

* Fix redirection when changing to a non supported product template

* Set the change button state to busy when it is saving the product

* Fix php linter errors

* Fix rebase conflict

* Move ProductTemplate to Automattic\WooCommerce\Admin\Features\ProductBlockEditor namespace

* Add the to_json definition to the BlockTemplateInterface

* Create default product template by custom product type if it does not have a template associated yet

* Fix some comments and product template creation validation

* Add support to load the product template icon from an external resource

* Fix php linter

* Fix the changelog description
2023-12-21 18:45:31 -05:00
Damián Suárez eac1a460f0
[Product Block Editor]: Add `Linked product` tab (#43009)
* add linked-products to group IDs

* add Linked Products tab

* tweak hideConditions condition

* changelog

* fix typo in doc comment
2023-12-21 16:00:32 -03:00
Marc Guay 65828db266
Update class-wc-gateway-bacs.php (#43054)
* Update class-wc-gateway-bacs.php

Fix typo in textdomain

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 19:54:12 +01:00
louwie17 9182efaaf6
Fix product task redirect to support grouped and external products (#43051)
* Rearrange product redirection logic to better accept grouped and external produc types

* Add changelog
2023-12-21 14:09:00 -04:00
Jonathan Lane a67a1c6efc
Add github reporter (#42974)
* Add github reporter

* Add changelog

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2023-12-21 09:07:54 -08:00
Moon dc26c5a8f4
Fix incorrect wpBody margin top value set by TasksReminderBar (#43020)
* Use clientHeight to set the correct marginTop -- height is not a valid property

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 08:43:50 -08:00
Alba Rincón b3db937d3a
CYS - Ensure the offline modal is displayed whenever AI is unavailable (#42949)
* Show the ai offline modal independently from the onboarding tour

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

* Remove log

* Fix tests

* Add customizing parameter to avoid showing the aioffline modal when customizing

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 16:56:22 +01:00
Jaclyn Chen d1a8f91836
Analytics: add `date_type` parameter to override date type option for revenue stats (#42938)
* Add `date_type` parameter to revenue stats API for overriding the date type column.

* Update coding styles.

* Add changelog.

* Validate `date_type` value with strict matching.

* Add test cases for passing a valid/invalid `date_type` parameter.

* Remove extra validation on `date_type` value as it's already validated at the API level.

* Check for each allowed value of `date_type` in the test case.
2023-12-21 09:38:19 -04:00
Paulo Arromba 1219cadf10
Fix/ Count() warning/error on invalid data supplied by the filter `woocommerce_cart_shipping_packages` (#42964)
* Fixed count() warning on invalid data supplied by the filter.

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

* Removed unnecessary if

* Ordered comment to match if-clause
2023-12-21 13:24:39 +00:00
Fernando Marichal 9b800aa179
Fix schedule sales error (#42700)
* Fix schedule sales error

* Add changelog

* Fix lint

* Fix variable product error

* Add clear cache

* Remove sale price fix from data-store-cpt

* Fix comment

* Remove cache cleaning

* Add unit tests

* Fix lint

* Modify get_price
2023-12-21 10:10:22 -03:00
Thomas Shellberg cf52b42e26
Add React Testing Library to the Woo AI plugin. (#42993)
* Add React Testing Library and the simplest of tests to verify tests can be run successfully.
2023-12-21 12:25:08 +01:00
Niels Lange 01ede130aa
Adjust indents of old notice styles (#43031)
* Clean up old notice styles

* Adjust vertical marging for error list items on TT theme

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

* Delete obsolete CSS file

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 17:10:14 +07:00
Tom Cafferkey 505fe17db2
Product Hero Pattern: Fix button alignment (#42913)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 09:31:23 +00:00
Tom Cafferkey a9550d8894
Store API: Add support to query product_variations by attributes (#42983)
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2023-12-21 08:09:06 +00:00
Tom Cafferkey 99fc85ae15
Block Hooks API: Add Tazza theme to the list of allowed themes for Mini Cart auto-insertion (#42900)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 08:08:54 +00:00
Manish Menaria ba4f3d4d29
Add price range filter to Product Collection block (#42858)
* Add price range filter to Product Collection block

This update introduces a price range filter feature to Product Collection. Changes include:

1. Constants Update:
   - Added `priceRange` as undefined in `DEFAULT_QUERY` and `DEFAULT_FILTERS` in `constants.ts`.

2. Style Adjustments:
   - Added CSS for `.wc-block-product-price-range-control` in `editor.scss` to align the input text to the end.

3. Component Integration:
   - In `inspector-controls/index.tsx`, the `PriceRangeControl` component is now imported and integrated.

4. New Components:
   - `PriceTextField.tsx` and `PriceRangeControl/index.tsx` have been created to handle price range inputs in the Product Collection block.

5. Backend Integration:
   - `PriceRange` interface added in `types.ts` for type support.
   - In `ProductCollection.php`, a filter (`add_price_range_filter`) is added to modify the main query based on the price range, including adjustments for tax considerations.

Overall, this enhancement allows users to filter products within a specific price range. The backend adjustments ensure that the filtering respects tax settings and displays accurate prices.

* Fix formatting

* Fix: Price range filter not working on Editor

* Improve: Share logic between Frontend & Editor

* Add changelog

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

* Remove duplicate changelog file

* Enhanced Input Control for Price Fields

Key changes include:

1. **Switch to Input Control**: Replaced the NumberControl component with the more versatile InputControl. This offers better handling of currency formatting and user input.

2. **Currency Formatting Logic**: Added robust logic for formatting numbers according to the currency settings. This includes handling thousand separators, decimal places, and currency symbols.

3. **String-to-Number Conversion**: Implemented a function to convert user-entered strings back to numbers, accounting for currency symbols and separators. This ensures accurate parsing of user input for processing.

4. **Input Handling Improvements**: Modified the onChange handlers for minimum and maximum price inputs. Now, they correctly handle edge cases like undefined or zero values, maintaining consistency in the user interface and data processing.

* Refactor price range query handling

1. Introduction of a new method `get_price_range_query_args()` to encapsulate the logic for handling price range queries, especially for the two edge cases:
   - Prices excluding tax displayed including tax.
   - Prices including tax displayed excluding tax.

2. Removal of direct conditionals in the `get_query_results()` method, replacing them with a call to the new `get_price_range_query_args()` method. This makes the code more modular and easier to understand.

This refactor enhances readability and maintainability of the code, ensuring that special cases in price range filtering are handled more effectively.

* Remove unnecessary suffix prop

* Refactor PriceTextField formatting logic for currency

1. Conditional application of thousand separators: The code now checks for the existence of `currency.thousandSeparator` before applying it. This prevents potential errors when the separator is undefined.

2. Simplified decimal separator handling: Introduced a fallback for the decimal separator, defaulting to a period ('.') if not specified by the currency settings.

3. Enhanced readability and documentation: Added comments to clarify the purpose of code blocks, especially where currency symbols are added or removed, and where value normalization occurs.

4. Function renaming for clarity: Renamed `formatValueWithCurrencySymbol` to `formatCurrency`, which better reflects its purpose.

* Fix onBlur issue with PriceTextField component

Refactored the PriceTextField component to utilize useState for better state management. This change introduces a local state variable, 'newValue', to store the current value. The state updates occur in the handleOnChange function, ensuring that the component's state is managed efficiently. Additionally, a new function, handleOnBlur, is implemented to handle the onBlur event, updating the component's state when focus is lost. The handleEnterKeyPress function captures the 'Enter' key press, providing a more user-friendly experience by allowing users to confirm their input with the Enter key.

* Fix linting error

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 12:45:20 +05:30
Niels Lange 49d6b2058a
Link cross-sells product image to product page (#42904)
* Link cross-sells product image to product page

* Add changelog entry

---------

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2023-12-21 11:13:47 +07:00
Justin Palmer cb0c42180a
Revise excluded order statuses for order attribution customer history (#42999)
* Better align excluded order statuses with WC Reports

* Update Tracks data to match updated customer order history count

* Add changelog

* Clarify code comment

* Exclude `checkout-draft` for block checkout/API orders.

* Remove unecessary array_map

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>

* Use existing method to get un-prefixed order statuses

---------

Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
2023-12-21 00:06:30 +01:00
Simran Vijwani 8e351f2f15
Add UTM group to product URL on the Discover page (#41967)
* Add utm_category to discover page

* Fix product category URL params

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

* Update productCategory to productGroup in Discover and NoResults components

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

---------

Co-authored-by: Simran <simran.kaur@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
2023-12-21 02:13:52 +04:00
Dekadinious d8e01b23cd
Update documentation in class-wc-order-item-product.php (#41160)
* Update class-wc-order-item-product.php

* Changelog.

* Fix alignment.

---------

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2023-12-20 13:52:00 -08:00
Leif Singer 06dc19ebd4
Ensure the gateway activation email does not depend on the gateway title being stored in the settings option (#42992)
* use `method_title` for the email to the admin as that is better suited for an admin context

* do not require the title to be set in the updated option

* add the changelog file

* adjust the test, too

* appease the linter
2023-12-20 13:44:30 -08:00
Ilyas Foo 4a5373409b
Fix shipping cost formatting to respect shipping formula (#42916) 2023-12-21 10:25:43 +13:00
Kathy 4d7bf10c96
Use product-sale-price ID for hooks. Closes #42907. (#42908)
* Use product-sale-price ID for hooks. Closes #42907.

* attempt to add a changelog
2023-12-20 17:44:32 -03:00
Damián Suárez e1e1d3c593
[Product Block Editor]: add `product-linked` feature flag (#43006)
* Add product-linked feature flag

* cchangelog

* enable product-linked flag in dev for now

* set product-linked unavailable in prod
2023-12-20 16:41:00 -03:00
Daniel Dudzic 7122669d44
Product Gallery: Simplify the Product Gallery Pop-up (#42797)
* Product Gallery Pop-up: Simplify the pop-up for v1

* Product Gallery Pop-up: Update the Product Gallery template part contents

* Product Gallery Pop-up: Add changelog entry

* Product Gallery: Fix CSS linting errors

* Product Gallery Pop-up: Add an additional changelog entry

* Product Gallery Pop-up: Update changelog message

* Product Gallery Pop-up: Fix logic error
2023-12-20 19:03:01 +01:00
Tom Cafferkey 0ba8f7848d
Block Hooks API: Add Amulet theme to the list of allowed themes for Mini Cart auto-insertion (#42899)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 15:26:21 +00:00
Luigi Teschio e45089eab3
CYS - select the right font with AI offline (#42973)
* CYS - select the right font with AI offline

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 15:41:19 +01:00
Luigi Teschio 24d0fed8e5
CYS - reset products and pattern when the site doesn't have AI generated content (#42970)
* CYS - reset products and pattern when the site doesn't have AI generated content

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

* fix lint

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 15:41:04 +01:00
Niels Lange 2f2e573f48
Fix notice styles (#42692)
* Fix notice styles

* Adjust failing e2e test
2023-12-20 08:29:43 -06:00
Brian Borman df1f5d9e45
Check store api draft order on short code for reserved stock (#42796) 2023-12-20 06:18:47 -08:00
Tom Cafferkey 95c34a430d
Block Hooks API: Add Thriving Artist theme to the list of allowed themes for Mini Cart auto-insertion (#42910)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 13:42:38 +00:00
Karol Manijak 4fec136da1
Trigger event `experimental__woocommerce_blocks-cart-add-item` in the SSR Product Button vis Interactivity API (#42946)
* Trigger event experimental__woocommerce_blocks-cart-add-item in the SSR Product Button vis Interactivity API

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

* Update code comment and add reference to the followup issue

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 13:50:43 +01:00
berislav grgičak 8d6621ece1
Remove install support for Woo.com hosted products (#42952)
* Installer url API

* Redirect if installer not available

* Remove paid product autoinstall support

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 12:52:51 +01:00
Néstor Soriano df17713dea
Add logging and an admin notice for Legacy REST API usages (#41804)
* Add logging and admin noticing for rest api usages

Two new settings are added (UI in the Legacy API settings page):

- woocommerce_legacy_api_log_enabled
- woocommerce_legacy_api_usage_notice_enabled

When any of the two are enabled, legacy API usages are stored
in two options, 'wc_legacy_rest_usages' and 'wc_legacy_rest_last_usage'.

'wc_legacy_rest_usages' is a dictionary keyed by user agent,
each entry is in turn a dictionary keyed by request route,
items are arrays containing first and last usage dates as well
as total usages count (API version is logged too but for simplicity
it's not used to key the data).

'wc_legacy_rest_last_usage' contains the entry for the last usage,
regardless of user agent and route. It's used to display the notice.

When 'woocommerce_legacy_api_usage_notice_enabled' is enabled,
and the 'wc_legacy_rest_last_usage' option exists, an admin notice
displaying its contents is shown.

* Add changelog file

* Linting fixes

* Fix unit test

* Simplify the approach to logging/noticing:

- Remove settings
- Use a transient instead of an option for temporary data
- Store temporary data by user agent but not by route
- Make the admin notice dismissable
- Don't log now show the notice if the legacy REST API extension
  is installed and active
- Add a filter to explicitly disable the logging

* Small fixes, including a missing "exit" after request processing

* Apply suggestions from code review

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>

* Fix linting issues

* Update the warning text under the "Enable legacy REST API" setting

* Change the rules to display the notice.

Now it won't appear if the transient isn't available
or if the Legacy REST API is disabled (or if the Legacy REST API
extension is active, as before); but if the user hasn't
explicitly dismissed the notice it will appear again if the transient
is recreated or the Legacy REST API is enabled again.

---------

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-12-20 11:34:31 +00:00
Justin Palmer 8853c93aca
Tweak Order Attribution meta data and Tracks data (#42937)
* Add the source type / origin of "Web admin" for orders created in admin

* Include "Web admin" in values for Order information metabox

* Include "Web admin" value for the Order information metabox

* Use the Order Origin meta value in the Origin column of the Orders table

* Add web admin and direct as origin values, and a flag for un/translated

* Use the untranslated origin_label value in Tracks

* Don't store the origin label in the database to allow better l10n

* Lowercase origin label in Tracks

* Empty label and Direct or Web admin as source for orders table column

* Better Tracks customer order count and include customer status

* Add changelog

* Update test to expect Unknown

* Remove short ternary

* Change OA meta box title to Order Attribution

* Use native order method `get_total_refunded`

* Simplify origin labels - use the same value for Orders Edit and table

* Correct imprecise doc comment.

* Improve customer order count and total spend calculation

* Make default label "Unknown" (for pre-OA orders, for example)

* Update tests to match new labels
2023-12-20 12:28:19 +01:00
Kyle Nel 58138e0036
Hide In-app marketplace feature flag UI (#42951)
* Hide Marketplace feature toggle UI
* Ensure marketplace feature is active in DB on all sites

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 12:44:22 +02:00
Alba Rincón 8484520231
CYS > Update copy to remove the duplicate "try to include" (#42960)
* Remove duplicated text

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 10:39:09 +01:00
Thomas Roberts 7768ef5b5c
Prevent "Use same address for billing" being checked by default if addresses differ (#42967)
* Don't access the keys of what is now just an array

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-20 14:47:59 +07:00
Matt Sherman 0b315380ed
Skip BlockRegistry tests for now until we can figure out why they are flaky (#42977) 2023-12-19 22:51:50 -05:00
Kathy 7cbf7a3442
Cart: Force calculate totals when ordering again (#42921)
Ensure cart totals are correctly calculated when using "Order again".

Fixes #42889
2023-12-19 16:58:41 -08:00
Barry Hughes d033a40b26
Tweak create-product-attribute spec (#42854)
* Adds missing aria-label and tabindex HTML attributes to the Help tip element for "Product data" on "Add new product" page.

* Escape HTML tags

* Added changelog

* Update comment

* Amend method for selecting "New attribute" placeholder.

* Restore use of `getByRole()` and select first instance (two are being matched, in some cases).

* Use last match (in some test runs, `getByRole()` is unexpectedly matching more than 1 heading.

---------

Co-authored-by: Sagar Tamang <mi5t4n@gmail.com>
2023-12-19 16:35:20 -08:00
Luigi Teschio 310de4cc9f
Docs: Compatibility Layer - update documentation about `woocommerce_single_product_summary` (#42862)
* docs: Compatibility Layer - update documentation about woocommerce_single_product_summary

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-19 23:18:24 +01:00
Paul Sealock b04c45ee5e
Shipping Settings: Highlight text on focus of cost input values (#42689) 2023-12-20 08:22:17 +13:00
louwie17 a72f3ee7a2
Add grouped and external products to new experiment (#42934) 2023-12-19 14:21:05 -04:00
Albert Juhé Lluveras 06e5b43d52
Reviews by Product block: fix encoded in input aria-label (#42944)
* Reviews by Product block: fix encoded in input aria-label

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-19 13:05:18 +01:00
Mike Jolley fe37bf8ddb
Remove duplicate cookie headers from the response (#42828)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-19 03:10:52 -08:00
Tom Cafferkey 73e696f467
Block Hooks API: Add Zaino theme to the list of allowed themes for Mini Cart auto-insertion (#42912)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-19 11:06:35 +00:00
Seghir Nadir d63dd1ed49
Allow passing partial data to Store API extensions field. (#42790)
* Make extended fields optional in Store API

* add tests

* add changelog

* update logic in validate function

---------

Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
2023-12-19 12:04:11 +01:00
Paul Sealock 23f44c0484
Shipping Settings: revert refresh styles (#42738) 2023-12-19 23:42:21 +13:00
Tung Du c651b10b3d
Add: Active Filters block powered by Interactivity API (#42008)
* add: active filters block

* update text domain

* chore: linting

* use template string instead of concat

* add experimental flag to register block type calls

* chore: update comments

* feat: register active rating filter data

* fix: unique navigation id when collection filters are added outside product collection

* fix: active filter rating id

* fix: return the href

* chore: phpcs
2023-12-19 17:29:33 +07:00
Jorge A. Torres 1965dfb63e
Add CLI tool to remove order data from legacy tables (#42848)
* Introduce `LegacyDataHandler` for handling legacy orders in the HPOS datastore

* Add methods to count and obtain orders subject to cleanup

* First pass at metadata cleanup for orders

* Add unit tests

* Implement `wc hpos cleanup` CLI tool

* Make PHPCS happy

* Add changelog

* Change error to warning

* Improve tests

* Fix unit tests

* Allow cleaning up of placeholders with meta

* Add support for `--force` flag

* Update plugins/woocommerce/changelog/enhancement-41914

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Database/Migrations/CustomOrderTable/CLIRunner.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Database/Migrations/CustomOrderTable/CLIRunner.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Exclude auto-draft

---------

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2023-12-19 09:32:55 +00:00
Tom Cafferkey bd6a8d365a
Block Hooks API: Add Tsubaki theme to the list of allowed themes for Mini Cart auto-insertion (#42911)
Co-authored-by: github-actions <github-actions@github.com>
2023-12-19 08:59:13 +00:00
Bartosz Budzanowski 1c4d373c84
Fix Order Attribution device type in tracks. (#42814)
* Fix Order Attribution device type in tracks.

* Add changelog.

* Fix indentation.

* Remove wrong comment.

* Update plugins/woocommerce/changelog/fix-order-attribution-device-type-in-tracks

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Admin/Orders/MetaBoxes/OrderAttribution.php

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>

* Remove trailing whitespace.

---------

Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
2023-12-19 09:18:19 +01:00
Tarun Vijwani 82a6611144
Move the switch to classic shortcode block button to separate component (#42724)
* Move the switch to classic shortcode block button to separate component

- Move modal component file from incompatible-extension-notice component folder to switch-to-classic-shortcode-button folder.
- Rename modal component file to model-content component file.
- Move the switch to classic shortcode block button to separate component folder

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

* Update class names in switch-to-classic-shortcode-button component

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

* Update plugins/woocommerce-blocks/assets/js/editor-components/switch-to-classic-shortcode-button/editor.scss

Co-authored-by: Niels Lange <info@nielslange.de>

* Refactor SwitchToClassicShortcodeButton component

* Fix css lint erros

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
2023-12-19 11:44:09 +04:00
Paul Sealock 055b1429fe
Admin.scss: Provide image-mask for Chrome (#42853)
* add mask-image

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-19 16:44:57 +13:00
Corey McKrill 7ff0e47690
Navigation: Change error_log call to doing_it_wrong (#42890)
Avoids printing an error log message in the middle of phpunit output.

Co-authored-by: Leif Singer <leif@automattic.com>
2023-12-18 14:26:38 -08:00
Daniel Dudzic 11b8276a29
Product Gallery: Add Group block labels (#42868)
* Product Gallery: Add Group block labels

* Product Gallery Group Labels: Add changelog entry

* Product Gallery Group Labels: Add an additional changelog entry

* Product Gallery Group block labels: Update changelog message
2023-12-18 22:24:30 +01:00
Maikel David Pérez Gómez 1c3843e4ec
Remove list/sale price from the General tab in grouped products (#42909)
* List and sale price should not be visible in the general tab for grouped products.

* Add changelog files

* Fix lint error
2023-12-18 16:26:38 -04:00
Corey McKrill 89fe33d64f
Logging: Render line breaks in log messages in the db log list table (#42683)
Allow for line breaks within log messages so they can be easier to read when they contain a lot of content.

Based on a suggestion in #27758

Co-authored-by: Moritz Meißelbach <4208996+Biont@users.noreply.github.com>
2023-12-18 11:24:53 -08:00
Corey McKrill 61885b8013
Logging: Improve functionality in new LogHandlerFileV2 handler class (#41802)
This fleshes out the LogHandlerFileV2 class that was introduced back in #40662. It no longer extends the original file log handler, but works as a standalone. To realize the improvements in the handler class, lots of improvements are also made to the File and FileController classes.

Notable enhancements in this handler class vs the original one:

* Better algorithm for determining the "source" of a log entry when none is provided.
* Normalizes the source property of a log entry so that variations in capitalization will still result in the same value.
* Improves file rotation behavior so that it will consistently increment each rotation up by one.
* Formats log messages to remove line breaks, so that each line of a log file is an entire entry.
* To complement this, data from the $context parameter is added to the log entries, and displayed in the log file viewer as prettified JSON, hidden behind a `<details>` element. Thus, each log entry can be expanded to show the context data, but it won't dominate the screen in the log viewer by default.

Fixes #41561
2023-12-18 10:42:17 -08:00
Nathan Silveira 09bcb3fcac
Add support for appending a unique string to the filename for the wp/v2/media endpoint (#42702)
* Extract 'downloadable product' class and include it for API endpoint calls as well

* Re-add mediauploader component

* Restore UploadFilesMenuItem

* Provide additionalData type

* Restore MediaUploader component

* Lint PHP

* Add changelogs

* Update pnpm-lock

* Revert "Update pnpm-lock"

This reverts commit b61ee5813aa0b7b8b1ea8e71423bedbb6f876139.

* Revert pnpm-lock.yaml

* Fix unit tests

* Use WC_ABSPATH
2023-12-18 14:12:44 -03:00
nigeljamesstevenson bbe2a6f2d7
Cherry pick #290 into trunk - Address potential rXSS vulnerability (product-reviews-have-moved notice) (#42728)
* Revert "k6 perf tests: Fix parsing of COT/HPOS environment variable (#40930)"

This reverts commit 50c56d8427, reversing
changes made to cbc3bac88c.

* Address potential rXSS vulnerability in the product-reviews-have-moved notice.

* Changelog.

* Restore button-based approach for notice dismissal.

In the context of this edit comments screen, it looks better as a button (than as a link, which would require extra CSS to support).

* Tidy.

* Update tests: reviews-have-moved notice HTML has been updated.

* Modify form-based approach following code-review feedback.

---------

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2023-12-18 16:28:17 +00:00
Ron Rennick de774715bc
Add product image by SKU (#40076)
* add matching image by sku exp feature

* attach featured image in rest api

* add CSV import support

* include changelog

* update from feedback- move to products advanced settings

* address phpcs

* bump @since to 8.5.0

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-18 10:13:11 -04:00
Albert Juhé Lluveras 140d1db2cc
Add tracking when opening or searching in the Command Palette (#41838)
* Add tracking when opening or searching in the Command Palette

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

* Add 'origin' property to all Command Palette events

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-18 14:36:53 +01:00
Kyle Nel 56d038ff5f
Add redirect to new In-App marketplace installer (#42010)
* Add redirect to new In-App marketplace installer

* Update to shared redirect method

* Add changelog

* Add feature flag check

* reuse get_helper_redirect_url

* Remove debug code

* Fix linter issues

* Add linter exception

---------

Co-authored-by: Bero <berislav.grgicak@gmail.com>
2023-12-18 13:25:13 +00:00
Cem Ünalan 23ec020ed9
Marketplace: refresh subscriptions if "install" parameter exists (#42704)
* Marketplace: refresh subscriptions in if "install" parameter exists

* Marketplace: handle loadSubscriptions or refreshSubscriptions failing

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-18 12:53:36 +00:00
Jorge A. Torres 26b7903a68
Add hooks around HPOS orders being synced from/to posts on read/write (#42866)
* Remove unnecessary code

* Add hooks for when an HPOS order is updated from post or backfilled to a post

* Add changelog

* Add docblocks
2023-12-18 12:49:48 +00:00
Seghir Nadir 8ecfcfb9a0
Add Checkbox support for Additional Fields in Checkout Block (#42780)
* Introduce Additional Fields API for Checkout Block https://github.com/woocommerce/woocommerce-blocks/pull/12073

* revert test to what it was

* Default to text, if the type supplied is not supported throw an error

* Add type for options

* Return null if somehow the select made it through without options

* Make select fields type enum and add options to schema

* Lint fixes

* Update plugins/woocommerce-blocks/assets/js/base/components/cart-checkout/address-form/address-form.tsx

Co-authored-by: Niels Lange <info@nielslange.de>

* Update plugins/woocommerce/src/Blocks/Domain/Services/CheckoutFields.php

Co-authored-by: Niels Lange <info@nielslange.de>

* Update checks to log errors and fail gracefully

* Add field id to class names

* Fix lint error

* Fix short array use

* Introduce Additional Fields API for Checkout Block https://github.com/woocommerce/woocommerce-blocks/pull/12073

* Default to text, if the type supplied is not supported throw an error

* Lint fixes

* Introduce Additional Fields API for Checkout Block https://github.com/woocommerce/woocommerce-blocks/pull/12073

* add support for registering checkboxes

* remove extra error log

* add styling

* fix rebase conflit

* fix rebase conflit 2

* fix linter errors

* address review comments

* add warning for checkbox

* fix changes

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
2023-12-18 13:21:36 +01:00
Alba Rincón d5a46a1cfb
Remove padding for the products query when background is added (#42817)
* Remove padding for the products query with background

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
2023-12-18 11:14:43 +01:00
Sam Seay 6d4c69850c
Experimental Collection Rating Filter (#41999)
Introduce Experimental Collection Rating Filter, CheckboxList interactivity component.
2023-12-18 22:47:24 +13:00
Christopher Allford bf29119032
Updated PNPM to ^8.12.1 (#42860) 2023-12-18 20:31:49 +13:00
Roy Ho d15bfd2398
Product Gallery: reset main image when variations are cleared (#42830)
* Product Gallery: reset main image when variations are cleared

* Add changelog for woo core

* Update event name to be more descriptive
2023-12-15 13:22:10 -08:00
Jonathan Lane 1bf35ac737
Playwright test workflow migration from Blocks repo (#42804)
* First pass at Playwright test migration

* Set working directory

* Remove exec

* Configure the environment before testing

* Remove filter

* Update paths for tests

* Try explicitly stating working-directory

* Change tests directory

* Try running all tests

* Uncommented project

* Update commands to run tests

* Comment out env config

* Uncomment

* Changelog

* Set up multiple test configurations

* Update failing test

* Update paths for artifacts

* Update path to artifacts

* Path to results

* remove unnecessary file

* Skip translation E2E tests

Skipping translation tests until we fix the missing translations issues after we changed the domain to "woocommerce"

* Update the artifacts path

* Fix lint errors

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: Saad Tarhi <saad.trh@gmail.com>
2023-12-15 09:34:29 -08:00
Keith Light 6e8678aca0
Add HTML5 theme support to NO JS handling (#42753)
* Add HTML5 theme support to NO JS handling

* Add changelog entry

* Tweak changelog.

* Add phpcs ignore comment for safe unescaped output

---------

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2023-12-15 09:15:14 -08:00
Patricia Hillebrandt 69172606f5
CYS - AI Improvements (#42800)
* Add the response_format to the params for requests to AI to ensure it will return the responses in JSON format.

* Update the prompt to define the search term for images from Pexels.

* Streamline product content update and the product image uploads within the ProductUpdater class.

* IMprove prompts for images and product content generation.

* Update the prompt for defining the search term on Pexels and drop double quotes from the response.

* Update the prompts and the position for the titles on content generation for the woocommerce-blocks/testimonials-3-columns pattern.

* Set the 'woocommerce_ai_managed_images' transient for the products endpoint callback in case execution is interrupted so images don't have to be fetched from Pexels again.

* Update the prompt for defining the search term for images.

* Remove unused methods from the PatternsHelper class.

* Update the prompt for AI content generation in patterns.

* Update the prompts for the testimonials and the Hero Product 3 Split patterns.

* Update the position for the main title in the Hero Product 3 Split pattern.

* Reduce the size of the images uploaded to the media library for products.

* Add docblock and update prompts.

* Update the default size of the images received from Pexels to be downloaded and uploaded to the media library.

* Update prompts for the Hero Product 3 Split pattern.

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

* Address lint errors.

* Update array formatting

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-15 11:49:16 -03:00
Thomas Roberts 0c6a943c42
Add select field type for custom checkout fields (#42758)
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
2023-12-15 06:39:22 -08:00
louwie17 90dc5bad2e
Address some deprecation warnings (#41845)
* Remove use of deprecated conditional block

* Remove use of deprecated context usage

* Remove use of deprecated positoin on Dropdown in favour of popoverProps

* Add changelogs

* Remove unused import

* Fix lint errors

* Remove popoverProps.position with popoverProps.placement

* Update missed items replacing position to placement

* Fix lint error

* Fix placement position

* Update changelogs
2023-12-15 09:45:06 -04:00
Seghir Nadir 12572ce08c
Introduce Additional Fields extensibility API (#42695)
* Introduce Additional Fields API for Checkout Block https://github.com/woocommerce/woocommerce-blocks/pull/12073

* add changelog

* Auto load the Blocks/Domain/Services/functions.php file

* add changelog

* revert test to what it was

* Update text domain for translations

* Ensure address data is added on the cart block too

* fix lint problem

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2023-12-15 13:45:38 +01:00
Ilyas Foo 3d7e6bc796
Enable WCCOM shipping partners API consumption (#42810)
* Enable shipping partners API use from frontend

* Changelog

* Add id to each shipping partner to match wccom structure
2023-12-15 20:33:36 +08:00
Damián Suárez d996008219
[Product Block Editor]: propagate content from description inner blocks to Modal editor (#42768)
* set description like the property to update

* switch between summary block and block preview

* add todo: comment

* femove duplicated doc comment block

* Use a quick check to improve performance

* expose getContentFromFreeform() helper fn

* parse freeform content to valid blocks

* changelog

* fix TS issue

* changelog
2023-12-15 09:20:02 -03:00
Thomas Roberts 865ea6ada9
Disable `DisallowShortArraySyntax` and `InternalInjectionMethod` sniffs for blocks files. (#42863)
* Disable some rules for blocks files

* Add changelog
2023-12-15 12:39:31 +01:00
Tom Cafferkey 5cdbc8c98a
Merge branch 'trunk' into update/auto-insert-mini-cart-into-tt2 2023-12-15 08:08:45 +00:00
Tom Cafferkey 9f997106ec
Block Hooks API: Add TT3 theme to the list of allowed themes for Mini Cart auto-insertion (#42760) 2023-12-15 08:07:31 +00:00
github-actions bbc0390e35 Add changefile(s) from automation for the following project(s): woocommerce 2023-12-14 20:26:58 +00:00
paul sealock 7b1f538573 Handle multiple tables in an html string 2023-12-15 09:15:01 +13:00
nigeljamesstevenson 3042b9fba6
Update Action Scheduler to 3.7.1 (#42820) 2023-12-14 17:01:54 +00:00
Tom Cafferkey b72d9e341f
Merge branch 'trunk' into update/auto-insert-mini-cart-into-tt2 2023-12-14 15:48:59 +00:00
Tom Cafferkey 59fb6aa2c6
Merge branch 'trunk' into update/auto-insert-mini-cart-into-tt3 2023-12-14 15:48:56 +00:00
tjcafferkey e1853dcfe6 Change [] to array() for linting 2023-12-14 15:46:22 +00:00
tjcafferkey 23ff1a54cd Change [] to array() for linting 2023-12-14 15:40:38 +00:00
Seghir Nadir 25d0417644
Add InternalInjection sniff exceptions for blocks (#42821) 2023-12-14 16:36:40 +01:00
Tom Cafferkey c989f6e337
Merge branch 'trunk' into update/auto-insert-mini-cart-into-tt3 2023-12-14 14:25:58 +00:00
Leif Singer 6f902e3dbb
Delete trashed orders after `EMPTY_TRASH_DAYS` as defined by WordPress (HPOS) (#41949)
* Add a test that fails if trashed orders are never deleted under HPOS

* Delete trashed orders after `EMPTY_TRASH_DAYS` as defined by WordPress

* add the changelog file

* appease the linter

* return early if HPOS is not authorative

* attempt to precede WordPress itself (which uses priority 10) to increase the probability of orders and their posts being handled solely by us

* appease the linter
2023-12-14 14:24:09 +00:00
Ron Rennick 5ca5d9bdab Merge branch 'trunk' into add/blocks-injection-rule 2023-12-14 10:11:16 -04:00
Tom Cafferkey 853c57a604
Merge branch 'trunk' into update/auto-insert-mini-cart-into-tt2 2023-12-14 14:04:11 +00:00
Roy Ho 255f1ff919
Product gallery/legacy/transform (#42719)
* Product Image Gallery: Add transform to Product Gallery block

* Single Product Template: Transform to blocks with new Product Gallery block

* Ensure we first check for block existance

* Add changelog

* Add/delete changelog file
2023-12-14 05:47:48 -08:00
Luigi Teschio 9ff69b01cc
fix: CYS - fix path images patterns (#42705)
* fix: CYS - fix path images pattern

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-14 14:12:52 +01:00
github-actions a4d6537597 Add changefile(s) from automation for the following project(s): woocommerce 2023-12-14 13:03:44 +00:00
Ron Rennick 8292ff1cca Add InternalInjection sniff exceptions for blocks 2023-12-14 08:59:57 -04:00
nigeljamesstevenson 3ada74b56d Update Action Scheduler to 3.7.1 2023-12-14 12:56:05 +00:00
berislav grgičak 2964800f27
Add subscription install modal (#42009)
* Install modal

* Add connect button

* Small product card

* Add install functionality

* Add no subscription error

* Fix error notice loading

* Connect style

* Add success state

* Fix admin urls

* Add error message to failed install events

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-14 12:45:40 +01:00
Luigi Teschio 0903a53664
fix: CYS - update copy (#42703)
* fix: CYS - update copy

* not format style file

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

* add changelog

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-14 12:32:37 +01:00
github-actions d8132154ba Add changefile(s) from automation for the following project(s): woocommerce 2023-12-14 10:59:34 +00:00
tjcafferkey 30dab31b4c Enable Mini Cart auto-insertion for TT2 but exclude some header patterns 2023-12-14 10:48:55 +00:00
Seghir Nadir 2b54c8a61d
Performance: Bootstrap metrics tracking (#42005) 2023-12-14 10:45:15 +01:00
Alba Rincón 5187b2d1ef
Change the imageSizing to single in patterns (#42767)
* Change the imageSizing to single

Images need a higher resolution in patterns used for the CYS project in the assembler

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-14 10:26:17 +01:00
Riad Benguella 36c259a2a1 Performance: Bootstrap metrics tracking 2023-12-14 09:52:01 +01:00
Sam Seay 609f39b073
Fix the cp command for blocks so that the contents of build is copied into assets/client/blocks (#42807) 2023-12-13 21:32:24 -08:00
RJ 762c2ef924
add: easyship to shipping task for AU, NZ, SG, HK (#41852) 2023-12-14 11:13:08 +08:00
Christopher Allford e46d6bd207
Fixed `watch:build` Race Conditions (#42802)
There's currently a bug with `wireit` that makes the watch crash.
Swiching over to `nodemon` until that is resolved will
keep that from happening.
2023-12-13 18:25:16 -08:00
Paul Sealock 346664f348
Shipping Settings: Allow extensions to render description links (#41954) 2023-12-14 14:31:00 +13:00
Paul Sealock 4e98801e8f
Shipping Settings: Replace tables only for use in modals (#42795) 2023-12-14 14:02:58 +13:00
Jonathan Lane 8e2e7de7ce
Migrate Puppeteer test action from Blocks repo (#42733)
* Migrate Puppeteer test action from Blocks repo

* Update file path

* Use pnpm

* Use npm

* Updates based on feedback

* Comment out paths for testing

* Fix paths with working directory

* Use pnpm

* Fix missing pnpms

* npm instead

* Do use pnpm

* Update command

* Blocks wp-env config

* Update paths, config files

* Run test commands from blocks

* Config update

* Uncomment paths so that e2e checks only run on Blocks

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2023-12-13 16:01:34 -08:00
paul sealock 2b769f5088 use kses_post 2023-12-14 12:57:31 +13:00
github-actions f66a6fe44e Add changefile(s) from automation for the following project(s): woocommerce 2023-12-14 12:57:31 +13:00
paul sealock bcb5a393e6 inline wp_kses 2023-12-14 12:57:31 +13:00
paul sealock 28df5447d0 make height dynamic 2023-12-14 12:57:31 +13:00
paul sealock e8ca0c250c allow target attribute 2023-12-14 12:57:31 +13:00
paul sealock 812271fd85 use wp_kses to sanitize but allow links 2023-12-14 12:57:31 +13:00
Christopher Allford d0d49b49f5
Fix Component Project Changelog Checking (#42794) 2023-12-13 15:41:11 -08:00
Paul Sealock a232c32c8e
Shipping Settings: Add busy animation to Continue button (#42688) 2023-12-14 12:26:21 +13:00
github-actions f908d9bec5 Add changefile(s) from automation for the following project(s): woocommerce 2023-12-13 22:28:37 +00:00
github-actions 2b6f10311f Add changefile(s) from automation for the following project(s): @woocommerce/create-product-editor-block, woocommerce-blocks, woocommerce 2023-12-13 22:26:53 +00:00
github-actions 4bb43d87b9 Add changefile(s) from automation for the following project(s): woocommerce 2023-12-14 11:26:18 +13:00
paul sealock ba64a21f46 Add busy animation to Continue button 2023-12-14 11:23:33 +13:00
paul sealock 1b0fa5d04e remove whitespace for linter 2023-12-14 10:43:55 +13:00
Christopher Allford 2fa8f357f8
Fixed Blocks' `wp-env` Configuration (#42798)
* Fixed Blocks' `wp-env` Configuration

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2023-12-13 13:07:15 -08:00
github-actions 12dab59815 Add changefile(s) from automation for the following project(s): woocommerce 2023-12-13 20:46:10 +00:00
paul sealock 481c4eaaf5 Replace tables only for the modal 2023-12-14 09:39:05 +13:00
Christopher Allford e231be78f9
Fixed PHPUnit Tests Broken by Merge (#42731) 2023-12-13 12:38:59 -08:00
Mike Jolley db9be95f5d
Allow built in payment method descriptions to contain HTML when rendered on the block checkout (#42706) 2023-12-13 15:49:29 +00:00
Christopher Allford 8cf2f54ab8
Migrated Blocks' PR Assignment Workflow (#42782) 2023-12-13 07:30:15 -08:00
Mike Jolley 6dfcbbd525 Blocks changelog 2023-12-13 15:24:18 +00:00
Mike Jolley b6e3e32d7c changelog 2023-12-13 14:37:21 +00:00
Mike Jolley 2abd0422a8 Allow HTML in built in payment method descriptions 2023-12-13 14:37:21 +00:00
Tom Cafferkey 136bb741b0
Merge branch 'trunk' into update/auto-insert-mini-cart-into-tt3 2023-12-13 14:31:05 +00:00
github-actions 641fe4d590 Add changefile(s) from automation for the following project(s): woocommerce 2023-12-13 13:53:07 +00:00
tjcafferkey ce869a7430 Add TT3 theme to the list of allowed themes for Mini Cart auto-insertion 2023-12-13 13:31:05 +00:00
Niels Lange 31c9eed519
Fix ESLint issue 2023-12-13 17:06:38 +07:00
Niels Lange 040038a339
Add changelog entry 2023-12-13 16:46:23 +07:00
Niels Lange ca73ac42b6
Display update quantity notice on classic cart 2023-12-13 16:44:16 +07:00
Christopher Allford be290984b9
`setup-woocommerce-monorepo` Action in Highlight Changes Workflow (#42740) 2023-12-12 21:33:52 -08:00
Christopher Allford ec9b7852f9
Fixed Blocks Linting Errors (#42727) 2023-12-12 15:05:20 -08:00
Jonathan Lane dd255a2820
Update daily test workflows post Blocks-merge (#42716)
* Update action for API tests

* Changelog

* Update e2e tests

* Rename WooCommerce Payments to WooPayments

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2023-12-12 14:50:18 -08:00
nigeljamesstevenson c50c0f1488 woorelease: Update stable tag to 8.4.0 2023-12-12 22:16:13 +00:00
Ron Rennick d1498d45f2
update woo-gutenberg-products-block text domain to woocommerce in src folder (#42718)
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-12 14:13:15 -08:00
Ron Rennick 60b445510d
update woo-gutenberg-products-block text domain to woocommerce in patterns and templates folders (#42720)
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-12 14:13:03 -08:00
Ron Rennick 4fddface47
update text domain in plugins/woocommerce-blocks (#42717)
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-12 14:12:36 -08:00
Ron Rennick a2812bdb59
remove PHP related scripts from blocks package.json (#42722)
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-12 13:46:53 -08:00
Paul Sealock 5b393e78c6
Shipping Settings: Add a back button to method configuration screen (#41958) 2023-12-13 10:02:50 +13:00
Christopher Allford 4c4e89bc98
Enhance Build Watching (#42712)
Similarly to `build:project`, a new `watch:build:project`
script will watch individual projects for changes. The
`watch:build` script has been updated so that it does
a deep watch in the same vein as `build`. We have also
hooked up tool-level watching for faster performance.
2023-12-12 12:43:48 -08:00
Ron Rennick 76b4f39116
remove woocommerce-blocks from text domain substitution (#42017)
* remove woocommerce-blocks from text domain substitution

* restore prior art commented out

* add internal-js-tests composer.json

* covert internal-js-tests/changelog to a folder

* update blocks composer.json

* fix path, add composer install to changelog script

* add woo-ai changelog

* add composer install to beta tester changelog script

* add composer.json to woocommerce-admin

* add changelog folder & file to woocommerce-admin

* add composer install to woocommerce changelog script

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-12-12 15:38:20 -04:00
Christopher Allford 4e89debd0c
Fix Jest Preset (#42707)
When using a preset we need to keep in mind that the transformation
paths are relative to the preset, not the consuming package. We get
around this by using `<rootDir>` in the transform paths. However,
doing this means fixing the root directory for all of the jest tests.
This keeps the tests working in the same way but lets us fix the
preset too.
2023-12-12 09:58:13 -08:00
Jonathan Lane 7692fa5430
Fix flaky tests, failures from Blocks merge (#41815)
* Clean up created pages and posts

* Move tax tests so that they run last

* Improve locators

* Changelog

* Improve locators

* Improve locator on heading

* Change assertions to look for alert text

* Change assertion to look for text

* Update locators

* Update locator

* Update alternate elements

* Specify first order amount

* Update locator

* Changelog

* Increase reliability of checkout test

* Update a few locators

* Remove .slice()

* Add some console output to checkout test

* Make command palette tests Mac-compatible

* Added update for why download test flaky

* Improvements to checkout tax tests

* Add changelog

* Assert on range of prices

* Improve the regex for matching the price

* Changelog

* Clean up locator

* Unskip analytics tests

* Remove logging statements

* Update variations selector

* Remove comment

* Fix disable block tests

* Remove skipped legacy coupon page test

* Account for multiple products in test

* Cleaned up some console.logs

* Added specificity to locator

* Better price parsing

* Fix cart block shipping test

* Fix syntax error

* Update Playwright, fix logic error

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2023-12-12 07:56:56 -08:00
Leif Singer 0a0351aa6a
Logging: Prevent fatal type error when submitting empty search (#41847) 2023-12-12 12:36:21 +01:00
Christopher Allford 1c635cda6f
Optimized `wireit` Fingerprinting File Inputs (#42684)
Having an explicit `"files"` definition will allow us to fingerprint
dependencies in `wireit` more granularly. This avoids problems
that can be caused by different source files and directories that
trigger a rebuild in a dependee before a dependent finishes.
2023-12-11 16:21:35 -08:00
Corey McKrill 44ab680fe1
Logging: Fix pagination and filtering on DB log list table (#41870)
Fixes some issues where pagination and filters were not persisting in the DB log list table view after running a bulk action. Also adds a way to customize the number of log entries shown per page.

Fixes #39359
2023-12-11 12:27:26 -08:00
Christopher Allford e718975963
Fixed WooCommerce Docs Build Errors (#42000) 2023-12-10 22:39:00 -08:00
Christopher Allford 05d398c8d3 Fixed Blocks CSS Linting 2023-12-10 14:11:32 -08:00
Christopher Allford 6360c38eb8 Fixed Failing PHPUnit Test 2023-12-10 13:26:17 -08:00
Christopher Allford ea6a39dbc1 Fixed Blocks PNPM `run` & Env Var Usage 2023-12-10 12:44:44 -08:00
Christopher Allford 245fbadc51 Added Missing Blocks Build Output 2023-12-10 12:32:29 -08:00
Christopher Allford e580d27afd Added Missing Block Dependencies 2023-12-10 12:24:20 -08:00
Christopher Allford a8fd8fafa5 Applied Linting Fixes 2023-12-09 23:32:45 -08:00
Christopher Allford 87b5ee54eb Removed Blocks PHP Linting 2023-12-09 22:41:21 -08:00
Christopher Allford dc5aa18f35 Wireit Added: `@woocommerce/block-library` 2023-12-09 22:35:11 -08:00
Christopher Allford 96af36bf1f Locked `wireit` Version 2023-12-09 21:56:12 -08:00
Christopher Allford 403e2919ee Merge branch 'trunk' into refactor/task-infrastructure 2023-12-09 21:51:43 -08:00
Christopher Allford 5ff9c477aa Updated Documentation 2023-12-09 21:42:59 -08:00
Christopher Allford 4c0cc805dc Removed Old Docs Links 2023-12-09 21:40:52 -08:00
Christopher Allford 6d57e59ad4 Corrected Blocks Readme 2023-12-09 21:39:19 -08:00
Christopher Allford b4fd0c3b7b Fixed Blocks INI File Path 2023-12-09 21:33:34 -08:00
Christopher Allford e34361695d Fixed Image Asset Paths 2023-12-09 21:26:49 -08:00
Christopher Allford cf357e809b Fixed Blocks Asset Constant Path 2023-12-09 21:20:21 -08:00
Christopher Allford 25d42b0c05 Fixed Blocks Asset Paths 2023-12-09 21:15:57 -08:00
Christopher Allford 386d0db969 Fixed Blocks Dependency Check
Since we've merged it into WooCommerce Core there's nothing for us
to bother checking it against.
2023-12-09 21:03:34 -08:00
Christopher Allford fa5f7046dd Fixed Blocks Plugin Paths 2023-12-09 21:02:46 -08:00
Christopher Allford 389828ad7e Fixed Blocks Autoloads 2023-12-09 20:42:32 -08:00
Christopher Allford 8b6036a30e Changed Blocks Build Output 2023-12-09 18:18:25 -08:00
Christopher Allford 0514069d7b Added Missing Blocks Dependencies 2023-12-09 18:14:26 -08:00