Commit Graph

21214 Commits

Author SHA1 Message Date
Ilyas Foo ae75ae17da
Clean up core profiler jetpack copy experiment (#49452)
* Remove Jetpack copy experiment request

* Changelog
2024-07-16 12:46:31 +08:00
Roy Ho a145575b01
Put product filters overlay template part behind feature flag (#49564)
* Put product filters overlay template part behind feature flag

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-15 10:41:47 -07:00
Vlad Olaru 1c981034a7
Fix specs evaluation logging constant control (#49563)
* Fix the logic for determining if we should log based on constant

* Add changelog
2024-07-15 19:25:04 +03:00
Mike Jolley 77428b973d
Checkout: Add password strength meter to new field (#49164)
* Add validation message and fix rendering when account is required

* Adjust validation so we can change the label in messages with custom callback

* Add and style password meter

* Add validation feedback and zxcvbn support

* changelog

* Accessibility fixes

* Update lock file

* Fix initial state in safari

* Announce strength as you type

* Use React.ReactElement

* update lock file

* Update lock

* Downgrade local pnpm and recreate lock

* Feedback should only be shown when `showError` is true, not `hasError`

* Feedback should default to null
2024-07-15 16:22:42 +01:00
Vlad Olaru 320873a4dc
Fix Task list - Reminder bar lack of left and right content spacing (#49532)
* Add margin to the reminder bar close button

* Add changelog

* Add left and right padding to the reminder bar instead of margin-right to close button

---------

Co-authored-by: Cvetan Cvetanov <cvetan.cvetanov@automattic.com>
2024-07-15 18:08:46 +03:00
Mike Jolley b462cd58bc
Store API: Ensure Store API recalculates cart totals prior to running validation hooks (#49455)
* Recalc totals on checkout route before validation

* changelog
2024-07-15 15:37:26 +01:00
Gabriel Manussakis 09bf08e1b1
[Accessibility] Add scope attributes to the order table on My Account (#49201) 2024-07-15 14:38:39 +01:00
Luigi Teschio e38137ed70
CYS: move `sidebar-navigation-screen-homepage-ptk` to the right folder (#49541)
* CYS: fix filename

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-15 14:02:56 +02:00
Vladimir Reznichenko 444f105eba
CI: Re-group PHPUnit jobs. (#49443)
In this PR, we reduce build time for REST API tests (lightweight build) and regroup a bit of PHPUnit jobs (fewer jobs with the same coverage).
2024-07-15 13:39:07 +02:00
Mike Jolley 13d3e11d40
Checkout: Add password field to create account form (#48985)
* Add site title to account checkbox

* Add customer_password support to Store API

* Hide password nag if defining own password

* Add woocommerce_registration_generate_password option to block assets

* Change login prompt to just "log in"

* Add default styling to password inputs

* Reset line height for checkbox inputs

* Add customer password to store

* Add password field to contact information block

* Handle customer password in checkout processor

* Styling for new elements

* Update tests so they match new create account label

* Update log in link in tests

* Add e2e tests for password field

* Add validation message and fix rendering when account is required

* Changelog

* Add missing api to tests

* Remove console log

* rerender checkout

* Update log in link in test

* Adjust validation so we can change the label in messages with custom callback

* Use queryByText in test

* Make sure password generation is on in tests

* Create password if provided password is empty

* Skip "Place order" button translation test

* Revert "Skip "Place order" button translation test"

This reverts commit 7aed6137e88cdb3577f74f6f0c05258b531ed534.

* Update plugins/woocommerce-blocks/assets/js/blocks/checkout/inner-blocks/checkout-contact-information-block/block.tsx

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Update plugins/woocommerce-blocks/assets/js/data/checkout/reducers.ts

Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>

* Comment empty condition

* Update CSS classnames

* Return null in CreateAccountUI if nothing to display

* Linting: Return return param

* Document $password param

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2024-07-15 11:43:02 +01:00
Ian Yu-Hsun Lin c269a86efc
Fix variation name in WC Analytics Variations report (#49440)
* Show "Any [ATTRIBUTE_NAME]" for variation product if attribute is empty

Like that in the product variation edit page:
35a0ee2e8a/plugins/woocommerce/includes/admin/meta-boxes/views/html-variation-admin.php (L36)

* Add changelog
2024-07-15 16:55:06 +08:00
Miguel Pérez Pellicer e1b314229c
[WooCommerce Analytics] Fix: Show variations only for the selected product's variations (#49470)
* Allow to filter variation per its parent.

* Changelog

* Lint

* Lint

* Remove unused mapping
2024-07-15 12:43:52 +04:00
Vlad Olaru 1bc6e3e0ae
Fix specs rule evaluation logging not working (#49167)
* Better docs and minor refactoring for the EvaluationLogger

* Add support for logger args to EvaluateSuggestion methods

* Provide evaluation logger args to EvaluateSuggestion methods

* Improve docs and use short array syntax

* Log when spec rule is not an object

* Sanitize logger arguments for sanity

* Don't use short array syntax because of linter

* Lint fixes

* Add changelog

* docs: Spacing and alignment

* refact: Sanitize only the suggestion tile

* Add filter for rule evaluator logging enabled

* test: Add tests for suggestion evaluation logging

* test: Replace deprecated withConsecutive

* Simplify logic

* test: Cleanup

* test: Add rule logging tests for shipping partnerships

* Lint fixes

* Lint fixes
2024-07-15 10:24:14 +03:00
Alba Rincón 6baddf6cd1
Update the `Customer Account` block icon for the line style (#49401)
* Update the customer icon for the line style

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

* Import Circle and Path and fix attribute case

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-15 08:53:47 +02:00
Paulo Arromba f3cafa2f17
Fix Store API response for very large price amounts (#49361)
* Fixed overflow when formatting price for Store API responses

* Added explanation comment.

* Added changelog.

* Linting.

* Ensure wc_format_decimal doesn't return decimal points and trims .00

* Update comment.

* Removed unnecessary rounding modes.

* Updated comment.

* Updated comment.

* Updated comment.

* Updated Unit Tests.

* Lint.

* Fix tests.

* Re-add rounding modes.

* Prevented a fatal if an array is supplied to the method. This was the old behaviour, although it will produce erroneous prices, but before we let this throw a fatal we need to warn devs and track usage.

* Added doing_it_wrong() for unexpected types for $value arg.

* Early return, removed translation, renamed unit test method.

* Added expect notice to unit test.

* Add further tests to rounding modes.

* Renamed $mock_formatter. This is not a mock.

* Fixed tests and added provider for types.

* Linting.
2024-07-15 02:03:33 +01:00
Sam Seay 9fa32b4f2b
Migrate StateInput, CountryInput and custom fields to native `<select>` (#48180) 2024-07-12 21:17:54 +00:00
Julia Amosova c31e274616
Update stable tag to 9.1.2 (#49501)
woorelease: Update stable tag to 9.1.2

Co-authored-by: Julia Amosova <juliaamosova@ultraw-mbp.mynetworksettings.com>
2024-07-12 15:57:38 -04:00
Néstor Soriano 0f2f331b90
Check if parent product exists when creating attribute lookup data for variations (#49474)
* Check if parent product exists in LookupDataStore::create_data_for_variation

If it doesn't exist it will thrown an exception, which will be
catched by the caller an a proper log entry will be written.
Previously a fatal error would be thrown.

* Add changelog file

Fixes #33730
2024-07-12 12:04:39 -07:00
Veljko V 4b58049979
Fix logo picker e2e tests with flaky wait for response (#49451)
* Fix flaky waiting for response in logo picker e2e test

* Add changelog

* Remove wait for response header

* Wait for success message

* Relogic logo picker e2e test
2024-07-12 11:31:55 -07:00
Corey McKrill aa1eae6c17
Docs: Updates to the Logging doc (#49430)
* Docs: Updates to the Logging doc

This tweaks the wording in a few places and adds
a new suggestion under the "Customizing" header
about changing the directory where log files are
stored.

* Update docs manifest
2024-07-12 11:11:08 -07:00
Naman Malhotra 43d9f10200
Update Action Scheduler to 3.8.1 (#49483) 2024-07-12 08:44:00 -07:00
Jorge A. Torres 79172bca82
Trigger doing_it_wrong for CPT order queries with HPOS query args (#47457)
* Trigger doing_it_wrong for CPT queries using HPOS-only args

* Add changelog
2024-07-12 16:06:14 +01:00
Miguel Pérez Pellicer f8f4cbf826
[WooCommerce Analytics] Adapt Order Report CSV Export structure to the one used in the client side. (#49356)
* Equalize data in Order export with data in Client side CSV export

* Add changelog

* USe Net total without format
2024-07-12 19:01:49 +04:00
Mike Jolley e0c62dce79
Extensibility: Format currency config so it can be consumed more easily (#48727)
* Export pre-formatted SITE_CURRENCY object from settings

* Fallback to SITE_CURRENCY

* Changelog

* Fix typedef

* Update mocks

* Inject site currency into cart preview data

* Update test

* Add currency formatting to preview data

* Mock currency in tests

* More currency mocking
2024-07-12 14:24:22 +01:00
Vlad Olaru 892c44a27a
Update APMs BNPL suggestions when WooPayments can handle them (#49234)
* Update BNPLs default payment gateway suggestions

* Update default payment gateway suggestions priorities

* docs: Fix return type

* Fix Affirm default payment gateway visibility rules

* refact: Introduce WCPay rules

* Add WCPay BNPL pseudo-gateway recommendation

* Replace deprecated prop

* Add WCPay BNPL suggestion component

* Remove short array syntax

* Add svg for default WCPay BNPL suggestion

* Update Payment Gateway Suggestions with WCPay BNPL

* test: Update Payment Gateway Suggestions tests

* Add changelog

* Remove needles rule for payment gateways suggestion

* test: Fix payment gateways suggestions test

* Only hide Klarna if in a WooPayments eligible country

* MX is not a WooPayments-eligible country

* Make sure we don't inadvertently promote WCPay BNPL to non-eligible countries

* Lint fixes

* Escape default payment gateway suggestions translatable strings

* Revert translatable strings escaping as it has too many implications

* Revert char change to avoid invalidating translations

* Lint fixes
2024-07-12 12:40:24 +03:00
Alba Rincón 45486bc1c7
CYS - Update the full composability layout to match designs (#49303)
* Update the full composability layout to match designs

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

* Fix lint errors

* Remove unnecessary important

* Update colors

* Fix empty logo color

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-12 09:53:10 +02:00
Alba Rincón 0d76b21f39
CYS - Fix marking the CYS task as completed only by accessing the Intro page (#49374)
* Improve the conditions to check if the customize store task should be marked as completed

Before we were relying in a json string to check if the global styles were the default,
but that string had a hardcoded version. Since the version has changed this was failing.
We are now checking that the global style json only has two keys: version and
isGlobalStylesUserThemeJSON, regardless of their values.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-12 09:52:23 +02:00
RJ b6ed6223bd
fix: LYS success page overflows (#49127)
* fix: LYS success page overflows

* css

* Update plugins/woocommerce-admin/client/launch-your-store/hub/styles.scss

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

---------

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2024-07-12 14:12:45 +08:00
Vladimir Reznichenko 4ce23d5343
Monorepo: fix linting script (side-effects from enabling strict mode earlier (#49436) 2024-07-12 07:49:07 +02:00
Sam Seay e59decd222
Clean up unused files and dependencies from when WooCommerce Blocks was merged into the monorepo (#49319) 2024-07-12 16:40:07 +12:00
Julia Amosova 35a0ee2e8a
Update stable tag to 9.1.1 (#49429)
woorelease: Update stable tag to 9.1.1

Co-authored-by: Julia Amosova <juliaamosova@ultraw-mbp.mynetworksettings.com>
2024-07-11 18:31:47 -04:00
Ivan Stojadinov 9e3eb2d024
[e2e] Add support for WPCOM site (#49403)
* Add support for WPCOM site

* Add support for WPCOM site

* Change the default Pressable site

* Change the default Pressable site

* Add .env.enc for WPCOM site

* Add .env.enc for WPCOM site #2

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

* Update changelog

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

* Update changelog

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
2024-07-11 23:37:10 +03:00
Adrian Moldovan 7e86b23761
[blocks e2e] Update config for retries and trace retention (#49416)
* Update config for retries and trace retention

* Add changelog

* Update maxFailures
2024-07-11 11:14:14 -07:00
github-actions[bot] cb85e9265f
Delete changelog files based on PR 49404 (#49422)
Delete changelog files for 49404

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-07-11 13:37:54 -04:00
Corey McKrill 4d68cd486e
PluginUtil: Add method to get active valid plugins (#48709)
* PluginUtil: Add method to get active valid plugins

When getting a list of active plugins directly from the options table,
you can run into an error if you try to then access one of the plugin
files if it doesn't actually exist. WP Core has a method that verifies
that the files exist before returning the list. But it's marked as a
"private" method, which means it could change and break backcompat.
That seems very unlikely, though, so we're using the method (it was
already in use actually), but putting in some safeguards so we can
detect if a backcompat issue arises.

Fixes #48132

* Modify to accommodate multisite
2024-07-11 18:18:33 +01:00
Niels Lange 79786c5443
Revert #46362 (#49404)
* Revert #46262

* Remove pnpm-lock.yaml

* Revert "Remove pnpm-lock.yaml"

This reverts commit df4b87940d.

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

* Revert pnpm-lock.yaml

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-11 19:00:49 +02:00
Jorge A. Torres aeab61838c
Change case for CLIRunner namespace to meet autoloader expectations (#49390)
* Correct case in `CLIRunner` namespace

* Rename a few `@packages`

* Add changelog
2024-07-11 09:54:27 -07:00
Jorge A. Torres 21cc919094
Return HTTP 404 in REST API for non-existent product reviews (#48726)
* Return HTTP 404 when accessing non-existent product views via REST API

* Fix unit tests

* Add changelog

* Address feedback
2024-07-11 16:30:20 +01:00
Albert Juhé Lluveras ec95afc178
Fix sidebar attribute control in Products by Attribute block (#49351)
* Fix sidebar attribute control in Products by Attribute block

* Add changelog file

* Linting
2024-07-11 15:52:57 +02:00
Adrian Moldovan 3ff155182e
Fix Blocks e2e environment setup in release checks (#49379) 2024-07-11 15:45:30 +03:00
Vladimir Reznichenko 9fef18cd0d
CI: missing jobs on changes in components package. (#49330)
This PR addresses issues in building a CI jobs matrix (resolving dependent packages and running CI jobs for them).
2024-07-11 14:36:56 +02:00
Veljko V e049d93681
Fix flaky e2e merchant tests (#49381) 2024-07-11 15:31:57 +03:00
Mike Jolley d18a722501
Store API: Reduced number of recalculations on Store API cart routes (#48944)
* woocommerce_removed_coupon event should recalculate totals automatically

* Remove early calculation from cart routes

* get_cart_for_response ensures late calculation if needed

* Remove calculation when removing coupons

* Calc totals already does shipping

* Remove calc on checkout route

* Update cart controller to load session if needed and introduce new helper methods

* Changelog
2024-07-11 13:12:51 +01:00
Tung Du 6d6271260d
E2E: Fix flaky CYS logo picker tests (#49364)
* test: fix flaky cys logo picker e2e tests

* chore: changelog

* try: unfocus the input

* fix: use toHaveCSS to leverage auto waiting

* fix: duplicated Promise

* fix: blur is unnecessary
2024-07-11 14:04:37 +02:00
nigeljamesstevenson da4de031f0
Update stable tag to 9.1.0 (#49383)
Update readme.txt
2024-07-11 12:32:00 +01:00
Vladimir Reznichenko f8c0e6e02f
E2E: enable reporting slow blocks test. (#49367) 2024-07-11 12:21:59 +02:00
rodelgc ab21f5981f
Delete changelog file from #49370 (#49378) 2024-07-11 18:18:42 +08:00
Ivan Stojadinov 236fe48f97
Cherry-pick #303 into trunk (#49373)
* Improve mu-compatibility of `WC_Customer_Data_Store::get_last_order()`.

* Use the blog prefix as a suffix rather than a prefix (readability).

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>

* Extract site-specific user meta handlers into their own set of reusable methods.

* Make the customer data store's get_order_count and get_total_spent methods network-aware.

* Support deletion of site-specific user meta.

* Update cache invalidation (make multisite-aware) for money spent, order count, and last order.

* Further fixes for mu-aware order and spend caching.

* Add migration to remove unneeded/unused user meta data.

* Revert change to handling of `paying_customer` user meta (out-of-scope for this fix).

* Be stricter when obtaining current blog prefix.

* Add missing `@since` tag to historic filter hook.

Archaeology: https://github.com/woocommerce/woocommerce/compare/4.9.0...4.9.1#diff-8dcda80485fb4b7bc3cb9544ecf4b73aa78dc448bc574b1e56271ee8b56e7189R330

* Ensure the 'last order ID' references an order that actually belongs to the current customer.

* Fix docblock.

* Add additional test to describe safeguards around fetching a customer order.

* Unset `$last_order_id` if the order is not of type `WC_Order`

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>

* Merge 9.1.0 update functions list.

* Logging best practices (do not translate).

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>

* Logging best practices (do not translate).

Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>

---------

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
2024-07-11 12:33:26 +03:00
Ivan Stojadinov fa693249db
Cherry-pick #331 into trunk (#49370)
* Wrap order note saving with wc_sanitize_textarea

* Add changelog

* Change note output to wp_kses with no allowed HTML

* Add totalsMock for order confirmation test

* Add Totals test

* Add classic checkout test to ensure notes are cleaned

* Change wp_kses_post to wp_kses for all order note usage

* wp_kses the order note before editing too

---------

Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2024-07-11 11:49:33 +03:00
Vladimir Reznichenko ba9f0a1625
Monorepo: set strict mode for WooCommerce plugin linting script. (#49366) 2024-07-11 09:18:23 +02:00