Commit Graph

64133 Commits

Author SHA1 Message Date
Maikel Perez 3d0b9993be
Product template not updating in the UI when it is changed (#48288)
* Fix Product template not updating in the UI when it is changed

* Add changelog file
2024-06-07 20:00:15 +00:00
Nathan Silveira 442adcc395
Determine _product_template_id from WP filter (#47762)
* Remove template matching from front-end

* Create 'woocommerce_rest_get_product' filter to allow extensions to change the product when it's fetched through the REST API

* Stop defaulting to 'standard-product-template' product template and handle defaults only in getLayoutTemplateId function

* Use created hook to determine and persist the product template ID when it's not defined.

Also introduce 'match_fn' in ProductTemplate to allow extensions to provide robust ways of matching the template

* Add changelog

* Fix tests

* Remove outdated tests

* Fix issue in filter because $product can be false and move API change to v3

* Add comments to continue statements

* Small refactor

* Only send layout template id to useLayoutTemplate after product is loaded

* Revert front-end changes

* Remove match_fn and create filter to allow extensions to determine the product template id

* Avoid loading layout template before product is loaded

* Create woocommerce_product_editor_determine_product_template filter and use it

* Update changelogs and remove unused code

* Remove _product_template_id for products that were created with the new product editor.

* Use only id to find productTemplate

* Turn hook into experimental

* Remove deprecated tests

* Rename filter

* Add more typings to useEntityRecord

* Use hasResolved boolean to check whether product has been resolved

* Add changelog

* Add 'variation' to ProductType

* Don't default to the standard-product-template for variations

* Update changelog

* Accept null in getLayoutTemplateId

* Fix edit variable product test

* Rename hook

* Revert changed logic to avoid regressions

* Increment useProductTemplate logic

* Default to standard-product-template instead of undefined when no matches

* Re-import Features class

---------

Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-06-07 19:48:20 +00:00
Corey McKrill 7c2b171b36
Ensure attribute slugs are properly handled in the Products REST API controller (#48198)
* Ensure attribute slugs are properly sanitized when setting

* Update approach to avoid breaking functionality in WP Admin UI

* Add changelog file

* Add unit test
2024-06-07 14:14:46 -05:00
Adrian Moldovan f0478c3f60
[ci] Evaluate jobs: update the ignore list with regex expressions (#48268) 2024-06-07 09:34:55 -07:00
Veljko V 31e8b6cc6b
Fix flaky filling product price in merchant/products/block-editor/create-variable-product-block-editor.spec.js (#48276)
* Fix flaky filling product price

* Add changelog
2024-06-07 09:18:27 -07:00
Damián Suárez a5bbf14e6f
PFT: retrieve and render the product form templates (#48206)
* introduce ProductFormTemplateProps type

* pull and set the default product form template

* render the PFT when it exists

* render a temporeary form templates selector

* changelog

* rollback TS global changes

* fix typo
2024-06-07 17:14:01 +01:00
Nathan Silveira cf2572bc32
Fix tabs overflowing when viewport is small (#48193) 2024-06-07 12:48:46 -03:00
Tom Cafferkey 5bc915e811
Product Gallery: Prevent block from being registered on the post editor (#48228)
* Prevent ProductGallery block from being registered on the post or page editor

* Add product gallery to widget blacklist

* 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>
2024-06-07 13:51:04 +00:00
Damián Suárez b019aa2700
PFT: introduce controller and initialize it (#48221)
* introduce super super base  product form template

* introduce ProductFormsController controller

* initialize PFT (product form template)

* changelog

* do not use clas prop to store controller

* show temporarely the Product Form CPT in the UI

* migrate also when plugin is installed

* eslinting

* minor code refactoring

* check $hook_extra param is defined

* introduce $product_form_templates private prop

* eslinting

* bump simple template version

* rename class method

* pick the action when plugin action
2024-06-07 14:37:21 +01:00
rodelgc 40c7cc1db6
Delete changelog files for 48231 (#48279) 2024-06-07 21:26:32 +08:00
Thomas Roberts 89bcbc7915
Apply lint fixes to payment method integration documentation (#48226) 2024-06-07 04:26:09 -07:00
github-actions[bot] 6b44e366f1
Delete changelog files based on PR 48235 (#48259)
Delete changelog files for 48235

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-06-07 19:11:46 +08:00
Alba Rincón bff253d6dc
CYS Patterns: exclude testimonial patterns using jetpack (#48233)
* CYS Patters: exclude testimonial patterns using jetpack

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-07 11:45:09 +02:00
Alba Rincón 3a28c8ce7b
CYS > Ensure that after installing fonts or patterns the user lands back in the same CYS section (#48227)
* Fix crash when currentTemplate is null

* Redirect to the proper section after installing fonts or patterns

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-07 11:38:46 +02:00
Karol Manijak 5151546159
Update test adding blocks (#48211)
* Simplify the list of blocks to test and order them alphabetically

* Add missing blocks in test checking if they can be inserted

* Remove Coming Soon that's not available yet

* Add changelog

* Improve specificity of the Reviews by Product test

* Get better selector for Reviews by Product placeholder

* Exclude Product Gallery (Beta) - not intended to be used in post

* Fix alphabetical order
2024-06-07 10:04:15 +02:00
Hsing-yu Flowers 9032c9d954
Add error class to checkout endpoint response (#47489)
* Add error class to checkout endpoint response

* Check if previous exist before using it

* Remove assigned empty array to the additional data

* Create initial additional data state

* Fix exception not escaped linting error

* Get Exception class when WP_DEBUG is defined and true

* Add hook docblock comment

* Add phpcs disable missing since comment

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-07 13:20:33 +05:30
Jorge A. Torres 7f75aa7487
Add `original_post_status` to HPOS order edit screen (#48196)
* Include "original_post_status" with prefixed order status on HPOS edit screen

* Add changelog

* Fix PHPCS issue
2024-06-07 13:19:05 +05:30
Ilyas Foo 60ca86e31c
Add unit tests for 4 wcadmin tracks (#47876)
* Add unit test for pageview on non-embedded layout component

* Add tracks test for payments welcome page

* Add test for task completion track

* Update completion track to use get_json instead for more accurate coverage

* Changelog

* Lint

* Add test for tasklist item click

* Change test name
2024-06-07 15:14:26 +08:00
RJ 52e2e9f864
dev: core profiler xstate v5 migration (#48135)
* updated core profiler to xstate v5
2024-06-07 15:06:40 +08:00
Adrian Duffell 2583289197
Enable Launch Your Store feature flag in 9.1 (#48244)
* Revert "Disable Launch Your Store feature flag in 9.0 (#48231)"

This reverts commit 76d2b205e5.

* Re-add the previous changelog

* Update version number in db update

* Add changelog
2024-06-07 13:49:55 +08:00
Jonathan Lane 8efb1d3c3d
Add a skipped tests custom reporter for e2e tests (#48195)
Co-authored-by: Jon Lane <jon.lane@automattic.com>
2024-06-06 23:48:20 +03:00
Matt Sherman 17b73ad463
Product Editor: Move variation pricing fields to General tab (#48155) 2024-06-06 16:44:27 -04:00
Adrian Duffell 76d2b205e5
Disable Launch Your Store feature flag in 9.0 (#48231)
* update: lys feature flag off (#46852)

* Revert db update

---------

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>
2024-06-06 13:11:31 -07:00
Adrian Moldovan 8fc6970b90
[ci] Merge test jobs into a single generic job (#48175) 2024-06-06 21:50:52 +03:00
Fernando Marichal 15b9805704
Revert customer-effort-score-tracks feature flag removal (#48235)
* Revert "Remove customer-effort-score-tracks"

This reverts commit 079d1fc6b6.

* Add  changelog
2024-06-06 15:27:10 -03:00
Adrian Moldovan 26158ee6b4
[testing workflows] Replace push to tags trigger with release published and updated (#48209)
Update push to tag triggers with release trigger
2024-06-06 09:51:02 -07:00
Veljko V afdd6e1cd5
Improve editor util for inserting blocks via shortcut in e2e test suite (#48225)
* Improve inserting blocks via shortcut and update relevant tests

* Add changelog

* Update util function

* Switch fill to pressing to avoid flakiness
2024-06-06 09:04:26 -07:00
Tom Cafferkey 794562dd39
Product Rating: Hide rating stars and counter from the inserter (#48229)
* Hide rating stars and counter from the inserter

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-06 16:01:53 +00:00
Veljko V 469dede5b1
Fix flaky merchant product attribute e2e test (#48230)
* Fix flaky merchant product attribute e2e test

* Add changelog
2024-06-06 08:56:27 -07:00
Manish Menaria a746332e01
WooCommerce Blocks: Change label for E2E flaky tests (#48223)
Change label for flaky tests
2024-06-06 20:51:23 +05:30
Calvin Rodrigues 562e791978
Fix minicart icon cursor on hover in site navbar (#46996)
* Fix minicart icon cursor on hover in site navbar

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-06 16:54:48 +02:00
Luigi Teschio 5e6c7e1e67
CYS: Fix Loading Screen E2E flaky test (#48214)
* CYS: Fix Loading Screen E2E flaky test

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-06 15:40:20 +02:00
github-actions[bot] 9b179cf498
Delete changelog files based on PR 48163 (#48218)
Delete changelog files for 48163

Co-authored-by: WooCommerce Bot <no-reply@woocommerce.com>
2024-06-06 18:44:42 +08:00
Jorge A. Torres f35a7945a4
Make `BatchProcessingController` a bit more robust (#48078)
Adds a "retry" mechanism to our batch processing system and also logging for failures.
2024-06-06 12:43:21 +02:00
Barry Hughes 5911304fd7
Remove the potential for product attribute updates to unintentionally reset various values to their defaults. (#48120) 2024-06-06 12:37:36 +02:00
Luigi Teschio 621800d583
CYS: Fix crash homepage (#48205)
* CYS: Fix crash homepage

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

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

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-06 09:30:37 +00:00
Joey Kudish 506dac269e
Replace truthy check with isset when setting default checkout field value (#48031)
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
2024-06-06 01:55:34 -07:00
Alba Rincón d2046b1573
Update copy for the CYS intro tour (#48202)
* Update copy for the CYS intro tour

* Add changelog
2024-06-06 09:29:26 +02:00
Luigi Teschio 84c12e1501
CYS: Add the Delete button to the Block Toolbar (#48143)
* CYS: Show popover when the user clicks on the pattern

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

* fix errors

* add documentation

* fix calculation

* improve performance

* remove not necessary else branch

* restore pnpm-lock

* improve function naming

* fix label

* improve logic

* remove dispatch

* remove console.log

* fix setLogoBlockIds

* CYS - BlockToolbar: Add Delete button

* fix import

* no show toolbar

* fix build

* not allow click on no blocks placeholder

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

* remove not necessary comment

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-06 09:25:07 +02:00
Moon d86a90ba9e
Only accept return_url when do_update_woocommerce is present (#48163)
* Accept return_url only when do_update_woocommerce exist

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

* Update 48163-fix-db-update-redirect-issue

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

* Update plugins/woocommerce/changelog/48163-fix-db-update-redirect-issue

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

* 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-06-06 14:50:43 +08:00
Manzur Ahammed 22309f0484
Render notice about payment method (#47141)
* fetch notice from woocom for connected store

* show payment mehtod notice on setting page

* Combine missing payment method and expiring notice

* Shorter TTL for notices transient

---------

Co-authored-by: Akeda Bagus <akeda.bagus@automattic.com>
2024-06-06 10:23:03 +07:00
Chi-Hsuan Huang 391ab0f81a
Optimize text wrapping prevent orphans (#48131) 2024-06-06 09:42:06 +08:00
Vedanshu Jain 9b8b79e755
Add DISTINCT to query in `wc_customer_bought_product` for smaller response. (#48139)
* Add distinct for smaller response from DB.

* Add changelog.
2024-06-05 16:35:21 -05:00
Damián Suárez 4acb036cfd
PFT: create a new `product_form` CPT (#48073)
* register product_form CPT

* changelog

* change icon

* register `product_form` only when flag is enabled

* doc `woocommerce_register_post_type_product_form`

* eslinting
2024-06-05 21:10:10 +01:00
Adrian Moldovan 7fb40ffc0b
[testing workflows] Migrate release checks to ci.yml (#48113)
* Deprecate pr-smoke-test.yml

* Add configs for each environment

* Add scripts

* Add arguments to playwright command

* Update pnpm scripts and existing e2e projects

* Fix shellcheck warning

* Update test env start for Gutenberg stable run

* Add changelog

* Remove unused var

* Set the USE_WP_ENV var

* Configure daily e2e jobs

* Rename some steps

* Add release checks jobs and deprecate  smoke-test-release.yml

* Deprecate  smoke-test-release.yml

* Add tests-release-checks.yml to trigger ci.yml on push to tags

* Add the pull_request trigger to test the workflow

* Remove the pull_request trigger to test the workflow

* Add the pull_request trigger to test the workflow

* Add the tag input in ci.yml

* Remove import and use core reference

* Only build if build-plugin is true

* Use release-artifact instead

* Split setup-monorepo step

* Use tag: 'nightly' to test

* Use inputs.tag directly in the wp-env setup step

* Add script to override the wp-env config

* Run the env config script in ci

* Set the artifact name

* Fix workflow syntax

* Add changelog

* Validate RELEASE_TAG and ARTIFACT_NAME

* Use real ref type and name

* Use real ref type and name

* Use real ref type and name

* Use github context instead

* Test with 9.0.0-beta.2

* Add push to tags trigger directly in ci.yml

* Configure one job to run with nightly-checks

* Remove empty lines

* Format events array one element per line

* Format events array one element per line
2024-06-05 13:02:54 -03:00
Alba Rincón 88cbceb6fa
[CYS] Update the intro page (#46916)
* Change the modal condition to check if the theme is a block theme

* Only switch to TT4 if the theme is not a block theme

* Remove unnecessary code

* Add new Intro cards when the theme is customized

* Redirect to the customizer if the active theme is a classic one

* Update the "Start designing" link depending on the type of theme

* Fix lint errors

* Fix more lint errors

* Fix tests

* Remove only

* Add tests for the customize button

* Update copy

* Fix lint errors

* Try to fix tests

* Fix tests

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

* Remove commented out css code

* Fix tests

* Remove unused

* Add margin to the cards

* Change active theme has mods by customize task completed

* Add events to the new intro page

* Fix color palette tests

* Remove unused 'fetchActiveThemeHasMods' function

This fixes the "select( 'core' ).getCurrentThemeGlobalStylesRevisions() is deprecated since version 6.5.0" warning

* Revert allowing any block theme in the assembler

* Prevent other block themes to go to the assembler

* Fix linting errors, restore test

* Remove only from test

Co-authored-by: Luigi Teschio <gigitux@gmail.com>

* Fix lint error

---------

Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
2024-06-05 16:54:29 +02:00
Manish Menaria 307d893549
WooCommerce Blocks: Added a GitHub Action to create issues for flaky E2E tests (#47758)
* Add flaky test reporting and issue creation for Blocks

This commit introduces the functionality for identifying and reporting flaky tests within our CI workflow.
- The reporter captures flaky test results and saves them to `flaky-tests` directory.
- If a test fails initially but passes upon retries, it is marked as flaky and a corresponding report is generated.
- The workflow creates GitHub issues for flaky tests, aiding in better visibility and tracking of these intermittent issues.

1. **Workflow Changes**:
   - **Archive flaky test reports**: Adds a step to archive flaky test reports generated during the test runs.
   - **Merge flaky test reports**: Introduces a new step to merge all flaky test reports from different shards.
   - **Create GitHub issues for flaky tests**: Implements a job that uses the `@wordpress/report-flaky-tests` package to create GitHub issues for detected flaky tests when a PR is not in draft state and flaky test reports are present.

2. **New Flaky Test Reporter**:
   - Adds `flaky-tests-reporter.ts` that defines a custom Playwright reporter for identifying and recording flaky tests.

3. **Playwright Configuration**:
   - Updates `playwright.config.ts` to include the new flaky tests reporter in the list of reporters when running in CI.

4. **Demo Tests**:
   - Adds `demo.spec.ts` containing sample tests to validate the flaky test reporting functionality.

Implementing this feature will help us track and address flaky tests more efficiently, ensuring more stable and reliable test suites.

* Remove draft condition for testing

* 'Merge failures artifacts' job shouldn't touch flaky test artifacts

* Try fixing if condition

* Add required permissions

* Let's try providing all the permissions

* Let's try providing all the permissions

* Create flaky tests issues when PR is merged with trunk

* Update if condition

* Run action for specific paths only

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

* Remove Demo file

* Remove Demo file

* Use commit hash to use exact version of the script

* Replace label with team: Kirigami & Origami

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-05 19:49:28 +05:30
Alba Rincón 7a3cbcded3
CYS > Patterns Migration: Ensure a message is displayed if the user did not allow fetching patterns via API and/or they are unavailable (#48095)
* Add the `Want more patterns` opt in message when tracking is not allowed

* Add notice for offline user

* Add new internal endpoint to fetch patterns

* Introduce a new step in the state machine to synchronously fetch patterns in the flow

* Remove unnecessary initialization

* Add new endpoint to check the patterns PTK availability

* Add `isPTKPatternsAPIAvailable` to context

* Add patterns opt in tracking message to homepage section

* Add tests

* Fix linting errors

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

* Fix typo

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-05 15:09:35 +02:00
Luigi Teschio 50b29d20f7
[Experimental] [CYS - Full Composability]: Add tooltip when user clicks on pattern (#47583)
* CYS: Show popover when the user clicks on the pattern

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

* fix errors

* add documentation

* fix calculation

* improve performance

* remove not necessary else branch

* restore pnpm-lock

* improve function naming

* fix label

* improve logic

* remove dispatch

* remove console.log

* fix setLogoBlockIds

* fix build

---------

Co-authored-by: github-actions <github-actions@github.com>
2024-06-05 12:27:35 +00:00
Veljko V 1f736a0a22
Fix flaky e2e publishing created pages and posts (#48162) 2024-06-05 12:26:44 +03:00