* Use createRoot().render() instead of render()
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove “ReactDOM.render is no longer supported” checks
* Add “ReactDOM.render is no longer supported” checks again
* Adjust JS unit tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix not template set correctly
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR is the second attempt to speed up monorepo installation by removing autoloading optimization setting from the configuration and performing the optimization where it is appropriate (composer post-install hooks and when building releases).
In the installation context, the composer post-install hook will execute a background task to dump the optimized autoloading, while the installation process completes other tasks.
In this PR we ar relocating playwright downloads caching into the monorepo action (behind input parameter). That consolidates monorepo-related caching and also reduces the time fetching the cache action in external workflows.
* CYS: fix default intro pattern
* 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>
* Update Revert button text and description
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add (Classic) as suffix instead of prefix
* Button text should be in center
* Fix: Button text isn't in center
---------
Co-authored-by: github-actions <github-actions@github.com>
* Check if parent order exists
* Add tests for order reports with orphaned refunds
* Add changefile(s) from automation for the following project(s): woocommerce
* Update phpdocs test
* Add method is_valid_order
---------
Co-authored-by: github-actions <github-actions@github.com>
* Move `check_should_use_blockified_product_grid_templates` to `wc-template-functions.php`
* add changelog entry
* alias Blocks/Options as BlocksOptions
* Init `BlockTemplatesController` for block themes only
* Remove the `wc_current_theme_is_fse_theme()` check from BTC
* Streamline the option update logic a tad
* Revert "Streamline the option update logic a tad"
This reverts commit 54a965d9784df253f82533991e03c1112fd386ef.
* init BTC for themes that support block template parts
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* init BTC for themes that support block template parts, p.2
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* move the check to a new OptionsManager class
* make types consistent
* add classic theme with block template parts support
* tmp: add logs for debugging
* Initialize BlockTemplatesController on init
* Remove debugging code
* Prevent duplicate template parts appearing in the Site Editor in classic themes that support template parts
* Update e2e tests for classic themes that support template parts
* Fix Checkout header not being rendered
* Fix PHP tests
* Simplify WC_BLOCK_USE_BLOCKIFIED_PRODUCT_GRID_BLOCK_AS_TEMPLATE logic
* Rename OptionsManager class to TemplateOptions
* Change format of inline comment
* Use wc()->is_store_api_request()
* Update plugins/woocommerce/src/Blocks/TemplateOptions.php
Co-authored-by: Tom Cafferkey <tjcafferkey@gmail.com>
* Update testing theme slugs
* Add strict_types to TemplateOptions file
* Refactor check_should_use_blockified_product_grid_templates()
* Don't update 'wc_blocks_use_blockified_product_grid_block_as_template' when switching between block themes
* Add extra unit test to make sure the option is not updated when switching between block themes
* Update strict_types format
* Remove unnecessary theme switch after tests finish running
* Replace .toHaveCount( 0 ) with .toBeHidden() in several tests
* Create a TestUtils to abstract logic to open Mini-Cart block
* Remove unnecessary import
* Replace .toHaveCount( 0 ) with .toBeHidden() in several tests (II)
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Tom Cafferkey <tjcafferkey@gmail.com>
* CYS: improve copy no blocks placeholder
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix toolbar position
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update Fiverr CTA to reflect latest update in Figma.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* remove not necessary patterns
* use always template1 for AI flow
* show default patterns homepage
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not used images
* restore changes
* fix e2e test
* fix e2e test
* restore necessary patterns
* add necessary patterns
* add default patterns
* add default pattern
* update tests
* fix logic
* rename images
* Add changefile(s) from automation for the following project(s): woocommerce
* restore deleted patterns
* exclude tt4 patterns
* update image
* update default intro pattern
* not use i18n function
* fix how patterns label are translated
* order patterns in the sidebar
* fix unit test
* simplify function
* Fetch patterns from the private dotcom patterns
* Add changefile(s) from automation for the following project(s): woocommerce
* exclude some default patterns
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Add accessibility attributes to form login
* Add accessibility attributes to lost password form
* Add accessibility attributes to reset password form
* Bump form login templates
* Add accessibility attributes to register form
* Update login forms with aria-required attribute
* Hide asterisk for screen readers in the register form
* Add changelog file
* Fix for tags overlapping divider line issue in "Filter by product category"
Issue fixed where tags are overlapping divider line in "Filter by product category".
* Fix for tags overlapping divider line issue in "Filter by product category"
Issue fixed where tags are overlapping divider line in "Filter by product category".
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fetch patterns from the private dotcom patterns
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid the intro cards to get smaller on large screens
* Add changefile(s) from automation for the following project(s): woocommerce
* Add flex wrap
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: open Intro panel when user clicks on Design your homepage
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Reword and reorganise existing account settings
* Disable account creation options if toggled off
* Toggle disabled state of related options
* Update settings crud tests
* changelog
* Hide based on subscriptions checkbox also
* fix doc. improve doc
* disabe `Add` button when not terms nor options
* variant="primary" > isPrimary
* move helpers to utils file. improve jsdoc
* add tests for hasTermsOrOptions helper
* add isAttributeFilledOut unit tests
* changelog
* allow any type in unit tests
* show a toolip with not possible to add attributes
* fix wrong inline code comment
* expect the Add button is initially disabled
* check the `Add attributes` button is enabled
* changelog
* remove obvios jsdoc
* check all terms are accepted
* minor changes
* update tests
* remove console.log to dev purpose
* improve E2E testing remviing attr row
* Add a new icon style to the Customer Account block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix lint errors
* Improve svg margins
---------
Co-authored-by: github-actions <github-actions@github.com>
* Modify Product Filters block to use block variations
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add dynamic blocks icon and title
* Make Attribute Filter block title dynamic
* Add E2E tests for the Product Filters block
* Remove unnecessary block attribute
* Improve clarity of the comment text
* Add new icons for individual filters
* Dynamically set the title and heading of the block based on the selected attribute
* Add E2E test to check for block title and heading change on selecting an attribute
* Replace custom block variation type by BlockVariation type from @wordpress/blocks
* Replace variation `isActive` function by an array of strings
* Fix heading for each individual filter
* Add a default attribute name when there is no attributes registered in the store
* Fix i18n strings
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: make the entire shuffle section clickable
* Add changefile(s) from automation for the following project(s): woocommerce
* fix import
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR drops composer autoloader optimization for the WooCommerce plugin to speed up the build process. The autoloader still gets optimized in `plugins/woocommerce/bin/build-zip.sh` file.
* CYS: Improve Block Toolbar logic
* CYS: no highlight pattern when it is added
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Tooling: cache pnp deps
* Tooling: try fixing cache errors
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: try to parallelize js builds a bit
* Tooling: added pre-build steps to solve concurrency issues
* Tooling: limit workers
* Tooling: revert to original build command
* Tooling: playwright related tweaks
* Tooling: minor tweaks.
* Tooling: fix caching path.
* Tooling: trigger php builds to test deps caching.
* Tooling: trigger php builds to test deps caching.
* Tooling: lock caching to monorepo setup, so it doesn't slow down build steps.
* Tooling: lock Playwright cache to build, as build is pre-requisite for running tests.
* Tooling: added caching build-folders.
* Tooling: added caching build-folders.
* Tooling: added caching build-folders.
* Revert "Tooling: added caching build-folders."
This reverts commit c57b9dff13.
* Tooling: added caching build-folders.
* Tooling: cleanup sweep.
* Tooling: cleanup sweep.
* Tooling: added a changelog entry.
* Tooling: cleanup.
* Tooling: try speedup live branches build.
* Tooling: try speedup live branches build.
* Tooling: cleanup.
* Tooling: try speedup live branches build.
* Tooling: try speedup live branches build.
* Prevent "woocommerce_new_order" from being triggered on orders with "checkout-draft" status
* Add changefile(s) from automation for the following project(s): woocommerce
* Prevent "woocommerce_new_order" from being triggered on orders with "checkout-draft" status
* Add changefile(s) from automation for the following project(s): woocommerce
* Added ´checkout-draft´ to the list of previous status triggering a new order action for order creation
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce-blocks, woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Added "draft" status on Order creation in HPOS to prevent triggering the new order hook
* Do not fire "woocommerce_new_order" on order creation in CPT that is still in one of the draft statuses.
* Fire "woocommerce_new_order" on order status change from one of the draft statuses, on par with CPT logic
* Removed unnecessary line (duplicate of L2607).
* Updated changelog.
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Updated comment
* Move data fetch to right before it is needed.
* Reverted moved line, as the $previous_state needs to be get first thing.
* 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
* Changelog change
* Add changefile(s) from automation for the following project(s): woocommerce
* Changelog change
* Unit tests for creating draft orders without triggering new order hook
* Linting
* Unit tests update
* Removed unnecessary draft status from tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent REST API access to variation product's that don't match the parent product_id
* Rework checks
* Update unit tests
* Add changelog
* Apply suggestions from code review
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix: Show preview label only when Product Collection block is selected
Updated the `ProductCollectionContent` component to display the preview label only when the Product Collection block itself is selected. Previously, the preview label was shown when either the block or any of its inner blocks were selected.
Key Changes:
- Removed the `isSelectedOrInnerBlockSelected` constant and its logic.
- Updated the condition to use `props.isSelected` directly to determine if the block is selected.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update E2E tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix flickering effect
* Add changefile(s) from automation for the following project(s): woocommerce
* not use hook
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: when the footer/header is clicked, the border color is blue
* Add changefile(s) from automation for the following project(s): woocommerce
* improve CSS
---------
Co-authored-by: github-actions <github-actions@github.com>
* add: block scaffold
* add: block settings and editor preview
* chore: discard change to pnpm lock file
* add navigation block to the template part
* test: add basic E2E tests
* chore: changelog
* fix: no full width button
* test: remove layout check
* tweak: dynamically fetch button styles
* try: fontsizepicker
* remove: FontSizePicker dute to lack of ability to change label
* fix: use correct icon from the design
* address review feedback
* update class to follow naming convention. use explicit value to better indicate the navigation style
* fix: remove unnecessary style that breaks the global style
* fix: remove unnecessary style
* Make proceed to order button non sticky when zoom level is bigger than 100%
* Define sticky container based on media query
* Revert previous inline comment
* Update display logic
* Adjust threshold to stabilise visibility toggling
* Improve readability
* introduce attributes fixture
* expose the tabs from the new data/ folder
* introduce confirmGlobalAttributesLoaded helper
* reuse confirmGlobalAttributesLoaded helper
* reuse attributes fixture
* check the `+3 More` item label
* changelog
* not only this test
* rename to waitForGlobalAttributesLoaded
* Fix Preview badge border-radius and alignment
The Preview badge's bottom left and right corners now have border-radius set to 0px to ensure they smoothly morph into the block's stroke. The badge is visually aligned with the furthest edge of the block's right border.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix Lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* prevent creating duplicated items with different cases
* changelog
* allow terms with same name for local attributes
* fix wrong const name to identy local attributes
* use more complext terms for E2E test
* encode URL to pass E2E test
* split E2E when creating new terms
* introduce `slug` property to TokenItem
* rename terms with globalAttributeTerms
* jsdoc
* minor test name change
* changelog
* minor test re-organization. test.only for dev
* update test when creating local attrs with terms
* udpate checking the attribute terms
* fix checking terms in the frontend
* attribute value is not used. clean
* improve jsdoc
* run not only this test
* changelog
* minor doc improvement
* remove not necessary patterns
* use always template1 for AI flow
* show default patterns homepage
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not used images
* restore changes
* fix e2e test
* fix e2e test
* restore necessary patterns
* add necessary patterns
* restore necessary patterns
---------
Co-authored-by: github-actions <github-actions@github.com>
- In the plugins list only features that are currently enabled
will be considered for the list of features that are incompatible
with a given plugin.
- A per-feature flag named "plugins_are_incompatible_by_default"
is used. Defaulting to false, when it's true for a given feature
it means that plugins not declaring compatibility with a the
feature are to be considered incompatible with the feature.
The flag is set for the HPOS feature only.
- A new 'woocommerce_plugins_are_incompatible_with_feature_by_default'
filter is added, which allows to alter the flag for a given feature.
- The "plugins incompatible with feature" page will display all the
incompatible/uncertain plugins, even if the feature is disabled.
The "plugins incompatible with ALL features" page still shows
only plugins that are incompatible/uncertain with enabled features.
- Add a --ignore-plugin-compatibility switch to the "wc hpos enable"
command, to allow enabling even if there are incompatible plugins.
- Add a new "wc hpos compatibility-info" command, which lists
the plugins that are compatible/incompatible/uncertain with HPOS.
* Add comment for regression E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix lint errors
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Bump version to 2.3.2
* Update changelogs
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update - Disable toggle by default and secondary enhancements
- Disabled toggle by default in Checkout blocks Return to cart button.
- Change Account options to Navigation options.
- Add a subtext to explain when to turn it on or off.
* set default value to false in attributes.tsx also
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Changelog
* Remove check for link from test suite—this is now hidden by default
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
* Create customer object from user object to fetch emails in try-catch.
* Add changefile(s) from automation for the following project(s): woocommerce
* 48459 Replace $check_emails array values with user_email.
* Update plugins/woocommerce/changelog/48488-48459-coupon-email-restriction-fix
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Prevent translations from being loaded too early
* Undo accidental changes to `CheckoutFields`
* Keep plugins_loaded, but include required file
* Update order in the meantime
* Change to admin_init
* Add changelog file
* Undo `init_jetpack_connection_config` change
* Undo change to Packages class
* Fix LocalPickupUtils instead
* PHPCS fixes
* Update method name in test
* Add Remote inbox notifications management
* Remove admin notes section -- replaced by remote inbox notifications
* Add import from staging and production
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* WIP - change test to run
* Display failed rules on error
* Change run to test
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester, woocommerce
* Retire Remote Spec Ruel Validation -- use test action from Remote Inbox Notifications
* Run spec when all rules have passed
* Fix typo
* Change btn text to Run
* Update copy text
* Place delete all button on the left side
* Update plugins/woocommerce-beta-tester/api/remote-inbox-notifications/class-wca-test-helper-remote-inbox-notifications.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce/src/Admin/RemoteSpecs/RuleProcessors/RuleEvaluator.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update plugins/woocommerce-beta-tester/api/remote-inbox-notifications/class-wca-test-helper-remote-inbox-notifications.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Separate remote inbox notification heler functions into a class and fix DELETE method errors
* Fix typo
* Display all errors
* Fix errors
* Fix error with test
* Add import from URL
* Change func name to importFromUrl
* Rename 48735-feature-remote-notiifcation-importer to 48735-feature-remote-notification-importer
Fix filename typo
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Fix changelog filename typo
Fix changelog filename typo
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Revert adding new changelog
It seems the new CI is automatically creating a changelog based on branch name 43d6abe3e7
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* CYS: Disable readonly mode only when full composability feature flag is enabled
* Add changefile(s) from automation for the following project(s): woocommerce
* add import
* address feedback
* no select block when it is added
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create WC_REST_Product_Custom_Fields_Controller
* Register WC_REST_Product_Custom_Fields_Controller
* Add pagination to the /product-custom-fields/names request
* Add WC_REST_Product_Custom_Fields_Controller_Tests
* Fix linter errors
* Add changelog file
* Fix linter error
* Change endpoint path to matches the product related endpoints set
* Fix controller file description
* Use more descriptive table alias in the sql query
* Get tax line lable instead of name
* Remove error log
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/changelog/48445-update-get-tax-line-label
* 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
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Remove the site title block fixed length
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove the site title block fixed length
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make sure the correct block template file is used in the Site Editor for templates with fallback
* Add tests
* Add changelog file
* Clean up unnecessary function
* Update plugins/woocommerce-blocks/tests/e2e/tests/templates/product-search-results.block_theme.spec.ts
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* CYS: fix pattern wrapped twice by group blocks
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: hide button to resize the image
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix logic to disable click on the no block placeholder
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* WIP
* CYS: Refactor routing approach
* fix type
* Add changefile(s) from automation for the following project(s): woocommerce
* remove focus logic
* remove routekey prop
* fix scroll after insert pattern
* pass onNavigateBackClick callback as prop
* fix scroll
* Add changefile(s) from automation for the following project(s): woocommerce
* fix back arrow click
* fix css
* fix tooltip position
* create dedicated CSS class
* lint css
* restore change
* improve css class name
* remove not necessary class
* add github link to the todo
* lint css
* add want more pattern section
* remove not used import
* fix logic after merge trunk
* CYS: fix tooltip position
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
* Add missing categories and descriptions
* Add services copy
* Uppercase
* Fix categories key
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove todo comment
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* Fix register testimonials category as reviews failing test
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent duplicate update
* Style aria disabled radio input
* Disable keyboard navigation when options are being sent to server.
* Abort multiple requests to update shipping rates
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Register PTK testimonial patterns as reviews
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Include a request to the PTK for the woocommerce site
* Parse _woo_* categories
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Continue the flow when fetching dotcom patterns fails
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Return 404 when using the REST API to access a non existing tax class for consistency with other endpoints
* Add changelog
* Update test
* Make JS linter happy
* add badge
* Add changefile(s) from automation for the following project(s): woocommerce
* no show 0
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix toolbar position
* improve layout toolbar
* Add changefile(s) from automation for the following project(s): woocommerce
* fix import
* fix position during the scroll
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix e2e test for product filters overlay template part
* Add changelog
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix: match actual template part, not template part area
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Tung Du <dinhtungdu@gmail.com>
* CYS: fix crash of CYS on WordPress 6.6
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: fix crash of CYS on WordPress 6.6
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "Add To Cart Form: Improve the default style and add the `Stepper` style (#47664)"
This reverts commit 0712c6037b.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Feat: add filter to toggle showing tooltips over Order statuses in dashboard
* Use status labels when hovering over Order status badge
* wip
* Add changelog
* Fix lint issues
* Reset indentation
* Reset indentation
---------
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Make the handpicked product filter in Product Collection usable for high product number stores
* Add changelog
* Include selected products in the search
* Limit the search result to 40 as 100 is unreadible anyway
* Replace fill with pressSequentially to better mimic users behaviour
* Apply two strategies for fetching products: small catalog up to 100 products and large catalog with refetching when typing
* Add comment explaining the logic
* Bring back the Loading placeholder
* Pass explicitly perPage 0 for a small catalog to fetch all the products
* Remove duplicate
* Add is-coming-soon-page endpoint
* Render invalid cache warning
* Use meta tag instead
* Add url for debug purpose
* Use a different copy for the congrats page when the cache is still shown
* Clean up unused codes
* Guard the api with permission
* Add changefile(s) from automation for the following project(s): woocommerce
* Reuse $is_fse_theme
* Lint fixes
* Update 48586-update-48516-detect-cache-when-launching-store
* 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/changelog/48586-update-48516-detect-cache-when-launching-store
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* changed to js method
* Add changefile(s) from automation for the following project(s): @woocommerce/data, woocommerce
* empty commit to trigger CI
* Add changefile(s) from automation for the following project(s): @woocommerce/data, woocommerce
* empty commit to trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
* Check WC_Legacy_API instead of WC_API as that seems to be cached by lightspeed servers.
* Improve the detection of the legacy API:
1. Modify the autoloader so that it never loads the WC_API class.
This is needed bacause the legacy REST API plugin itself does a
"class_exists('WC_API')". The plugin itself will continue to load
its own copy of the class without issues.
2. Detect the WC_Legacy_REST_API_Plugin class in the legacy API stub.
This is a performant and bulletproof way to detect if the plugin
is isntalled.
* Rearrange code a bit
---------
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* fix null strpos param
check whether $plugin_page is set prior to passing it to strpos
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Internal/Admin/Orders/PageController.php
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
* Update PageController.php
fix eslint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Darren Ethier <darren@roughsmootheng.in>
* chore: Invalidate cache for SiteGround Speed Optimizer and WP Engine
The code changes in `ComingSoonCacheInvalidator.php` add cache invalidation for SiteGround Speed Optimizer and WP Engine. This ensures that the cache is cleared when necessary, improving the performance of the website.
* Add changelog
* Add a slash to ensure calls are made in global namespace
* Use sg_cachepress_purge_cache
* Update plugins/woocommerce/src/Internal/ComingSoon/ComingSoonCacheInvalidator.php
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Fix lint
* Update plugins/woocommerce/changelog/update-purge-cache-siteground-wpengine
---------
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
Co-authored-by: moon <moon.kyong@automattic.com>
* show terms optimistically
* define values as TokenItem array
* introduce TokenItem type
* add token animation when adding
* terms could be undefined
* remove unused action
* changelog
* minor doc enhancements
* rename consts
* simplify items selector
* clean the temporary items, one by one
* do not pass selectedTerms when adding a new one
* pull and update form terms when creating new ones
* fix typo
* do not export TokenItem type
* rename and tweak jsdoc
* skip E2E test
* Optimize intro `professional-theme.svg` image
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Redacted sensitive info from SSR for GutHub
* Redacted database section
* lint fix
---------
Co-authored-by: Naman Malhotra <naman03malhotra@gmail.com>
* WIP
* CYS: Refactor routing approach
* fix type
* Add changefile(s) from automation for the following project(s): woocommerce
* remove focus logic
* remove routekey prop
* fix scroll after insert pattern
* pass onNavigateBackClick callback as prop
* fix scroll
* Add changefile(s) from automation for the following project(s): woocommerce
* fix back arrow click
* fix css
* fix tooltip position
* create dedicated CSS class
* lint css
* restore change
* improve css class name
* remove not necessary class
* add github link to the todo
* lint css
* add want more pattern section
* remove not used import
* CYS: set new default patterns
* Add changefile(s) from automation for the following project(s): woocommerce
* fix logic after merge trunk
* CYS: fix tooltip position
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
* CYS: add pattern category in the block toolbar
* remove not necessary import
* improve style
* Add changefile(s) from automation for the following project(s): woocommerce
* improve CSS
---------
Co-authored-by: github-actions <github-actions@github.com>
* WIP
* CYS: Refactor routing approach
* fix type
* Add changefile(s) from automation for the following project(s): woocommerce
* remove focus logic
* remove routekey prop
* fix scroll after insert pattern
* pass onNavigateBackClick callback as prop
* fix scroll
* Add changefile(s) from automation for the following project(s): woocommerce
* fix back arrow click
* fix css
* fix tooltip position
* create dedicated CSS class
* lint css
* restore change
* improve css class name
* remove not necessary class
* add github link to the todo
* lint css
* add want more pattern section
* remove not used import
* fix logic after merge trunk
* CYS: fix tooltip position
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
* improve logic
* use Optional Chaining
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add a note about connection to WooCommerce.com to readme
* Add link to the Privacy Policy
* Remove extra new lines
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactored get_pages() to reduce the amount of get_post() used, avoid unnecessary ifs, and fixed a bug where the classic shortcode block would trigger a false block usage value.
* Added block/shortcode usage to the system report for the Cart & Checkout pages. Also added a warning when a page contains both experiences.
* Added support info for templates out of sync not loading the page content.
* Add close button to store alerts
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Assert that a new product that is saved returns the correct status ('publish' by default)
* Update product status after saving
* Changelog
* Add additional unit tests to verify status is handled correctly
* Fire action if order line item has been restored
This is the equivalent to the 'woocommerce_reduce_order_item_stock' hook in the wc_reduce_stock_levels() function.
* Add @since tag to docblock
* Change position of @since tag
* Add changelog
* Use tabs for indents
* Fix indents again
* Fix another indent
* Prefer update URLs over PluginURI in My Subscriptions
* Add changefile(s) from automation for the following project(s): woocommerce
* Add comments to clarify how the function works
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add hardcoded queryId to the blockified templates
* Add additional check in PC block to verify the content is being rendered
* Add changelog
* Lint fix
* Add markup for Fiverr logo maker.
Add text CTA with link to WooCommerce landing page for Fiverr logo
maker in sidebar navigation on the logo view.
* Adjust styles for Fiverr logo maker CTA.
* Update string output to use interpolateComponents
The text in this addition is mixed with string and markup.
This segmentation can lead to translation issues because
different languages have different syntactic structures.
Here, we utilize interpolateComponents to remedy these potential issues.
See
https://github.com/woocommerce/woocommerce/pull/48486#discussion_r1639637477
for context.
* 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
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix logic to disable mover buttons
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix review error type
* Add changelog
* Rename global error-boundary class to avoid conflict
* Rename global error-boundary class to avoid conflict
* Wrap panels in error boundary
* Remove console
* Reformat
* Fix test
* Fix test
* Add changelog
Fixes #46699
* Add the ProductAttributesLookup\CLIRunner class
* Fix the restoring of the lookup table usage option
* Fix the restoring of the lookup table usage option
* Improve the progress bar of the regeneration command
* Add changelog file
* Fix existing unit tests
* Add linter exception for TODO comment
* Fix example in CLI runner
* Optimize data insertion/update in the product attributes lookup table
The optimized method uses direct database access to the database tables
required to gather all the required data (posts, terms, teaxonomies)
instead of the standard WordPress and WooCommerce functions.
This is done only if:
1. The curent data store for products is the posts table, AND
2. The woocommerce_attribute_lookup_optimized_updates option is 'yes'
Otherwise, the old existing code is used as a fallback instead.
* Adjust the product attributes lookup table CLI tools.
The "regenerate" and "regenerate_for_product" commands will now
use the optimized update method by default if the data store
for products is the posts table (irrespective of the value of the
woocommerce_attribute_lookup_optimized_updates option).
The --disable-db-optimization argument can be appended to
use the old method instead.
* Adjust unit tests for the product attributes lookup table data store.
Now both the optimized data insert/update method and the old
standard functions based method are tested.
* Change the default step size for product attributes lookup table regeneration
The previous value of 10 was too conservative and slowed down the
regeneration unnecessarily (each step involves a call to
wc_get_products, which is quite slow). The new value of 100 is not
too high as to produce bottlenecks, but provides a significant
performance gain.
* Add a missing exception variable
* Add changelog file
* Replace sneaky spaces with tabs
* Make the linter happy
* Add extra code comment for clarity
* Display error messages after CLI commands if table updates fail.
* Use lookup table name variable in SQL query
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Better description for the newly introduced setting
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Fix typo in method name and change |= operator to ||
* Fix linting issue and variable initialization
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Remove filter edit_comments_screen_text on gettext for performance
The filter is removed to improve performance and avoid unnecessary calls. Acceptable tradeoff: When editing a product review in the Admin, the screen title changes from "Edit Review" to "Edit Comment".
* Add changelog
* fix: label improvement on my order pages
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/changelog/48374-fix-label-improvement-on-my-orders
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/changelog/48374-fix-label-improvement-on-my-orders
* Add changefile(s) from automation for the following project(s): woocommerce
* version bump
* Update plugins/woocommerce/changelog/48374-fix-label-improvement-on-my-orders
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* linting
---------
Co-authored-by: github-actions <github-actions@github.com>
* Enable block customizations
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Enable background and color customization
* Add E2E tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix api tests results path
* Add changelog
* Run Core API tests - HPOS disabled on pull_request
* Update the artifacts name pattern to avoid conflicts
* Revert pull_request trigger
* CYS: set new default patterns
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: fix tooltip position
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show tooltips in delete and shuffle buttons
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Strict selector
* Wait for element
* Add changefile(s) from automation for the following project(s): woocommerce
* Linter
* Tweak
* Use a different selector
* Tweak selector
* Wait for Delete Users to be visible
* Trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create VariationStockStatusForm component
* Integrate VariationStockStatusForm within the VariationsTableRow component
* Add woocommerce_manage_stock option to the default_option_permissions list in the Options rest controller
* Enable track inventory when woocommerce_manage_stock is set to yes
* Add stock_status radio component to the VariationStockStatusForm component
* Fix VariationStockStatusForm padding
* Fix control spacing
* Add stock_quantity to the VariationStockStatusForm component
* Add changelog files
* Fix linter errors
* Fix invalid sortable state in the variations table
* Fix CYS crash when loads in WordPress Plaground
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* switch setting templates order
* pull product_form from the entity store
* fix typo
* set post excerpt with template description
* update the description for the Simple template
* rename type for product form post
* introduce isProductFormTemplateEnabled() helper
* render the PFTs into the templates selector
* changelog
* tscripting
* remopve dropdown
* re-write changelog files
* change and rename isProductFormTemplateSystemEnabled
* remove unused component
* try change the template version name
* Add inert to header and footer on the homepage
* Add changefile(s) from automation for the following project(s): woocommerce
* Refactor to pass query as a param to the hook
* Add an observer to enable/disable patterns depending on the assembler section
* Add changefile(s) from automation for the following project(s): woocommerce
* Rename observer
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove custom `wp_kses` rules in favour of default `wp_kses_post` function
Custom sanitization/validation is no longer needed—we can just inherit wp_kses_post like other field types.
wp_kses was originally implemented for a ShareThis integration a5aa58b135 but this is no longer present in WooCommerce.
iFrame usage is not encouraged in these settings fields so with this change they will be filtered out. Developers who would like to allow iFrames can add a custom `sanitize_callback` function when registering settings fields.
* Apply kses on gateway description unless extended by a plugin
* Code standards + esc in touched abstract payment gateway class
* Changelog
* Use esc_url for icon URL
* Add missing hook docs in payment method class
* Add since documentation
* Skip description if empty
* Run KSES early so we know if the description has content.
* CYS: apply color to the heading elements in the core/cover block
* Add changefile(s) from automation for the following project(s): woocommerce
* fix color
* add E2E test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add inert to header and footer on the homepage
* Add changefile(s) from automation for the following project(s): woocommerce
* Refactor to pass query as a param to the hook
---------
Co-authored-by: github-actions <github-actions@github.com>
* Handle core profiler get countries error
* Update style
* Add changefile(s) from automation for the following project(s): woocommerce
* Update button and code style
* Address feedback
* Fix lint
* Record skip step track and rename event
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add a call to a new report workflow in woocommerce-test-reports repo
* Test change to trigger tests
* Update report title
* Test change to trigger tests
* Check REPORT_TITLE
* Add quotes on all arguments
* Update reporting configuration to all core e2e jobs
* Add changelog
* Use GITHUB_HEAD_REF for pull_request
* Set REPORT_TITLE for workflow dispatch
* Updated trigger from daily-e2e to daily-checks
The json_encode function encodes multibyte characters literally by
default, which makes them unreadable in the log files. This change
ensures those characters remain intact, rather than encoded. It also
adds better handling for characters that get escaped with slashes.
Fixes#44743
* Fix flaky assembler homepage test
* Add changelog
* Increase waiting time for the assembler loading
* Remove beforeEach and add function to all tests
* Hide Products (Beta) from inserter
* Add changelog
* Update E2E test replacing Products with Product Collection block
* Add step to choose collection in E2E test
* Change fill PW method to pressSequentially so the inserter shows blocks
* Update changelog entry
* Replace Products (Beta) with Product Collection block in blockified template
* Add necessary attributes that influences the look of blocks
* Replace Products (Beta) with Product Collection block in product search results
* Replace Products (Beta) with Product Collection block in products by attribute
* Replace Products (Beta) with Product Collection block in products by category
* Replace Products (Beta) with Product Collection block in products by tag
* Replace Products (Beta) with Product Collection when transforming from classic product archive
* Change the no results content in blockified search results template
* Replace Products (Beta) with Product Collection block in product search results
* Add product search in no results content of blockified product search result
* Add ts-ignore before createBlocksFromInnerBlocksTemplate imports
* Add changelog
* Remove step of replacing Products (Beta) with Product Collection in compatibility layer tests
* Remove step of replacing Products (Beta) with Product Collection in Product Collection tests
* Fix lint
* Update E2E tests of Product Collection
* Adjust Products (Beta) E2E tests
* Add Product Collection focus step in E2E tests
* Improve the way PC block is focused
* Further tests adjustments and new tests comparing classic template with Product Collection
* Bring back the click on body
* Include tips from reviewer
* Enter edit mode, step that I accidentally removde
* Bring the E2E test flow with updating product catalog
* Change the way of removing focus from PC block in tests
* Fix lint
* Improve the layout of search in No Results
* Use previous patterns in Product Search No Results to preserve translations
* Add Search button label in product search form pattern
* Fix lint
* Improve comment explanation
* Extract No Results content to separate pattern in order to make the content translatable
* Lint fix
* Add missing footer to the blockified Products by Tag template
* Exclude woocommerce/patterns from phpcs rules that dont apply there
* Make PC block responsive by default in product archive templates
* Fix typo
* Fix typo
---------
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Small refactoring
* Override the CTA text and behaviour in gateway settings for the WooPayments plugin
* Address lint issues
* Add changelog
* Fix bug introduced during refactoring
* Fix lint error
---------
Co-authored-by: oaratovskyi <oleksandr.aratovskyi@automattic.com>
* CYS: fix css header
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: hide popover when the mouse pointer leaves the site preview and then back
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
Coupon metadata keys `product_ids` and `excluded_product_ids` are stored by WooCommerce as a comma-saparated list of values, but apparently some plugins mistakenly re-store these as serialized arrays. This pull request changes the database metadata read code so that it supports both comma-separated lists and serialized arrays.
Fixes#40569
Log messages can be modified via the `woocommerce_logger_log_message`
filter hook on a per-handler basis, but if the message is modified for
the first handler, the subsequent handlers were receiving the modified
message instead of the original. This simply ensures each handler
receives the original message instead.
Fixes#47126
* Use DOM API to create Order Attribution inputs
* Add changelog entry
* Delete unnecessary changelog
---------
Co-authored-by: Tomek Wytrębowicz <tomalecpub@gmail.com>
* Update useLaunchYourStore hook to accept enabled parameter and only enable it in homescreen
* Add changelog
* Fix type
* Change isHomescreen function to variable
* Add the ProductAttributesLookup\CLIRunner class
* Fix the restoring of the lookup table usage option
* Improve the progress bar of the regeneration command
* Add changelog file
* Fix existing unit tests
* Add linter exception for TODO comment
* Fix example in CLI runner
* Fix: get_lookup_table_info was returning data as strings.
* Show count of lookup table rows after the "regenerate" command finishes.
* Improve error message
* Fix the report name sent to woocommerce-test-reports workflow
* Add test type
* Test change
* Remove test type
* Merge artifacts to keep allure-results
* Overwrite artifacts if one already exists with the same name
* Test changes to trigger tests
* Fix allure-results and .state paths
* Filter tests for faster feedback
* Debug artifacts content
* Use name instead of pattern
* Use name instead of pattern
* Don't use an intermediate path
* Use artifact name and path instead of only pattern
* Use artifact name and path instead of only pattern
* Use artifact name and path instead of only pattern
* Remove testMatch filter to run all tests
* Revert test change
* Add changelog
* Add template ID for variations
* Add changefile(s) from automation for the following project(s): woocommerce
* Update 48325-fix-prepare-variation-boejct
* Add changefile(s) from automation for the following project(s): woocommerce
* Update 48325-fix-prepare-variation-boejct
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tests for ProductPage
* Add tests for ProductVariationPage
* Add test for product_tab_click event
* Add test for product_editor_feedback_bar_turnoff_editor_click event
* Add test for product_dropdown_option_click event
* Add test for product_add_view track
* Changelogs
* Changelog
* Lint
* Add product_edit_view test and falsey test
* Fix test name
* Ensure onsubmit event that triggers ajax save on tax table is bind to the correct button
Unblock the button busy state after saving
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
* Update changelog entry
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: André Kallehauge <3846700+kallehauge@users.noreply.github.com>
* Add (Experimental) suffix to experimental blocks
* Add comments reminding to update feature flags doc
* Update feature flag doc
* Add changelog
* Provide links to all feature flags
* Add JS flag for Product Filter: Rating (Experimental)
* Bring back linting in PHP file
* Update block references
* Update variation names
* Update tests
* Update test
* Add notification that block is not available in inserter to block references doc
* Add missing feature flag
* Remove information about block not being exposed in inserter from block references
* Update block references
* Add a step to install patterns when during the CYS flow
* Add changefile(s) from automation for the following project(s): woocommerce
* Add feature flag to the install patterns function
* Fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Select the next block after deleting one
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
* Check if next block client is defined
---------
Co-authored-by: github-actions <github-actions@github.com>
* 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>
* Ensure attribute slugs are properly sanitized when setting
* Update approach to avoid breaking functionality in WP Admin UI
* Add changelog file
* Add unit test
* 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>
* 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
* 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>
* 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>
* 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
* 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>
* 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
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* Check watchedEvent is part of the allowed eventTypes
* Add changefile(s) from automation for the following project(s): woocommerce
* Trigger custom event
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'template_name' labels to Product post type and Product Category and Product Tag taxonomies
* Add changelog file
* Remove Single Product template name
* CYS: Ensure that toolbar appears only when the homepage sidebar is open
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Ensure that toolbar appears only when the homepage sidebar is open
* use usequery hook instead of navigation API
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix WCPay incentive allowed promo notes logic
The WCPay promo notes need to be added to the allowed
list regardless if WCPay is installed and active.
We will respect marketplace suggestions and promo
dismissal settings.
* Added changelog entry
* 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
* Hide individual filter blocks from the inserter
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Adjust E2E tests to check for hidden filters
* Fix file conflict
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: roykho <roykho77@gmail.com>
Previously, we registered block categories on the client-side, leading to them not
being available until client initialization. This meant, for example, that hooking
external blocks to our categories would result in a warning.
With this change, we register the categories server-side, and only update them
on the client-side to attach the SVG icon. This is the recommended approach
in the Gutenberg docs, to make sure we use the SVG primitive, which affords some
accessibility features.
* Add a higher priority z-index to coming soon banner
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Adjust border and box-shadow color for textual inputs
* WIP: Style checkboxes
* Vertically center checkmark
* Adjust focus outline width
* Adjust selected checkbox background in light mode
* Adjust background color of selected radio button
* Add chevron icon to dropdown fields
* Add changelog
* Fix CSS lint issues
* Adjust outline width
* Revert checkbox styles
* Adjust input field height and label size
* Revert box-shadow styles
* Add spacing between coupon title and coupon code
* Simplify onFocus and onBlur
* Fix outline width when focusing combobox
* Ensure chevron points down after selecting value
* Adjust outline color of focused delivery option
* POC: Use currentColor for focus states
* Revert "Add phone number to my account shipping address. (#47062)"
This reverts commit 4840af874a.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use correct AND expression
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add To Cart Form: Improve the default style and add the Stepper style
* fix height button when no variation is selected
* not allow the user to set 0 as value of the input
* format css
* fix padding
* format css
* fix CSS
* unset margin to align with the button
* Fix coming soon footer banner doesn't display properly on tablet and mobile
* Add changelog
* Fix test
* Revert button text change
* Revert test change
* Increase the length of Product Summary block (core/post-excerpt variation)
* Add changelog
* Bring back the Product Summary variation to original length
* Increase the Product Summary length to max 100 words in Single Product template and block
* Increase the Product Summary length to max 100 words in Single Product block
* Update tests
* Change the attribute type froms tring to niumber as expected
* Replace classnames with clsx within woocommerce-blocks.
* Undo unnecessary change to getClassnames const.
* Replace classnames with clsx within woocommerce-admin.
* Add changelog.
* Update the pnpm lock file
* Address lint.
* Address lint errors for the block-library.
* show notice on WC core about subs expired
* add notice in wc core my subscription page
* dismiss subscription notice
* add rest api for dismiss subscription notioce
* dismiss notice permanently
* code refactor
* fix issue in expired subs
* not showing expiring subs notice if expired sub notice render
not showing expiring subs notice if expired sub notice render
* fix lint
* added changelog
* update comment
* fix js lint
* update response
* added new endpoint for notice
* update the endpoint URL
* update the endpoint URL
* show notice after one month
* add css class for refactor
* fix lint
* Add missing callback after the merge
* check plugin is installed on current site
* add comments, and fix missing price
* fix lint
* remove unnecessary duplicate asset load
* fix notice so that it only trigger dismiss API on notices close
* localize the renew product price
* track events in the wc settings page
* Use the correct field product_regular_price instead of product_price
* Add missing period in the notice message
* add nonce to the dismiss notice API
* extract dismiss notice API call to different code
* extract expired and expiring component to 1 component
* add track events for tsx components
* fix nonce checking
* fix lint
* fix lint
* enrich the button and hyperlink url to contains the product_id of expiring / expired subscription
* fix lint
* fix lint
---------
Co-authored-by: Akeda Bagus <akeda.bagus@automattic.com>
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Add woopayments/test-orders-count endpoint
* Load test order count
* Call deleteTestOrders
* Remove test code
* Use wc_get_orders to retrive test orders
* Add changefile(s) from automation for the following project(s): woocommerce
* typecast deleteTestOrders
* Type removeTestOrders input
* Remove woopayment activation check -- do not need as we are using wc_get_orders
* Add tests for test order count and delete endpoints
* Delete test class
* Add tests for test order count and delete endpoints
* Lint fixes
* Lint fixes
* Lint fixes
* Remove unused import
* Fix timing issue with counting test orders
* Add hasWooPayments guard
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: rjchow <me@rjchow.com>
* Fix the issue
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add E2E test to cover this regression
* Fix: On sale collection should be visible after refresh in Post
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add zoom functionatility to Single Product gallery images when main Product Image is missing
* Alternative approach
* Add changelog file
* Still add placeholder class for extra backwards compatibility
* Bump template version
* Remove unnecessary class name change
* Fix wrong type
* Fix PluginInstaller::install_plugin_core so it works on Windows
* Wrap the autoinstall of the Legacy REST API plugin in try-catch block
and log any exception thrown
* Make sure that the wc_installing transient is deleted even if install fails
* Temp commit
* Clean up unused codes and streamline logic
* More cleanups and add comment
* Better naming and fix logic
* Rename and comment
* Changelog
* Changelog
* Lint
* Moved leap year utils to date package, added tests
* Moved functions to utils, add tests
* Add more test
* Fix changelog
* Clean up the cache when a coupon is updated
When the coupon’s status transitions from publish to future, the ‘coupon_id_from_code’ cache entry needs to be deleted otherwise the coupon will remain available for use.
* Remove coupon cache entries when not published
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Toby Herbert <tobyherbert@nialtoservices.co.uk>
Co-authored-by: github-actions <github-actions@github.com>
* Add status-completed endpoint
* Use new status-completed endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* Revert back unwanted changes
* Cache /wc-admin/launch-your-store/survey-completed call
---------
Co-authored-by: github-actions <github-actions@github.com>
* Only init WC Site Tracking if in admin or a rest request
* Add changelog
* Refactor tracks logic
* Create helper function store store api requests and make use of this
* Move conditionals back to woocommerce class
* Remove use of is_rest_api_request within is_store_api_request
* Fix lint errors
* Add check to see if WC_Tracks exist
* Also include tracking in CLI
* Make use of wc_admin_record_tracks_event instead of WC_Tracks directly
* Add `woocommerce_order_note_deleted` hook for a successful order note delete
* Update plugins/woocommerce/includes/wc-order-functions.php
Co-authored-by: Jorge A. Torres <jorge@0xbad.com>
* Include `order_id` in order note object
* Introduce `woocommerce_order_note_deleted` hook
* Appease linter
* Adjust unit test
* Add changelog
---------
Co-authored-by: EVOKE <evoke.lektrique@gmail.com>
* Fix issue where Product Collection wasn't showing anything
- Moved queryId logic to a new `useQueryId` custom hook to encapsulate the logic.
- Simplified attribute setting in `useEffect` by using a default attributes value.
- Utilized `fastDeepEqual` to check for attribute equality
These changes fix the issue where the Product Collection block did not display properly in the template editor, ensuring consistent rendering of products.
* Add comment
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove leftover comment
* Add e2e tests for Product Collection block visibility after refresh
Added end-to-end tests to verify the visibility of the Product Collection block after page refresh in both Product Archive and Post contexts.
- Added tests to ensure the Product Collection block remains visible after refreshing the template or post editor.
- Updated existing tests to use `BLOCK_LABELS` for better readability and maintainability.
* Improve E2E tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add PatternsToolkit class to fetch patterns from PTK
* Pass the new PatternsToolkit class to the BlockPatterns constructor
* Extract the pattern registration code to the 'register_block_pattern' function
* Extract the file patterns registration to `register_block_patterns_from_files`
* Registers patterns from ptk
* Add ids of excluded patterns (because they have jetpack deps)
* Add PTK client tests
* Filter out patterns with post_type diff than "wp_block"
* Add missing excluded pattern
* Add error log and improve error messages from the PTK client
* Extract function to register patterns to PatternRegistry class
* Extract function to register patterns from PTK
* Rename PatternsToolkitClient to PTKClient
* Extract AI related code to the AIPatterns class
* Rename test to match class name
* Add missing package dep in BlockPatterns
* Cache and register PTK patterns
* Add feature flag
* Fix linting errors
* Add tests for the PatternRegistry
* Add tests for the PTKPatternsStore
* Add changefile(s) from automation for the following project(s): woocommerce
* Check pattern ID exists to filter
* Check title is set when registering the pattern
* Remove unnecessary code from test
* Add more patterns to the excluded list
* Add actions to reset the patterns transient on plugin deactivation and tracking option updates
* Schedule fetching pattern async when updating or activating the plugin and on allowing tracking
* Fetch patterns always async
* Add changefile(s) from automation for the following project(s): woocommerce
* Only schedule the fetch_patterns actions if it's not pending
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unnecessary import
* Fix tests
* Return empty array instead of error
* Fix imports and comments
* Remove unused function
* Fix lint errors
* Fix log
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add changelog
* Only include default 'additional content' in e-mails when it hasn't been configured
* Remove (now) unnecessary code from new order e-mail
* Simplify logic in `get_additional_content()`
This changes the item schemas for Orders and Order Refunds API
endpoints to correctly specify that the rate_id property in a tax_line
object is an integer, not a string.
Fixes#32037
* Focus tab shows focus style
* Tabbing when inside the tabs takes you to the first focusable element inside the current tab's tab panel
* Users can press the left and right arrow keys to move between tabs
* When a tab is focused and the Home key is pressed the first tab in the list should be focused. When the End key is pressed the last tab should be focused
* Add changelog file
* Fix e2e tests
* Add changelog file
* Get last tab by index
* Fix linter errors
* Add PatternsToolkit class to fetch patterns from PTK
* Pass the new PatternsToolkit class to the BlockPatterns constructor
* Extract the pattern registration code to the 'register_block_pattern' function
* Extract the file patterns registration to `register_block_patterns_from_files`
* Registers patterns from ptk
* Add ids of excluded patterns (because they have jetpack deps)
* Add PTK client tests
* Filter out patterns with post_type diff than "wp_block"
* Add missing excluded pattern
* Add error log and improve error messages from the PTK client
* Extract function to register patterns to PatternRegistry class
* Extract function to register patterns from PTK
* Rename PatternsToolkitClient to PTKClient
* Extract AI related code to the AIPatterns class
* Rename test to match class name
* Add missing package dep in BlockPatterns
* Cache and register PTK patterns
* Add feature flag
* Fix linting errors
* Add tests for the PatternRegistry
* Add tests for the PTKPatternsStore
* Add changefile(s) from automation for the following project(s): woocommerce
* Check pattern ID exists to filter
* Check title is set when registering the pattern
* Remove unnecessary code from test
* Add more patterns to the excluded list
* Add actions to reset the patterns transient on plugin deactivation and tracking option updates
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Partially revert #45767
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add test for description on checkout order summary block
* Add another test back in for order summary description
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
* Highlight the pattern when the user hovers it
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - Assembler: improve feature flag check
* Add changefile(s) from automation for the following project(s): woocommerce
* improve logic
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
* Highlight the pattern when the user hovers it
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* hide scrollbar on the body
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove checkstyle.xml file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix an issue that caused two products to be added to cart when Geolocate (with page caching support) was enabled and AJAX add to cart buttons disabled
* Add e2e test
* Add changelog file
* Move test to its own file
* Fix wrong default value in test reset
* Extend product elements sharedConfig ancestor with Product Collection and Products (Beta)
* Utilise sharedConfig ancestor in Image block
* Utilise sharedConfig ancestor in Price block
* Utilise sharedConfig ancestor in Rating block
* Utilise sharedConfig ancestor in Sale Badge block
* Utilise sharedConfig ancestor in SKU block
* Utilise sharedConfig ancestor in Stock Indicator block
* Add changelog
* Bring back original ancestors for Summary and Title blocks
* Remove Product Price from a test as it's no longer available in global context
* Lazy load the PluginArea and the ModalEditor
* Remove repeated product request when editing a specific product
* Fix linter errors
* Add changelog files
* Fix linter errors
* Refactor the block editor to remove some extra rerenders
* Defer the publish button processing
* Defer the tab content render 500ms to reduce the total blocking time
* Fix linter errors
* Fix unit test and tabs unexpected rerender
* Fix linter errors
* Reduce the defered time to 300ms
* Fix get product url when the product has been duplicated since the new copy does not have permalink
* Fix the invalid unregistration of wc-admin-more-menu in the product page
* Fix compilation errors
* Fixed shipping flat price change to free shipping when shipping cost represented using decimal separators and thousands separators
* added the changelog file
---------
Co-authored-by: Saiful Islam <anandacsebd@gmail.com>
* Deprecated WC_Cart->is_coupon_emails_allowed in favour of WC_Discounts->is_coupon_emails_allowed
* Add changefile(s) from automation for the following project(s): woocommerce
* Created new DiscountsUtil class and moved is_coupon_emails_allowed()
* Refactored tests.
* Updated internal WC_Cart::is_coupon_emails_allowed calls and added a doing it wrong warning for 3rd party tracking.
* Linting.
* Refactored and added new asserts to DiscountsUtilTest.
* Linting.
* Linting and updated test.
* Added translation to wc_doing_it_wrong() as sugested.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix the issue that the React-powered admin routing page added after initialization could not be displayed.
* Delay showing admin `NoMatch` to reduce the chance of flashing error message when route page is added after initialization.
* Add JS tests for the `NoMatch` page in the admin.
* Add changelog
* Fix activation limit for single license subscriptions on woocommerce.com
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Add some defensive coding.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Update coming soon banner text to use translation function
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Detect template ID from URL
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add E2E test to check if block is displayed after revisiting Single Product template
* Fix E2E tests
* Fix E2E tests
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add condition on github.event_name for lint jobs
* Update a file to trigger a lint job
* Update condition to run only on pull_request
* Revert test change
* Always run the Slack notification step
* Add pull_request test trigger
* Update report step
* Remove branch filter
* Try with push event and branch filter
* Pass secrets to ci.yml
* Update testIgnore pattern for Gutenberg project
* Add changelog
* Remove the test push trigger
* One more test run
* Removed push test trigger
* Amend Query Pagination parent OR ancestor array and include product collection
* Rename the function and amend comment
* Add changelog
* Remove some leftovers
* Tets if it's possible to insert multiple Pagination blocks in Product Collection
* Add awaits to expects
* Update plugins/woocommerce-blocks/assets/js/blocks/product-collection/utils.tsx
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Add comment explaining the condition
---------
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* only sticky summary when it's not longer than view
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix tests
* correctly check for height
* switch how to get top
* remove from editor
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add redirect to LYS on homescreen when lysTaskOpen is present
* Typos
* Fix lint issues
* Fix lint issues
* Add changelog
* Fix lint issues
* Fix lint issues
* Use isDashboardShown in effect
This required adding a check to ensure query is not an empty object
* Imporve the jankiness by moving catch-all logic to layout
* use an effect to set the session value to no
* lint
* lint
* Fix tests
* Try preventing redirects from WP menu click
* Revert "Try preventing redirects from WP menu click"
This reverts commit 8ef6dcf4dd.
* normalize IDs for form fields and fix types
* update docs as well
* update rest of docs
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix linting for document
* also align classnames
* revert to correct classname
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add workflow_call event
* Add tests-daily-run.yml
* Remove workflow version
* Update input value
* Remove secrets from caller workflow
* Rename job
* Check context
* Check context
* Check workflow_call inputs
* Override github.event_name with inputs.trigger
* Fix input name
* Add config for daily e2e tests with Gutenberg
* Update env commands for Gutenberg run
* Add disableHpos env variable in ci-utils
* Revert the trigger to push
* Revert the env variable setting in ci-jobs
* Revert the env variable setting in ci-jobs
* Rebuild utils
* Update test env start command
* Define the Gutenberg Playwright project
* Use path relative to workspace root
* Update events for test projects
* Update events for test projects
* Add changelogs
* Remove the e2e tests with Gutenberg tests from daily runs
* Set the schedule and workflow_dispatch triggers
* Add --project default flag to only run the default tests in CI
* Renamed snapshots to match the new Playwright project name
* allow focusedOnMount element to be reset
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix live branch menu not show up
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename blocks to to distinguish them from new blocks
* Add changelog
* Change the naming convention to XYZ (Classic)
* Update classic templates descriptions
* Fix package.json lint error
* Add Skip button to Design With AI steps.
* Add changefile(s) from automation for the following project(s): woocommerce
* Use window.location.href to redirect instead.
* fix css linter errors
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Add disableHpos test env variable
* Update events for HPOS disabled tests
* Add pull_request event to test the env
* Remove the pull_request event
* Add changelog
* Make the disableHpos var a boolean
* Also set the env in ci.yml
* Remove console log statement
* Print woocommerce_custom_orders_table_enabled
* Run test setup script again to check output
* Capture env setup output and print it
* Get woocommerce_custom_orders_table_enabled value in test env script
* Get more details on HPOS setting
* Remove the DISABLE_HPOS logic from test env setup script
* Use DISABLE_HPOS instead of ENABLE_HPOS everywhere
* Turn off no-console and jest/no-standalone-expect eslint rules for api core tests
* Test API tests with HPOS disabled
* Fix eslint error
* Clean up debug statements
* Remove pull_request test trigger
* Run wc_update_900_add_launch_your_store_tour_option on WC 9.0 update
* Add changefile(s) from automation for the following project(s): woocommerce
* Use add_option
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Simplify final step in CYS when entering from Entrepreneur Signup.
* Add changelog.
* Update plugins/woocommerce-admin/client/customize-store/transitional/index.tsx
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Show My Home button as primary button only on Entrepreneur flow.
* Use 'customize_your_store_entrepreneur_home_click' tracks event instead.
---------
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Use the term attribute sort order for the "Filter by attribute" block
* Allow `id` and `name_num` orderby values
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Properly format order counts
* Remove superfluous tooltip
* Add "is-error" class for admin settings
* Remove unused option in DataSynchronizer
* Use non-persistent group "counts" for caching count of orders pending sync
* Drop redundant method from COT controller
* Standardize usage of <strong> in COT settings
* Drop unused import
* Allow manual sync to be stopped
* Reword messages in HPOS screen
* Make PHPCS happy
* Add changelog
* Fix unit test
* Fully deprecated DataSynchronier::get_sync_status()
* Extract translatable string to prevent duplication
* Replace the Legacy REST API with a stub that always returns an error.
If the Legacy REST API plugin is installed, it will "take over"
the stub and the API will be available again without noticeable
changes in behavior.
* Move the get_endpoint_data method to WooCommerce core
This method was part of the legacy REST API package but is actually
being used to query endpoints of the new REST API, so it actually
belongs to WooCommerce core.
It has been placed in a new src/Utilities/RestApiUtil class.
The existing src/Internal/RestApiUtil class has been renamed
ro RestApiParameterUtil to avoid confussion.
* Move the register_wp_admin_settings to WooCommerce core.
This method was part of the legacy REST API package but it's needed
for certain endpoints of the current REST API, for example
settings/general/woocommerce_specific_allowed_countries
* Adjust unit tests for the removal of the legacy REST API.
Basically, some tests no longer make sense so they are removed.
* Adjust webhooks for the removal of the legacy REST API.
If a webhook is configured to compose its payload using the
legacy REST API format, and the separate legacy REST API plugin
is not installed, an exception will be thrown. This will cause
the scheduled action that does the webhook delivery to fail.
* Add warning in the webhooks settings page.
The warning will show if the legacy REST API is not available
and there's at least one plugin that is configured to be delivered
using legacy payloads. Each hook will have an exclamation symbol
next to its name in the table.
Additionally, inside the webhook edition page the legacy payload
option will display "NOT AVAILABLE" instead of "deprecated"
when the legacy REST API is not available.
* Add support for queries containing the "wc-api" variable.
These queries will return a 400 error by default, but
"woocommerce_api_request" and "woocommerce_api_(query)" actions
are available for custom processing.
* Enable the woocommerce_api_enabled option if the Legacy API plugin
is installed and the option is disabled.
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Mark get_woocommerce_api_url function as deprecated
* Mark $api property in WooCommerce class as deprecated
* Replace call to wc()->api->get_endpoint_data in Checkout class
Replace it with just wc()->cart, which is what the invoked
endpoint was doing in the end.
* Use get_endpoint_data to get the data from /wc/store/v1/cart
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add type safety, update coming soon entire site changes for fonts
* Add conditional font to support TT24 and other themes
* Revert unnecessary change
* Changelog
* Lint
* Fix: Ensure Product Collection Block Respects "Hide Out of Stock Items" Setting
- Added logic to include the "Out of stock visibility" setting in the Product Collection block.
- Modified `ProductTemplateEdit` component to use the `getDefaultStockStatuses` function.
- Ensured that out-of-stock products are hidden in the Product Collection block when the "Hide out of stock items from the catalog" option is enabled.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove check for logged in user on the order received page, enabling guest users with a valid link to visualize the order shipping/billing addresses.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update comment
* Bumped template version
* fix linting
* ignore hook for the whole file
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* skip fields not present in schema
* remove from sanitize as well
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make shipping total show FREE if price is 0
* Make free text uppercase in order summary
* Add test to check free/paid shipping displays as free or shows price
* Add changelog
* Update E2E test to make sure shipping is selected correctly
* Update shipping cost e2e tests
* Further fixes to e2e tests
* correctly build up the hash on windows
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show WordPress logo when entering Design With AI from Enterpreneur signup flow.
* Update logo on Assembler Hub.
* Really need to force it.
* Add changelog.
* Newline.
* Newline.
* Fix rebase error.
* Fix double import.
* Remove !important.
* If the Legacy REST API plugin is auto-installed once, do not auto-install a second time.
* Remove unused private constant (PluginInstaller records the info we need in a sitewide option).
* Introduce the woocommerce_history_of_autoinstalled_plugins option
This option holds the same data as woocommerce_autoinstalled_plugins,
the difference is that the data in this new option is never deleted.
It's also never updated, it just holds the information of the
first autoinstall for each plugin.
* Add a migration to create woocommerce_history_of_autoinstalled_plugins
* More robust check of previous autoinstall of the plugin
* Change migration to run in 8.9.1 instead of 9.0.0
---------
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* Add validation for array_sum in Orders v1 controller
* Add an array_sum method to NumberUtil
* Update orders controller to use NumberUtil's array_sum
* Add NumberUtil array_sum to order item classes
* add subscription expiry message on plugin list
* Update changelog
* fix lint
* refactor code
* update product price meta
* add tracks event for enable autorenew and renew subscription notices in plugin lists
* fix lint error
* check product price is set or not
* check product price is set or not
* added translator comment
* fix typo
---------
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Remove the view file rendering old market-place page.
* Remove the function for rendering old market-place pages and introduce redirects to new in-app market-place.
* Remove unused code related to legacy market-place.
* Add exit after redirect.
* Add changefile(s) from automation for the following project(s): woocommerce
* Redirect to search result page when a search term exists.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add changefile(s) from automation for the following project(s): woocommerce
* Addressing linter errors.
* Allow unusually-long email addresses of sharers to wrap
* Switch wordWrap for overflowWrap
Modern browesers interpret the former as an alias of the latter, including allowing the use of 'anywhere'. But the current version of https://www.npmjs.com/package/csstype only recognises 'anywhere' as valid for overflowWrap. Switching it prevents compilation errors, still exhibits the correct behavior.
* Prettier linting
* Update plugins/woocommerce/changelog/46229-add-wccom19063-in-app-shared-by-badge
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Use pointer as cursor for status popovers
* Don't focus-within the status badge popover on load (prevents ugly link focus issue)
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Make sidebar sticky on desktop
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* limit sidebar sticky to cart only
* add useless new line
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent collection different than Produyct Catalog from being filtered
* Adjust Product Filters tests
* Split taxonomies filter into seperate filter per taxonomy
* Add changelog
* Improve onDeselect function
* Update Product Filter test handlebars so they all use Product Collection that inherits query from template
* Set Product Collection to inherit query from template in PHP unit tests
* Remove unnecessary empty space
* Add changelog
* Update tests
* Fix lint
* Update Product Collection attributes in filter E2E handlebars
* Update the Product Filters testing pages title
* Satisfy TS by returning single React element rather than array of elements
* Revert some incorrect changes
* Cleanup after accidental incorrect merge
* Add template utils to dynamic contents util
* Fix Attribute Filter tests
* Cleanup Attribute tests, refactor and fix types
* Add product filter on top of attirbute filter in handlebars
* Fix lint
* Update Rating filter tests to use Product Archive template instead of post
* Update Rating Filter handlebars
* Update Stock filter tests to use Product Archive template instead of post
* Update Stock Filter handlebars
* Add more granular util to update Produyct Catalog based on handlebar template
* Use Product Catalog util and simplify test scenarios
* Unify handlebar templates
* Fix Product Collection attributes in Product Filter handlebar templates
* Revert temporary timeouts increase
* Remove unused types
* Cleanup types
* Cleanup types
* Lint fix
* Rename updateTemplatesContent to updateTemplateContents to better depict its purpose
* Fix types
* Rename updateProductCatalogContent to updateProductCatalogTemplate to better depict its purpose
* Allow for beforeAll and afterAll in PW tests
* Use beforeAll and afterAll instead of using fixture in active filters test
* Use beforeAll and afterAll instead of using fixture in attribute filters test
* Use beforeAll and afterAll instead of using fixture in price filters test
* Use beforeAll and afterAll instead of using fixture in rating filters test
* Use beforeAll and afterAll instead of using fixture in stock status filters test
* Get rid of updateProductCatalogTemplate util as it's too specific
* Extract some constants
* Remove unused file probably added here by accident
* Adjust Attribute Filter block tests to the new logic
* Merge fix
* Bring back necessary handlebars file
* Merge fix
* Merge fix
* Update beforeAll
* Avoid relying on product collection page object in before all
* Bring back the original order of tests
* Switch Filter by Attribute tests to handlebars
* Fix typo
* Update test to new circumstances
* Fix hooks usage
We no longer use hooks other than `beforeEach` since we're resetting the DB for each test (#46125). Using other hooks was not caught by the linter (on this PR) because I accidentally removed the no-hooks rule in #47228 and restored it just now in #47500. 😅
* Fix the test
* Fix Price filter test
* Update attribute filter tests
* Share the handlebars between tests
* Update price filter tests
* Update rating filter tests
* Update stock filter tests
* Remove unnecessary product collection page object from filter tests
* Fix typo
* Fix Filter by Stock test
* Simplify Attribute filter test by remoiving one filter from page
* Try to wait for element to be visible
* Fix handlebars syntax for filters so it doesnt throw validation errors and warnings
* Wait for filters to be visible for sure before performing further part of test
* Wait for Site Editor canvas loader
* Fix linter error
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace the default image of the Testimonial single pattern
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix: Deleting a shop coupon via the API returns a 500 error
* Add unit test for coupon delete.
* Add changelog.
* PHPCS fix.
---------
Co-authored-by: 79mplus Admin <36501099+79mplus-admin@users.noreply.github.com>
* Fix lint errors
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* return focus on drawer
* adjust notice button color
* adjust cart/checkout input label color
* return focus for shipping form button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* remove the generic incompatible notice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Turn Change address link to button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* skip data serialization for customer meta
* keep casting as is
* skip old comment
* Add changefile(s) from automation for the following project(s): woocommerce
* actually leave the comment, it still make sense
* reduce code needed
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace promotions - ensure action is always there
We started getting errors 'Scheduled action for woocommerce_marketplace_fetch_promotions will not be executed as no callbacks are registered.' on some environments.
In this commit we ensure that WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions() is always added as a calback to our action hook.
* Marketplace promotions - switch from Action Scheduler to transients
We're switching fetching marketplace promotions from using Action Scheduler
every 12 hours, to a 1 day transient. This makes it easier to ensure that
the requests are triggered only for admins, and that they don't impact frontend
users of the stores.
* Changelog
* Clear action from Action Scheduler
Action woocommerce_marketplace_fetch_promotions is no longer used, so we're clearing it when it's triggered.
Since we cannot self-clear the action, we're triggering a new single action when woocommerce_marketplace_fetch_promotions is run.
This new action's sole responsibility is to clear the original action.
* Fix input clearing issue in PriceTextField with improved currency parsing
This commit addresses a usability issue in the PriceTextField component, highlighted by @dinhtungdu, where the input field would clear itself if users omitted a space between the numeric value and the currency symbol when the currency is configured to appear on the right with a space (e.g., "20$" instead of "20 $"). The problem was rooted in the strict parsing logic that did not account for variations in user input related to currency formatting.
The fix involves an enhancement to the numeric parsing function, which now effectively handles various user inputs regardless of space or placement of the currency symbol. The revised parsing logic uses a regular expression to strip out any characters that are not numeric or the designated decimal separator, and then replaces the locale-specific decimal separator with a period for standard numeric conversion. This approach not only fixes the specific issue but also improves the robustness of the component against similar input variations.
* Refactor currency parsing and improve handling in PriceTextField
1. Renaming `formatValueAsCurrency` to `formatNumberAsCurrency` to better
reflect its functionality.
2. Moving the `convertCurrencyStringToNumber` function outside of the
PriceTextField component, enhancing readability and reusability.
3. Changing the internal state handling from `newValue` to `inputValue`,
directly managing the string input and parsing it as needed for further
processing. This will force input field to re-render.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix: Handle empty string in price conversion to prevent 0 value
This commit fixes an issue where an empty string in the price conversion function resulted in a value of 0. Now, empty strings are properly handled and do not convert to a numerical value.
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix: handle undefined templateSlug in Product Collection tracking utils
The modification introduces a check for templateSlug before attempting to access its properties or use it in further logic. This change addresses a bug that manifested when users tried to edit a synchronized Product Collection block, resulting in a JavaScript error because templateSlug could be undefined.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update types to better reflect reality
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Update styles for WooCommerce coming soon page
- Add min-width to container for better responsiveness
- Adjust padding for smaller screens
- Update font size and text wrapping for banner
* Add changelog
* Improve readability
* Bump version to 2.3.1 and add changelog
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Update readme.txt and clean up old changelog files
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Fix JS unit tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Support for Business Services in in-app marketplace ()
Contains the changes from:
#46530#46725#47048#47135#47183#47227#47352#47452
* Update plugins/woocommerce-admin/client/marketplace/README.md
Fix documentation punctuation
---------
Co-authored-by: Raja Sekar Manimaran <raja.sekar.manimaran@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
Co-authored-by: Dan Q <dan@danq.me>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Migrate multiple tests to Playwright
* fix path
* migrate other tests
* add product best sellers E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* migrate jest-puppetter E2E tests to Playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Blocks: Delete Jest-Puppeteer infrastructure
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Remove obsolete waitForLoadState call
* improve E2E tests
* fix E2E tests
* improve E2E tests
* remove old test
* remove not necessary test
* fix number product
* fix E2E test
* fix number of products
* fix product count
* refactor store notice E2E tests
* update string
* fix E2E test
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* POC: Preview Mode using HOC
* Add explanation as comments
POC: Implement preview mode for Product Collection block in editor
- Added extensive commentary to clarify the mechanism and usage of the `handlePreviewState` function
- Implemented an internal state within `ProductCollectionContent` to manage preview status and messages, serving as a foundational example of how preview mode can enrich block functionality.
- Showcased the application of `handlePreviewState` by incorporating it as a prop in `BlockEdit`, illustrating the potential for extending the block's capabilities for dynamic and interactive previews.
This POC demonstrates a flexible approach to managing preview states within the editor, paving the way for further development and integration based on feedback and use-case analysis.
* Refactor preview state handling and collection registration
This commit introduces a centralized approach for registering product collection variations and managing their preview states. It abstracts the registration logic into a dedicated function and enhances the flexibility of preview state handling across different collection types.
* Rename file
* Minor improvements
* Don't pass previewState to handlePreviewState
I don't see any good use of it in handlePreviewState. Also, We will be going to call handlePreviewState only once
therefore, it will always have the same value as the initial value of the previewState. If in future, we decide to run it
multiple times then we can pass the previewState as an argument to handlePreviewState.
* Add comment
* Use JS closure to inject handlePreviewState
This commit introduces a refined approach for injecting the `handlePreviewState` function into product collection blocks, utilizing JavaScript closures to streamline the process. This method replaces the previous global registry mechanism, offering a more direct and efficient way to manage preview states.
Advantages of This Approach:
- Utilizing JavaScript closures for injecting `handlePreviewState` simplifies the overall architecture by directly modifying block edit components without relying on an external registry. This method enhances code clarity and reduces the cognitive load for developers.
- The conditional application of `withHandlePreviewState` ensures that the preview state handling logic is only added to blocks that require it, optimizing performance and maintainability.
* Refactor preview state management into custom hook
This commit enhances the organization and readability of the product collection content component by abstracting the preview state management into a custom hook named `usePreviewState`. This change streamlines the component's structure and aligns with React best practices for managing state and side effects.
Key Changes:
- Introduced `usePreviewState`, a custom hook responsible for initializing and managing the preview state (`isPreview` and `previewMessage`) of the product collection block. This hook encapsulates the state logic and its side effects, including the conditional invocation of `handlePreviewState`.
- Modified `ProductCollectionContent` to utilize `usePreviewState` for handling its preview state. This adjustment makes the component cleaner and focuses it more on presentation and behavior rather than state management details.
* Replace useEffect with useLayoutEffect
* Add cleanup function in handlePreviewState function
Based on [this discussion](https://github.com/woocommerce/woocommerce/pull/45703#discussion_r1535323883), I added a cleanup function support for handlePreviewState. `handlePreviewState` can return a function which will be called on cleanup in `useLayoutEffect` hook.
* Fetching random products in Preview mode
* Allow collection to set initial preview state
* Pass location & all attributes to handlePreviewState function
* Handling collection specific query for preview mode
- Consolidated `handlePreviewState` and `initialPreviewState` into a single `preview` prop in `register-product-collection.tsx` and `product-collection-content.tsx` to streamline prop passing and improve the component interface.
- Updated the `queryContextIncludes` in `constants.ts` to include 'previewState'
- Enhanced the `ProductCollection` PHP class to handle preview-specific queries more effectively, introducing a new method `get_preview_query_args` that adjusts query parameters based on the collection being previewed, thereby improving the relevance and accuracy of products displayed in preview mode.
* Always set initialPreviewState on load
* Refine preview state handling
- Renamed `HandlePreviewStateArgs` to `SetPreviewStateArgs` in `featured.tsx` to better reflect its purpose, which is now more focused on setting rather than handling states. The implementation details within `featured.tsx` have also been refined to include async operations and cleanup functions, demonstrating a more sophisticated approach to managing state.
Overall, these updates make the preview state logic more understandable and maintainable.
* Rename "initialState" to "initialPreviewState"
* Fix: Correct merging of newPreviewState into previewState attribute
This commit addresses an issue in the product-collection-content.tsx where the newPreviewState was not properly merged into the existing previewState attribute. Previously, the spread operator was incorrectly applied, leading to potential loss of existing state attributes. By changing the order of operations and correctly spreading the existing attributes before merging the newPreviewState, we ensure that all state attributes are preserved and updated correctly.
* Initial refactor POC code to productionize it
* Move `useSetPreviewState` to Utils
* Implement preview mode for Generic archive templates
Implemented a new useLayoutEffect in `utils.tsx` to dynamically set a preview message in the editor for product collection blocks located in generic archive templates (like Products by Category, Products by Tag, or Products by Attribute).
* Remove preview mode from Featured and On sale collection
* Remove preview query modfication for On Sale collection
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix: hide/show preview label based on value of "inherit"
If user change the toggle "Sync with current query", then it should reflect for the preview label as well.
- If the toggle is on, then the preview label should be shown.
- If the toggle is off, then the preview label should be hidden.
* Minor improvements
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Refactor: Simplify SetPreviewState type definition in types.ts
This commit refines the SetPreviewState type definition by eliminating the previously used intermediate interface, SetPreviewStateArgs. The change streamlines the type definition directly within the SetPreviewState type, enhancing readability and reducing redundancy.
* Update import syntax for ElementType in register-product-collection.tsx
This commit updates the import statement for `ElementType` from `@wordpress/element` to use the more modern and concise `import type` syntax. This change does not affect functionality but aligns with TypeScript best practices for importing types, ensuring that type imports are distinguished from regular imports. This helps in clarity and in optimizing the build process by explicitly indicating that `ElementType` is used solely for type checking and not included in the JavaScript runtime.
* Refactor: Update TypeScript usage in Product Collection
This commit introduces several TypeScript refinements across product-collection components:
1. **DEFAULT_ATTRIBUTES** in `constants.ts` now uses `Pick` to explicitly define its shape, ensuring only relevant attributes are included and typed accurately.
2. **ProductCollectionAdvancedInspectorControls** and **ToolbarControls** in the `edit` subdirectory now use `Omit` to exclude the 'preview' property from props, clarifying the intended prop usage and improving type safety.
These changes collectively tighten the type definitions and improve the codebase's adherence to best practices in TypeScript.
* Refactor: Update dependencies of useSetPreviewState hook in utils.tsx
This change enhances the stability and predictability of the hook's behavior, ensuring it updates its internal state accurately when its dependencies change, thus aligning with best practices in React development.
* Refactor preview button CSS and conditional rendering
1. **CSS Refactoring:** Moved the positioning styles of the `.wc-block-product-collection__preview-button` from inline styles in the JSX to the `editor.scss` file. This separation of concerns improves maintainability and readability, aligning the styling responsibilities solely within the CSS file.
2. **Conditional Rendering Logic:** Updated the rendering condition for the preview button. Now, it not only checks if `isPreview` is true but also if the block is currently selected (`props.isSelected`). This prevents the preview button from appearing when the block is not actively selected, reducing visual clutter and enhancing the user experience in the editor.
* Enhance: Update preview button visibility logic in ProductCollectionContent
This commit enhances the visibility logic of the preview button in the `ProductCollectionContent` component:
1. **Added `isSelectedOrInnerBlockSelected`:** Introduced a new `useSelect` hook to determine if the current block or any of its inner blocks are selected. This ensures that the preview button is visible when either the product collection block or any of its inner blocks are selected.
2. **Updated Conditional Rendering:** Adjusted the conditional rendering of the preview button to use the new `isSelectedOrInnerBlockSelected` value, providing a more intuitive user experience by ensuring the preview button remains visible when any relevant block is selected.
* use __private prefix with attribute name
* Add E2E tests for Preview Mode
1. **Template-Specific Tests:** Each template (tag, category, attribute) undergoes a test to ensure the preview button behaves as expected when replacing products with product collections in these contexts.
2. **Visibility Checks:** The tests verify that the preview button is visible when the block or its inner blocks are selected and hidden when the block is not selected. This helps confirm the correct implementation of the preview button visibility logic across different use cases.
3. **Interaction with Inner Blocks:** Additional checks are included to ensure the preview button's visibility toggles appropriately when interacting with inner blocks, reinforcing the dynamic nature of block selection and its effect on UI elements within the editor.
* Add setPreviewState to dependencies
* Add data-test-id to Preview button and update e2e locator
Modifications:
- Added `data-test-id="product-collection-preview-button"` to the Preview button in `product-collection-content.tsx`.
- Updated the corresponding e2e test locator in `product-collection.block_theme.side_effects.spec.ts` to use the new `data-test-id` instead of the class name.
By using `data-test-id`, we ensure that the e2e tests are not affected by changes in the styling or restructuring of the DOM that might alter CSS classes but do not affect functionality.
* Enhance: Localize preview message in useSetPreviewState hook
* Don't show shadow & outline on focus
* Make preview button font same as Admin
* Fix SCSS lint errors
* Add missing await keyword
---------
Co-authored-by: github-actions <github-actions@github.com>
* Do not display smart app banner on the core profiler pages
* Add changefile(s) from automation for the following project(s): woocommerce
* Ignore hook doc errors -- need to re-visit this later
* Document filters with basic info -- using 6.5.0 for since tag. That is the first release after WC Admin was merged to the core
* Update plugins/woocommerce/src/Internal/Admin/Loader.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update XPF currency symbol to XPF
* Change XPF default locale formatting
* Change decimal separator of countries that use XPF to dot
* Add changelog entry
* Update changelog entry
* Fix XPF test data
* Fix some JS linting issues
* Revert "Fix some JS linting issues"
This reverts commit 51abcf4117.
* Fix some JS linting issues
* mutate the original instance of the block array
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create trackInteraction function and pass it to query Insprector Controls
* Add tracking to Attribute filter
* Add tracking to Created filter
* Add tracking to Featured filter
* Add tracking to Handpicked Products filter
* Add tracking to Inherit Query filter
* Add tracking to Keyqord filter
* Add tracking to On Sale filter
* Add tracking to Order By option
* Add tracking to Stock Statusoption
* Add tracking to Price Range filter
* Add tracking to Taxonomies filter
* Fix lint errors
* Add changelog
* Rearrange the logic of recognising the tracks location so it's more reliable
* LYS spec
* get homescreen check working
* move over to shopper
* basic test
* get first test working
* Store only coming soon mode - logged out
* add logged in ttests
* linter
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove skip from tests
---------
Co-authored-by: github-actions <github-actions@github.com>
In the interest of avoiding pagination this refactor swaps the current term loading with one that doesn't require a cache of all terms. We've removed the need for the cache by storing the ID and term name together in the token/suggestion list and using a display transformation to hide any unnecessary information.
* Product Filters: add individual clear button
* Remove unused style.scss
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Simplify searching for the tag
* Convert to use button instead of anchor
* Try using iAPI to show/hide clear button
* Use local context instead of global state
* Fix linting error
* Remove unneeded context
* Update clear button block description
* Fix frontend PHP error
* Add e2e tests for attributes filter clear button
* Add e2e tests for price filter clear button
* Add e2e tests for rating filter clear button
* Add e2e tests for stock status filter clear button
* Address feedback and use built in locators
* Address feedback and replace the use of timeouts
---------
Co-authored-by: github-actions <github-actions@github.com>
* select a shipping rate if there are no shipping rates on mount
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* move code and explain it
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make german state field visible but not required
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable the save changes button until changes are made
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix broken test
* Test
* Remove test code
* Tmp fix - fix broken test
* Fix incorrect comparison
* Remove test code
* minor refactor -- re-use setting
* Remove use of loadash isequal
---------
Co-authored-by: github-actions <github-actions@github.com>
* reset state if it's not valid for the current country
* reset postcode as well
* Add changefile(s) from automation for the following project(s): woocommerce
* update logic so its in Checkout block instead of store api
* fix linting
---------
Co-authored-by: github-actions <github-actions@github.com>
* Adds filter `woocommerce_order_received_verify_known_shoppers` to allow known shoppers to access the order received page without being logged in in Order Confirmation template
* Added changelog
* Added filter docblock
* Refactored to apply the filter correctly for non-guests only.
* Restored comment.
* Added test
* Added test
* lint
* Change plugin package name
* Update plugin name (apparently slugs are formed from that)
* Added right prefix
* JS linting
* Refactored testing into a test.step()
* typo
* Fixed tests.
* Reverted change done by mistake.
* remove getByRole specificity
* Increase selector specificity specificity
* Change test prefix
* reduce test flakyness
* reduce test flakyness
* reduce test flakyness
* Move country to top of form for all countries
* adjust styling
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update to pnpm 9.1 and fix a mini css bug
* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
* temporarily disable swallowing build output to diagnose issue with perf workflow
* Ignore some type issues that commonly resurface when deps slightly change
* Fix persistent type issues that have recurred many times
* Add more ignores
* Fix lint issue
* Revert change to swallow build error
* Improve access of the config that needs updated build dir.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Respect locale setting to format order counts in admin orders list page
Fixes#47372
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Added phone number support to Shipping Address and refactor the code.
* Refactored to avoid evaluating extra if on !== billing address form
* Add changefile(s) from automation for the following project(s): woocommerce
* Fixed tests.
* Mock phone number consistency
* Add a feature flag for full composability and the Pattern Toolkit projects.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make method to getAttributionData externally accessible
* Include checks for sjbs availability
* Failsafe for the custom html element if sbjs isn't available
* Changelog
* Fix inverted logif for readable file check in FileExporter::emit_file
* Fix: instance of WP_Error being passed to PageController::handle_list_table_bulk_actions
* Fix basic usage code snippet example in extend-rest-api-add-data.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use flow layout
* Tmp fix - fix broken test
* Add changefile(s) from automation for the following project(s): woocommerce
* Use flex layout
---------
Co-authored-by: github-actions <github-actions@github.com>
* Freemium: update marketplace product card label
* 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>
* Change default PP Standard should_load logic to be more strict when setting to true
* Remove filter allowing stores to enable PayPal Standard programmatically
* Adds new function to check if the store has any PayPal Standard orders
* Upgrade script that disables PayPal Standard on stores that aren't using it.
* Add changelog entries
* Fix extra comma
* PayPal email is defaulted to the admin email which means checking needs_setup() isn't reliable
* Load PayPal standard in unit tests
* Before installing WC, set the Paypal Standard should load to true
* Remove unnecessary ternary when setting default should_load
* On upgrading WC, only check for PayPal Standard live keys to determine if it's setup
* Remove admin notice if PayPal Standard is disabled on ugprade
* Display an admin notice if the store is using the deprecated filter to load PayPal Standard.
* Add docblock comment above the apply filters
* Added checks around the filter and give pref to enabled.
git add .
* Remove the should load filter notice.
* Add comment noting that init class shouldnt be removed.
* Use proper casting for this->enabled before usage.
---------
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* Adding padding to the copy link
* Add changefile(s) from automation for the following project(s): woocommerce
* Tmp fix - fix broken test
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix permission check in RestApiControllerBase
Extra arguments were being passed incorrectly to current_user_can,
causing wrong authentication failures in some cases (e.g.
when hitting the endpoints in a wp.com site via Jetpack tunneling).
* Fix get_order_data in ReceiptRenderingEngine
A fatal error was being thrown when one of the products referenced
in the order did no longer exist.
* Update toolbar store link
"Preview store" when coming soon mode is enabled
"View store" when the site is set to live
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove hover background
* Add changefile(s) from automation for the following project(s): woocommerce
* Tmp fix - fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: not run font picker tests on WordPress 6.4
* improve how the test is skipped
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix RIN Display Logic for Banner Alert Notifications
* Add tests
* Add changelog
* Update test
* Add test
* chore: fix unactioned note status check in EvaluateAndGetStatus.php
* Replace Options.php usage with LaunchYourStore controller
* Add changefile(s) from automation for the following project(s): woocommerce
* Catch error, but ignore it
* Tmp fix - fix broken test
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use wp_plugin_dependencies_slug
* Fix incorrect function name
* Remove unnessary content-type header
* Add doc block for wp_plugin_dependencies_slug filter
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester, woocommerce
* Tmp fix - fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* REST API: Add missing line item schemas to refunds endpoint
In #28241, `fee_lines`, `shipping_lines`, and `tax_lines` properties
were all added to the refund data object sent by v2 and v3 of the
REST API. However, the schema was never updated, so the characteristics
of those properties have not been very discoverable. This simply
copies the relevant schema data from the orders endpoint over to the
refunds endpoint.
Towards #43444
* phpcs cleanup
* Change “Pickup options” to “Pickup locations”
* Always show pickup location and truncate pickup details
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Adjust spacing between pickup details and more link
* Hide pickup details of unselected pickup location
* Adjust line height of truncated text
* Show “Read more/less” instead of “more/less”
* Ensure both lines are equally filled with text
---------
Co-authored-by: github-actions <github-actions@github.com>
* WIP: Display price in place order button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix JS lint error
* Update e2e tests
* Display default place order button including placeholder in page editor
* Update plugins/woocommerce-blocks/assets/js/blocks/checkout/inner-blocks/checkout-actions-block/constants.tsx
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Optimise i18n using sprintf
* Wrap cart totals in “useSelect”
* Temporary skip failing e2e test
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Fix event when starting the no AI flow
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix broken checkout address forms layout
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
This addresses coupon usage limits for failed & trashed orders by ensuring that coupon usage is decremented when a transaction fails or an order is trashed.
Fixes#31245
* Added tests to check coupon usage count on failed & trashed orders
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* Add filter woocommerce_update_coupon_usage_invalid_statuses, wc_update_coupon_usage_counts actions -> failed/trashed
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* document woocommerce_update_coupon_usage_invalid_statuses filter
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* formatting
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* Add changelog file
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* Update plugins/woocommerce/includes/wc-order-functions.php
Appease the code style linter
* Update plugins/woocommerce/tests/php/includes/wc-order-functions-test.php
Appease the code style linter
---------
Signed-off-by: Scott Fleming <scott@noblwheels.com>
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Inject the fields (only once) on a large set of checkout form actions
* Changelog
* Better doc format
* Add _once to the new method to clarify functionality
* Filter to modify the default list of actions
* Check WP version before adding Customer Account hooked block due to usage of hooked_block_{} filter
* Changelog
* Replace global with get_bloginfo('version') for getting WP version
* Create a hook to filter the woocommerce blocks that can be registered.
This will decrease the server execution time, the amount of css and javascript downloaded.
In the case of the product editor the woocommerce blocks are non needed or required, so it's not necesary to register them all.
* Add changelog file
* Fix php linter errors
* Get the tax_rate from the woocommerce_order_itemmeta table and country, state and priority from woocommerce_order_items
* Add changelog file
* Fix the resulting items when searching by specific tax rates
* Add some comments to clarify the fix
* Fix php linter errors
* Show modified tax rates and tax names as well as the deleted ones to better show the total calculations
* Fix php tests
* fix Lint issue
* update tests
* Fix some tests
* Add teardown
* Remove tests that were not relevant anymore
* Update teardown function
* Fix linter errors
* Update comment typos
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
---------
Co-authored-by: Damián Suárez <rdsuarez@gmail.com>
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
* Product Reviews: not use useBlockProps twice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* added a new parameter manual_update when updating order through WC REST API
* added the new parameter to the item schema
* Add changefile(s) from automation for the following project(s): woocommerce
* Update unit test
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* REST API: Add endpoint to get refunds directly
This makes it possible to request a list of refunds that are untethered
from their associated orders, with options to specify a date range
and/or a sort order.
Fixes#27568
* Add changelog file
* phpcs cleanup
* Add unit test
* More phpcs cleanup
* Add parent_id to response object
* Appease phpcs
* Add 'placeholder' attribute to taxonomy block and add 'placeholder' attribute to category field in Simple Product Template
* Only show placeholder when nothing is selected
* Remove suffix from function parameters
* Add changelog for component
* fix unit tests
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Migrate multiple tests to Playwright
* fix path
* migrate other tests
* add product best sellers E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* migrate jest-puppetter E2E tests to Playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove obsolete waitForLoadState call
* improve E2E tests
* fix E2E tests
* improve E2E tests
* remove old test
* remove not necessary test
* fix number product
* fix E2E test
* fix number of products
* fix product count
* refactor store notice E2E tests
* update string
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* Product Details: not use twice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix extra /wp-admin from action url link for ticket 46993
* Fix extra /wp-admin from task LaunchYourStore get action url
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Modified query for fetching meta key, making it more perfomant
* added changelog
* Improved query when include_private is true
* Address review feedback
* Address review feedback
* update to display actual woocommerce version on status page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove wc_update_890_add_launch_your_store_tour_option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename filter options in Orders Analytics.
* Sort filter options in labels in Orders Analytics.
* Change filter labels to singular.
* Wider label column to accommodate label change.
* Rename filter options in Variations Analytics.
* Change filter options to Attribute, Category and Product in Variations Analytics.
* Revert "Change filter options to Attribute, Category and Product in Variations Analytics."
This reverts commit b3ca5d5807.
* Change "Add a Filter" to "Add a filter".
* Add changelog.
* Add changelog.
* Refactor getAvailableFilterKeys and getAvailableFilters into one function.
* Add code comment and remove unneeded code.
* Code refactor getAvailableFilters.
This is done by starting from allFilterKeys, and filtering with allowMultiple or not yet active.
With this, we don't need to have `inactiveFilterKeys` and "Ensure filters that allow multiples are always present."
* Fix tests and lint issues.
* Simplify code with Object.entries.
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Migrate multiple tests to Playwright
* fix path
* migrate other tests
* add product best sellers E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove obsolete waitForLoadState call
* improve E2E tests
* fix E2E tests
* fix E2E test
* remove not necessary changelog
* improve E2E tests
* remove not necessary folder
* fix test
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* Update env setup script to disable hpos
* Use DISABLE_HPOS instead of ENABLE_HPOS
* Log HPOS state
* Configure project for core e2e with HPOS disabled
* Add event argument for ci-jobs util
* Add event option for test jobs
* Add support for github events
* Add changelog
* Configure HPOS tests to run on pull_request
* Fix utils tests for undefined commandVars
* Added some tests for the event configuration
* Revert event for HPOS e2e to push
* Use matrix name in artifact name to avoid duplication
* Test with pull_request event
* Use job-index for unique artifacts names
* Revert event for HPOS e2e to push
* Add api tests for HPOS disabled
* Use unique artifact name for api tests
* Revert event for HPOS disabled api tests to push
* Rebuild monorepo utils to fix a merge conflict
* Updated wording
* Return with home URL when permalink structure is empty
* Add changefile(s) from automation for the following project(s): woocommerce
* Always includes home url
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor shipping sections
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Refactor various files and adjust e2e tests
* Display expected styles for “Ship” and “Pickup” in the page editor
* Use exact selector
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor to wrap everything under cover block
* Changelog
* Cleanup and fix classic theme
* Wrap center with stack for ease of adding elements nearby
* Update styles
* Fix dynamic background color
* Style clean up
* Remove unused code introduced in 2014 but that has never been used
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Alexis Urien <alexis@smiile.com>
Co-authored-by: github-actions <github-actions@github.com>
* Prevent product being saved prematurely when updated via REST API
This includes the wc_product_attach_featured_image function
getting a new argument, $save_product, defaulting to true.
* Add changelog file
* Ensure the get_patterns_ai_data_post method is triggered exclusively whenever AI is enabled. Udate the get_patterns_ai_data_post method to rely on get_posts instead of new WP_Query for fetching the results. Enable autoload for the 'woocommerce_blocks_allow_ai_connection' option to improve performance, since it is invoked in pretty much all page loads.
* Enable autoload for the 'woocommerce_blocks_allow_ai_connection' option to improve performance, since it is invoked in pretty much all page loads.
* Add changefile(s) from automation for the following project(s): woocommerce
* address lint error.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use delete query format suppored by wpdb::get_table_from_query() in Abstract_WC_Order_Data_Store_CPT::delete_items()
* Add changefile(s) from automation for the following project(s): woocommerce
* Add unit test for deleting orders.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* Fix error when the repeating the prompt
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Added testPage fixture and testPgeTitle fixture option
* Update create-cart-block.spec.js to use testPage fixture
* Add changelog
* Update create-checkout-block.spec.js to use testPage fixture
* Update create-page.spec.js to use testPage fixture
* Update create-woocommerce-blocks.spec.js to use testPage fixture
* Update create-woocommerce-patterns.spec.js to use testPage fixture
* Update cart-block.spec.js to use testPage fixture
* Update cart-block-calculate-shipping.spec.js to use testPage fixture
* Update cart-block-coupons.spec.js to use testPage fixture
* Update checkout.spec.js to use some utils
* Update checkout-block-coupons.spec.js to use testPage fixture
* Use cart utils in checkout-create-account.spec.js
* Use cart utils in checkout-login.spec.js
* Use cart utils in order-email-receiving.spec.js
* Update shop-products-filter-by-price.spec.js to use testPage fixture
* Add helpers.js
* Move the page title random name generator in the base fixture to ensure uniqueness
* Remove eslint exceptions
* Use api fixture
* Added key for sku
* Add experimental support for FTS indexes in HPOS. Additionally, revert existing HPOS search queries to use post like structure.
* Add unit tests
* Escape the error messages as per new phpcs rules.
* Fix query with index + added test.
* remove uninteded change.
* Unit test fixes.
* Remove unit test since the commit command breaks other tests.
Use message API instead of notices with defensive checks.
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Blocks: Migrate stock filter to playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove double site editor redirect
* remove not necessary file
* fix test
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* improve E2E tests
* fix test
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* address feedback
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Blocks: Migrate attribute filter E2E tests to playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* update path
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* address feedback
* fix visitSiteEditor
* fix description
* remove not necessary changelog
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Blocks: Migrate rating filter to playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* remove not necessary changelog
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* improve tests
* use visitSiteEditor util
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* use locator.fill
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* address feedback
* remove not necessary changelog
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
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>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* [Blocks]: Migrate Price Filter tests to Playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* improve description
* Try stabilizing the company field test
* use Product Collection
* Use canvas param instead of manually entering edit mode
* remove blockData
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* update test
* add missing import
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* improve E2E tests
* remove not necessary changelog
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
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>
Co-authored-by: github-actions <github-actions@github.com>
* Logging: keep full context in woocommerce_format_log_entry filter hook
The source value gets removed from the context array before it is
converted to JSON and output as part of the log entry. However, this
means that the source value is not available when the
woocommerce_format_log_entry filter hook fires, so plugins can't easily
determine where the log entry came from. This simply ensures that the
source value is still available to the filter hook, even though it's not
included in the JSON.
* Revert opening up hooked blocks to all block themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Add version to @since tag in fn comment.
Missing @since version throwing a CI check error:
`A "@since" tag was found but no version declared.`
Adding `8.4.0`, as this was the version referenced before the revert.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Daniel W. Robert <danielwrobert@gmail.com>
* Add publish page util
* Update create-woocommerce-patterns.spec.js to use canvas
* Update create-woocommerce-blocks.spec.js to use the publishPage util
* Fix check for pattern
* Add changelog
* Update cart-block-calculate-shipping.spec.js to use canvas
* Add utility for adding a product to cart and only waiting for the relevant request instead of networkidle
* Update cart-block-coupons.spec.js to use canvas and new utils
* Update shopper/cart-block.spec.js to use canvas and new utils
* Update shopper/cart-calculate-shipping.spec.js to use new utils
* Update shopper/cart-checkout-block-calculate-tax.spec.js to use canvas and new utils.
* Use uuid instead of Date.now()
* Update shopper/cart-checkout-calculate-tax.spec.js to use new utils
* Suppress testing-library/await-async-utils eslint rule
* Add currency for a more strict text based locator
* Don't wait for networkidle
* Don't wait for networkidle in cart-checkout-restricted-coupons.spec.js
* Don't wait for networkidle in cart-redirection.spec.js
* Fix cart.spec.js
* Fix checkout-block-coupons.spec.js
* Fix checkout-block.spec.js
* Fix shop-products-filter-by-price.spec.js
* Add gutenberg to wp-env config
* Dirty fix for multiple coupons test
* Remove Gutenberg from wp-env
Adds the `wc_product_pre_has_unique_sku` filter hook to allow SKU uniqueness to be determined externally in order to avoid an expensive query.
Fixes#46759Fixes#31720
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add autogeneration of block list reference documentation
* Fix typo
* Revert this change
* Fix typo
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add blanklines to surrounding markdown headings
* Generate blocks references markdown
* Add space to header markdown
* Add ancestor information
* Use native Object.keys instead of lodash
* Remove the use of fast-glob
* Revert pnpm lock file changes
* Update plugins/woocommerce-blocks/bin/gen-block-list-doc.js
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Update doc title
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Add border around order summary on cart & checkout
* Group subtotal, discount, fees, taxes and shiping block
* Move the coupon form in order summary
* Move the coupon form in order summary
* Manage state externally in Panel component and refactor Coupon form to use the Panel component
* Remove descriptions from order summary items
* increase font weight of order summary title
* Tidy up design for desktop and add separator back in for blocks on checkout order summary
* Remove border around order summary on mobile
* Revert "Move the coupon form in order summary"
This reverts commit 4a8044cdcf.
* Change heading styles for cart
* Change font weight to 500 of order summary heading on checkout block
* Remove padding and border between order summary totals items
* Refactor css for cart & checkout totals to work in the editor
* Adjust cart totals heading in the editor
* Last adjustment to checkout totals style to work in editor
* Add changelog
* Change the cursor to pointer for the panel component
* remove unused short and full description from OrderSummaryItem
* Fix failing e2e tests
* Fix lint issues
* Vertically align order summary title in the editor
* Fix e2e tests
* Fix linting issues
* Fix unit tests
* Remove changes from woocommerce.php
* Fix checkout block test
* fix eslint errors in checkout block test
---------
Co-authored-by: Niels Lange <info@nielslange.de>
* Add FilesystemUtil class and unit tests
* Update logger to use FilesystemUtil
* phpcs cleanup
* Add changelog file
* Extract credentials gathering into a separate method
* Add notice when filesystem init fails
* Simplify getting filesystem credentials
* Tweak messaging in Settings when filesystem is not direct
* Remove unnecessary conditional in file deletion method
* Refactor test_clear
* Restore test_clear to its previous state
* Prevent MaxMind unit tests from polluting the state of WP_Filesystem
* Import colors.native scss variables
* Add changelog
* Refactor WCPay banner and cleanup
We introduce a new WCPayConnectCard onboarding component and
remove/cleanup all other WCPay surface components.
This component uses the new design, updated payment methods icons
and WCPay logo.
* Add changelog
* Upgrade the WCPay payments settings banner
* test: Fix WCPay payments settings banner tests
* Update the WCPay welcome page to use the WCPayConnectCard component
* Update the Payments task page to use the WCPayConnectCard component
* Fix copy for payments settings methods CTA buttons label
* Add changelog
* Further cleanup of no-longer-used WCPay surfaces
* Consolidate onboarding component icons for single sources
* Minor cleanup
* test: Fix WCPay payments settings banner test
* test: Fix payments tasks page tests
* add new filters for reading and writing fields
* rename functions
* add test for action
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* update docs
* fix typo in test and linting issues
---------
Co-authored-by: github-actions <github-actions@github.com>
* get settings in correct format
* Add changefile(s) from automation for the following project(s): woocommerce
* expand test to also account for frontend
* remove added test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add apiFetch middleware to add X-Wc-Product-Editor header to all requests from product editor
* Use productEditorHeaderApiFetchMiddleware
* Update name of header
* Utility function to check header
* Changelog
* Changelog
* Add warnings about the incompatibility of the legacy REST API and HPOS:
- A static text in the features settings page, in the HPOS section,
if the legacy REST API is active.
- A dismissable admin notice that is created at install/update time
only if both HPOS and the legacy REST API is active
(it's removed automatically when one of the two ceases to be active)
This covers both the legacy REST API being active in core and the
legacy REST API plugin being installed and active.
* Add changelog file
* - Remove the admin notice (will be added by the Legacy API plugin)
- Add the woocommerce_legacy_api_and_hpos_incompatibility_warning_text filter
* Fix misplaced line feed
* Fix AI generated site titles comparisons
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix logo position after saving on the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>