Commit Graph

64789 Commits

Author SHA1 Message Date
Chi-Hsuan Huang e8dacef7a6
Track frequency of unhandled JS errors with MC Stats (#50155)
* Add bumpStat and fix tests

* Add changelog

* chore: Update dependencies and add @woocommerce/tracks for remote logging

* feat: Track frequency of unhandled JS errors with bumpStat

* chore: Update error boundary to log unhandled JS errors with bumpStat

* Add changelog

* Fix lint

* Check if tracks is enabled before bumping stats

* Fix test

* Fix lint

* chore: Refactor buildQuerystring to buildQueryParams for clarity and consistency

* Add bumpStat to wc tracks mock
2024-08-02 03:04:31 +00:00
Chi-Hsuan Huang ed81aa8201
Integrate JS remote logging package in WooCommerce Admin (#50134)
* Update remote logger to check dev env and whether logging is enabled

* Add changelog

* Integrate JS remote logging package in WooCommerce Admin

* Add changelog

* Update remote logger package

* Update test

* Log error in error boundary

* Update remote logger

* Fix webpack config

* Update log stack format

* Update handleError

* Add init debug
2024-08-02 10:25:39 +08:00
Vladimir Reznichenko a3f4d722b9
CI: speedup 'Check Asset Sizes' job (take 3) (#50178)
* CI: attempt 3 to speedup 'Check Asset Sizes' job.

* CI: cleanup

* CI: changelog entry.
2024-08-01 14:15:10 -07:00
Gabriel Manussakis fa3d8233da
[Accessibility] Keep focus on shipping option input once selected (#49360)
* Keep focus on shipping option input once selected

* Add changelog file

* Remove unnecessary space

* Manage focus of the shipping methods inputs on checkout

* Refactor the code to use native JS instead of jQuery

* Revert native JS usage on jQuery code

* Focus shipping input after re-initing payment methods on checkout

* Replace includes with indexOf for consistency

* Revert usage of native JS

* Remove unnecessary if statement

* Check if event exists before assigning current target

* Get current target with native JS

* Remove unnecessary spaces
2024-08-02 03:14:18 +07:00
Andrej Mernik f20afed89c
Optimize maybe_assign_default_product_cat to drop caches only if changes were made (#50006)
* Optimize maybe_assign_default_product_cat

maybe_assign_default_product_cat should flush cache, delete transients and update term counts only if changes were made

* Fix whitespace

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-08-01 12:58:16 -07:00
github-actions[bot] 38d2d82e2d
Delete changelog files based on PR 50236 (#50238)
Delete changelog files for 50236

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-08-01 11:40:07 -07:00
Jorge A. Torres 4d1e61a8ce
Prevent creation of password-protected coupons (#50236)
* Warn when creating password-protected coupons

* Add changelog
2024-08-01 11:31:38 -07:00
Corey McKrill 864d7b52e8
Logging: Add parameter to avoid log directory creation (#49766)
* Logging: Add parameter to avoid log directory creation

The `get_log_directory` method, by default, attempts to create the
directory if it doesn't exist yet. However, the method is called early
in the initialization of the WooCommerce plugin, regardless of whether
the logging system is configured to use the filesystem. This adds a
parameter to `get_log_directory` to specify whether to attempt directory
creation, and ensures that the parameter is set to false in a couple
of specific places.

* Remove usage of method from old log file handler

* Don't initialize log directory when getting size

* Add missing translator note

* Rename  param to

* Reduce usage of wp_upload_dir
2024-08-01 11:21:53 -07:00
Ames Plant 806f2efdc6
[Accessibility] Update product order status colors to ensure accessible color contrasts (#49934)
Update product order status colors to ensure accessible color contrasts

Co-authored-by: amesplant <95257231+amesplant-dmv@users.noreply.github.com>
2024-08-01 18:19:59 +01:00
Thilina Pituwala 03fa96d7f3
Fix subscription activations when user own multiple subscriptions of same product install on different stores (#49803)
* When matching subscriptions to installed products, giving priority to subscriptions available for activation.

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-01 19:04:55 +02:00
Fernando Marichal 03bbc139de
Enable skipped E2E tests for attributes (#50143)
* Enable test to add existing attributes

* Enable test to update product attribute

* Add changelog

* Locate item by aria-label instead of label

* Add blur to the summary field
2024-08-01 13:45:11 -03:00
Nathan Silveira 6a9278d7c2
Strip HTML tags from aria-label in wc_help_tip function (#50103)
* Strip HTML tags from aria-label in wc_help_tip function

* Run same escape sequence for aria_label string

* Refactor wc_help_tip and add additional test case

* Remove blank line
2024-08-01 12:35:41 -03:00
Thomas Roberts e2bd308e8e
Prevent Store API orders being placed with empty/invalid fields (#50028)
* Fix spacing/capitalisation on comments.

* Use get_fields_for_location to prevent numeric keys going into locale

* Merge default locale with current locale

Required because the current locale only contains a diff against the default

* Iterate over current locale to get validate required fields

* Add unit tests to cover the state/postcode checks

* Add changelog

* Fix lint errors

* Ensure locale filter runs when tests need it.

* Update tests to reset locale after running

* Add validate_required_additional_fields function

* Add test to ensure required additional fields are passed

* Add throws tag to docblock
2024-08-01 15:58:06 +02:00
Mike Jolley 02c639c2a3
Store API: Remove the need for nonces when using cart tokens. Remove deprecated `X-WC-Store-API-Nonce` header. (#50025)
* Tweak token validation to handle empty nonce

* Disable nonce check if you have a valid token

* Docs for Cart-Token

* Remove deprecated X-WC-Store-API-Nonce (was due to be removed blocks 7.5)

* Token should default to empty string

* Changelog
2024-08-01 15:52:54 +02:00
louwie17 97b3b10a2b
Add product form extensibility tutorials (#50137)
* Start on the generic fields tutorial

* Add custom field tutorial

* Some small updates

* Address linting

* Minor updates

* Update manifest

* Address PR feedback, mostly formatting changes
2024-08-01 10:50:51 -03:00
Matt Sherman 606224d0d0
Product Editor: Fix shipping dimensions length field label (#50180)
Correct label of length field
2024-08-01 08:49:07 -04:00
Vladimir Reznichenko 8da5a91842
CI: speedup 'Build Project Jobs' (#50197)
In this PR, we use shallow checkout if the environment provides no base_ref, which is needed for identifying changed files. If no ref provided, we are not able to calculate the diff and therefore go with faster shallow copy.
2024-08-01 14:18:08 +02:00
Michal Iwanow a15235d230
Update My Subscriptions screen labels and columns (#49985)
* Remove Marketplace feedback modal which is no longer used

The goal of the modal was not to be shown after 2023 (see https://github.com/woocommerce/woocommerce/pull/39609),
so we can remove it from the codebase now. Especially that it's a bit buggy - snackbar prompting for feedback
is displayed but the modal is not there because of the check for FEEDBACK_DIALOG_CAN_APPEAR.

* Marketplace Subscriptions - rename columns

* Marketplace subscriptions - show status badge in the Subscription column

Additionally, we remove the info icon from the status popover

* Marketplace subscriptions - add button helping to turn renewals on

* changelog

* Add focus handlers for accessibility

* Remove unused variable

* Fix sharing path url - My Subscriptions

* Change the status badge priority for expired

We should show the expired badge first, as it makes more sense with the
primary action.

---------

Co-authored-by: raicem <cem.unalan@automattic.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
2024-08-01 14:12:32 +02:00
Adrian Moldovan 0ba308247a
[testing workflows] Add pre-release checks (#50204) 2024-08-01 13:48:58 +02:00
Manish Menaria a73c6e5546
Product Collection: Enable Context-Aware Previews by Adding `usesReference` to `registerProductCollection` (#49796)
* Allow registering custom collections with various context references

Implemented the registration of product collections with different context references using the `usesReference` property. These custom collections are now registered with specific contexts such as product, cart, order, and archive.

This enhancement allows for more tailored previews and functionality based on the specific context in which the product collection is used.

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

* Support multiple references for usesReference

* docs: update documentation to include `usesReference`

Enhanced the `register-product-collection` documentation to include details about the new `usesReference` property. This property allows collections to specify required references, enhancing their contextual relevance and preview capabilities.

- Added `usesReference` description to the collection fields section.
- Included examples demonstrating the usage of `usesReference` with single and multiple references.
- Clarified the behavior when required references are unavailable on the editor side but available on the frontend.

This documentation update provides third-party developers with the necessary information to utilize the `usesReference` property effectively in their custom product collections.

* test: add e2e tests for `usesReference`

Added end-to-end tests to verify the functionality of the `usesReference` property in product collections. These tests ensure that the appropriate preview labels are displayed.

- Created multiple custom product collections with different `usesReference` values: `product`, `cart`, `order`, `archive`, and combinations of these.
- Verified that collections show the correct preview label when the required reference is present.
- Ensured that the preview label is not shown in irrelevant contexts, such as posts or product catalog templates.

This addition enhances test coverage and ensures the robustness of the `usesReference` feature.

* Fixed issue with preview label showing in Specific Product and Archive templates.

* Handle cases when termId or productId is 0

This also improves the readability of the code by using better variable names.

* Make PC use postId context so location can be recognised correctly (#50152)

* Fix TS errors

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
2024-08-01 15:33:27 +05:30
Bart Kalisz 63e212f9ce
Blocks: Update wp-env config to use production WP (#49704) 2024-08-01 11:59:42 +02:00
DAnn2012 e65e8bf83a
Made two strings translatable in slotfill.js (#50198)
* Update slotfill.js

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

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2024-08-01 09:13:18 +00:00
Alba Rincón 69ce0c6e3a
CYS - Document possible Intro pages (#50171)
* CYS - Document possible Intro pages

* Update README.md

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

* Fix lint errors

* Move images to the repo

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-01 10:33:03 +02:00
Akeda Bagus cf6268ec55
Use UTM parameters to link Tracks events: CTA from connect notice and successful site connection (#50126)
Pass UTM parameters to get events from clicking "connect" notice to site being connected
2024-08-01 14:01:21 +07:00
Ilyas Foo bb8090a165
Improvements to core profiler checkbox UX (#50151)
* Fix border and vertical align

* Changelog

* Add toggle event to plugin card

* Add test

* Fix double invocation and simplified onChange

* Fix unintended optional parameter change
2024-08-01 13:26:05 +08:00
Chi-Hsuan Huang e29d14b12e
Implement server-side remote error logging (#49599)
* Implement php remote logging

* Log fatal errors remotly

* Add tests

* Add changelog

* Improve code doc and type check

* Bug fixs

Fix Undefined variable $local_logger

* Rebase

* Fix tests

Fix tests

* Fix import path

* Use WC_Site_Tracking::is_tracking_enabled()

* Simplfy path checking/replace logic

* Rename log method -> handle

* Handle wp_safe_remote_post fails

* Fix lint

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

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Logging/RemoteLogger.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Use WC_Rate_Limiter

* Update wc_doing_it_wrong log method name

* Update is_third_party_error method signature in RemoteLogger.php

* Revert changes

* Update plugins/woocommerce/src/Internal/Logging/RemoteLogger.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Logging/RemoteLogger.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Logging/RemoteLogger.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* Update plugins/woocommerce/src/Internal/Logging/RemoteLogger.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>

* chore: Add 'php' tag to RemoteLogger in woocommerce

* Fix test

---------

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2024-08-01 04:56:14 +00:00
Chi-Hsuan Huang 76e1761cf7
Add JS remote logging package (#49702)
* Add remote logging package

* Update package.json

* Fix wca admin

* Add changefile(s) from automation for the following project(s): @woocommerce/remote-logging, @woocommerce/dependency-extraction-webpack-plugin, woocommerce

* Update .eslintrc.js

* Revert core changes

* Add tracks check and update tests

* Set hard limit to trace

* Fix filename

* Add filters to customise API endpoints

* Update REDAME.md

- Add filters
- Remove installation section

* Update REDAME.md

* Add composer.lock

* Fix filename

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-08-01 12:35:43 +08:00
Chi-Hsuan Huang c9f20f87d2
Fix e2e Google for WooCommerce strict mode violation error (#50189)
* Fix e2e Google for WooCommerce strict mode violation error

* Add changelog

* Fix test
2024-08-01 12:27:00 +08:00
DAnn2012 e8dfe754dd
Fix typo (README.md) (#50156)
* Update README.md

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

* Update heading to fix lint failure

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
2024-07-31 11:37:15 -07:00
Adrian Moldovan 017fe40928
[testing workflows] Use choices for on-demand test run input (#50170) 2024-07-31 10:48:14 -07:00
Nathan Silveira d3bd80fc61
SelectTree: keep the focus on the input while navigating between menu items (#49989)
* Commit at a functional state

* Change role to 'listbox'

* Add --highlighted class rules

* Fix overflow in create category modal

* Add countNumberOfItems
Fix multiple bugs
Refactor
Rename and move use-linked-tree file to linked-tree-utils

* Add comments

* Escape regExp

* Allow to select/remove with the enter key

* Add changelogs

* Fix unit tests

* Fix bug on css selector, since role was changed

* Fix bug in index calculation and handle focus on checkboxes and expander button correctly

* Only add activedescendant when something is highlighted

preventDefault when pressing arrowUp

* Fix bug: items array was being used instead of using linked tree

* Call onSelect when pressing enter

* Add guards to prevent tests breaking

* Add additional tests for SelectTree

* Add comments and rename some functions in linked-tree-utils
2024-07-31 11:30:32 -03:00
Niels Lange 3dd6a4037b
Display address card for virtual products if shopper's address is known (#50127)
* Display address card for virtual products

* Remove obsolete dependency

* Optimise dependencies

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

* Adjust core e2e tests

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-31 15:17:21 +02:00
Niels Lange 6e2fbcae52
Text adjustments on shipping zones settings page (#50136)
* Text adjustments on shipping zones settings page

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

* Fix line error and escape output

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-31 15:16:59 +02:00
Maikel Perez 75d55a4a66
Product Block Editor: clicking outside of the attribute modal triggers an error (#50139)
* Fix clicking outside of the attribute modal triggers an error

* Add changelog file
2024-07-31 09:03:39 -04:00
Vladimir Reznichenko 045919d107
CI: git checkout speed tweaks in linting jobs. (#50169) 2024-07-31 14:31:41 +02:00
Vladimir Reznichenko 5d4733edd8
CI: re-introduce sharding in PHPUnit jobs (#50084)
In this PR we re-grouping PHPUnit jobs and introducing sharding based on two test suites - legacy and main, in order to reduce per-PR CI flow duration and release workers earlier.
2024-07-31 12:58:15 +02:00
Vladimir Reznichenko 4b90743ada
CI: add some comments to CI-workflow about intended jobs generation strategy. (#50114) 2024-07-31 08:46:55 +02:00
Tung Du 5ffad9a659
[Experimental]: Update: new title and icon for the Overlay Navigation block (#50011)
* update: rename Navigation block to Overlay Navigation with new icon

* chore: changelog

* chore: use comment instead of update

* reset lock file

* test: update block title

* test: update overlay navigation test
2024-07-31 12:56:53 +07:00
DAnn2012 4318dac7ec
Fix typo (class-wc-rest-wccom-site-ssr-controller.php) (#50145)
* Update class-wc-rest-wccom-site-ssr-controller.php

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-30 16:29:50 -07:00
Fernando Marichal e40d91c279
Always count variations without price (#50129)
* Always count variations without price

* Add changelog
2024-07-30 16:13:48 -03:00
Shani 752e80acfa
Docs/linter fixes code snippets (#50102)
* Adds merchant code-snippets

* Adds updated manifest.json

* Fixes linting issues on a number of files

* Adds manifest.json again

* Additional linter fixes

* Updates manifest.json

---------

Co-authored-by: Shani Banerjee <shanibanerjee@Shanis-MBP.lan>
2024-07-30 10:46:59 -04:00
Alex Florisca 13a79c821a
Express checkout buttons have a min-width of 240px (#49304)
* express checkout buttons have a min-width of 240px

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

* Fix linting issue

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-30 15:42:51 +01:00
nigeljamesstevenson 217d628199
Remove changelog file that was created for `9.1.4` (#50120)
Delete plugins/woocommerce/changelog/fix-woocommerce_product_add_to_cart_text-filter-core-approach

removing changelog that was created for `9.1.4`
2024-07-30 06:50:09 -07:00
Fernando Marichal e759036dcb
[Enhancement]: Change link label for duplicated SKU (#49729)
* Change link label for sku

* Add changelog

* Add id to product_sku

* Fix focus function

* Get element by id

* Fix tests

* remove hardcoded elements

# Conflicts:
#	packages/js/product-editor/src/hooks/use-error-handler.ts

* Add id to generic text

* Remove comment

* Fix e2e tests

* Add changelog

* Fix js tests

* Show example of empty useValidation

* Rename validator function

* Create method getParentTabIdByBlockName

* Fix errorhandler hook

* Fix tests

* Fix useBlocksHelper tests

* Fix e2e test

* Fix test

* Add tests

* Replace empty string by null

* Add errorContext null check

* Fix errorHandler hook tests

* Fix test description

---------

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2024-07-30 10:00:17 -03:00
Maikel Perez dc2c2eda8e
[Product Editor] Attribute create term failed request causes unlimited loading state (#50093)
* Fix unhandled promise rejection when creating an attribute term and the create request fails

* Add changelog file

* Fix linter error

* Fix compilation error
2024-07-30 09:59:10 -03:00
Nathan Silveira 71b865fa63
Add abbreviations for fields GTIN, UPC, EAN, or ISBN (#50042)
* Add abbreviations for fields GTIN, UPC, EAN, OR ISBN

* Add translators comments
2024-07-30 09:51:29 -03:00
Alba Rincón 9d826e7b3b
CYS - Update the `show_on_front` setting to `posts` (#50083)
* Update the `show_on_front` setting to `posts`.

This is needed for the CYS flow to work properly

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-30 13:07:46 +02:00
Francesco 81d20d8d32
feat: add `aria-required` attributes to WC form fields (#48371)
* feat: add `aria-required` attributes to WC form fields

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

* added tests for radio fields

* WIP

* WIP

* yoda, space

* Update functions.php

* WIP

* WIP

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

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

* Update plugins/woocommerce/tests/legacy/unit-tests/templates/functions.php

Co-authored-by: Alex Florisca <alex.florisca@automattic.com>

* fix checkbox required attribute, add tests

* lint

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

* importing changes from Thomas' branch, aria-hidden on abbr

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

* added hidden also on JS changes

* template number change

* forgot to commit these changes

* porting of changes from selectWoo repository

* undo unwanted changes

* Update checkout e2e to stop looking for * in field labels

* removed aria-hidden to abbr, to avoid regressions across multiple repos

* lint

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
2024-07-30 16:11:23 +05:30
Luigi Teschio d080f44c17
CYS: Fix opt-in flow fonts (#50086)
* CYS: Fix opt-in flow fonts

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

* add E2E test

* fix e2e test

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-30 12:10:51 +02:00
Luigi Teschio d4e686a063
CYS: Fix opt-in flow patterns (#50080)
* CYS: Fix opt-in flow patterns

* clean up not necessary state

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

* show spinner

* improve e2e test

* fix e2e test

* fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-07-30 12:10:16 +02:00