* Unify the category for all Product Elements
* Add changelog
* Bring back category to product elements that don't use shared confiug
* Add specific category to some Product Elements blocks registered only for Single Product template
* CYS - E2E tests: add logo picker E2E tests
* fix flakiness
* use as second parameter
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changes to tests projects on package.json
* CYS - E2E tests: fix flaky assembler-hub test
* Add changefile(s) from automation for the following project(s): woocommerce
* fix flakiness
* add waitUntil
* improve logic
* fix build error
* try now
* fix unit test
* fix flakiness
* fix logic
* improve tests
* add more tests
* use .toBe
* add documentation
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Prevent orders being placed with invalid shipping options
* Add changelog
* Add shipping_disable_flat_rate fixture function
* Test checking out with no valid shipping methods selected
* Update tests to add a default shipping method
* Update test_checkout_invalid_shipping_method to disable method
* If shipping methods is null, return an array with an empty string inside
* Replace WC session in tests that rely on setting cookies
* Add MockSessionHandler to handle test cases using cookies
* Add docblock comment
* Expect shipping validation to fail if chosen methods are null
* Add shipping method before testing validate_selected_shipping_methods
* Update MockSessionHandler to handle caching
* Show error when test fails
* Default the chosen shipping methods to an empty array if not set
* Split checks for needs_shipping and valid shipping apart
* Remove unnecessary session set and total calculation
* Fix lint errors
* Init session in each test
* Reimplement required methods (those that are private or use cookies)
* Update phpcs ignore comment to be inline
* Prevent error when accessing unset variable in mock cache
* Fix lint error
* Add meta_data parameter in generateProductVariations
* Apply filter to get meta_data to generate variations
* Add meta_data parameter in generate variations endpoint
* Update name and add documentation
* Fix useEntityRecord in blockEditor
* changed LYS task id to hyphens for consistency with the other tasks
* add: lys hub sidebar
* ling
* lint2
* fixed sidebar title back button
* lint
* missed i18n
* sidebar title css
* unnecessary mutate
* hide test order toggle for now
* Recognise if Product Collection is inside Cart or Checkout blocks
* Upgrade priority block recognition over templates
* Update the comments to better depict the flow
* Add changelog
* Simplify the logic
* Add coming soon page banner on the frontend
* Add changefile(s) from automation for the following project(s): woocommerce
* Check for shop_manager
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add icons to ellipsis menu -- lys
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Copy update for coming soon badge
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Site visibility settings copy changes
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make sure we are in admin area when using current_screen()
* Add changefile(s) from automation for the following project(s): woocommerce
* Check admin in preload_settings
* Remove unwanted changes from a different branch
---------
Co-authored-by: github-actions <github-actions@github.com>
* clean up woocommerce-blocks package.json
* update from feedback
* move entry to original location
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
* Fetch all products for hand-picked products control
This commit modifies the `getProducts` function usage within the Hand-Picked Products control, aiming to fetch all products regardless of catalog size.
The change involves explicitly setting `queryArgs` to include `per_page: 0` in the function call. This adjustment overrides the default behavior based on the `isLargeCatalog` condition, ensuring that all available products are fetched from the Store API for selection within the control.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove clickable cursor on post title
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update plugins/woocommerce-blocks/assets/js/blocks/product-collection/edit/editor.scss
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Add missing semicolon
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* update WordPress version
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove ToS acceptance in WCPay banner and promotions JSON
* Add changefile(s) from automation for the following project(s): @woocommerce/onboarding, packages/php/remote-specs-validation
* Add line break in banner to look nicer
* Center banner content
* Style banner for mobile version
* fix js test to use another block (previous one no longer exist)
* Add changefile(s) from automation for the following project(s): @woocommerce/onboarding, packages/php/remote-specs-validation, woocommerce
* Add comment to css
---------
Co-authored-by: oaratovskyi <oleksandr.aratovskyi@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Ensure that each <CheckboxControl> component has a unique id
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Optimise setup and teardown settings
* Wrapping setup and teardown in act()
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add private link
* Add changefile(s) from automation for the following project(s): woocommerce
* Use useCopyToClipboard and remove label click behavior
* Preload settings for site visibility
* Default to live when woocommerce_coming_soon option is not available
* Remove use of classnames -- no longer needed
* Lint fixes
* Lint fixes
* Remove changes for label click behavior -- we will work on it in a separate PR
* Remove unused import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Introduce 44084 and 44790 back to be reintroduced with back compat.
This reverts commit fcdbc76414.
* Add changelog.
* Manually call `rest_request_after_callbacks` filter for backward compatibility.
* Make the controller checks more robust.
* Dont call rest api when controller is found but response cant be calculated.
* Add unit test for hydration class.
* Update comment docs for future warning.
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Return unfiltered routes array to prevent overwriting.
* PHPCS fixes.
* Use hydration context filters instead of duplicating REST API filters.
* PHPCS fixes.
* Adjusted unit test for new filters.
---------
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Link Payments task item to Overview if WooPayments is connected
* Link APMs task item to payments task page
* Add changelog for WooCommerce
* If WCPay is connected go to Payments Overview page
It shouldn't matter if the WCPay account is fully or partially onboarded.
* Adjust shipping calculations copy
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix deprecated warning when applying a coupon on Cart in PHP > 8.0
* Add changefile(s) from automation for the following project(s): woocommerce
* Changed property type to protected
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add e2e tests for virtual orders and refactor test names
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Optimise setup and teardown
---------
Co-authored-by: github-actions <github-actions@github.com>
* Redirect to intro page when accessing the transitional page if no customized
* Remove only
* Add changefile(s) from automation for the following project(s): woocommerce
* Check if the task is completed
* Add transition screen class
* Remove unused import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add sharding to Blocks e2e tests
* Changelog
* Push a change to Blocks README to trigger tests
* Fix syntax
* Fixed again
* Try again
* Trying to get the shard number
* Shard names
* fix E2E test
* use wordpress 6.5 as test env
* update util
* fix Mini Cart Block E2E test
* add editor dependency
* fix E2E tests
* fix E2E tests
* fix E2E tests
* restore global setup file
* fix E2E tests
* fix global setup
* try now
* try now
* fix E2E test
* fix E2E test
* fix mini cart E2E test
* add changelog
* complete all the jobs
* update playwright
* fix E2E tests
* fix E2E test
* try now
* fix E2E test
* not show welcome guide for the post editor
* update configuration
* fix guest storage state
* fix E2E tests
* check now
* fix E2E tests
* fix command
* improve selector
* use WordPress 6.5 beta 2
* use WordPress 6.5 beta 3
* fix canvas use
* wait for button
* fix E2E test
* fix E2E test
* fix product button
* fix product collection tests
* fix wp build link
* use beforeEach
* fix E2E tests
* use WordPress RC2
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* trigger CI
* fix E2E tests
* fix E2E tests
* fix E2E test
* fix E2E tests
* add timeout
* Fix flaky locator assertions
...by replacing them with dedicaed auto-waiting ones.
* Apply correct use of waitForRequest/Response and remove where unnecessary
* Remove obsolete waitUntils
* Fix accidentally isolated test
* Replace saveTemplate with core's saveSiteEditorEntities
* Fix findProductRow util
* Restore necessary request waiters
* Use activateTheme util instead of cli call
* Remove unused import
* Fix request destructured call
Request properties cannot be destructured (todo: create upstream issue)
* Revert some waitForRequest changes
These need to be investigated for heavy bleeding from side-effects
* Fix failing cart checkout test
* Set navigation timeout to 10s
We need this so that API like page.goto or page.waitForURL doesn't take 100 seconds (global timeout) to throw.
* Do not close the page in the page fixture override
The page will be closed anyway, and by closing it explicitly in the teardown phase of the fixture we create a flaky race condition where the page might be closed before the action/navigation timeout is reached, resulting in "page closed!" error instead of, e.g. "locator.fill timed out".
* Revert product collection tests due to conflicts
* Try fixing E2E test
* Remove some random change
* Revert to programmatic blur 🤷
* Fix additional checkout fields test
* Add a waitForRequest safety check in case it's debounced
* Fix price filter test
* Fix flaky visitTemplateEditor util
* Remove obsolete code from global setup
* Revert "Fix flaky visitTemplateEditor util"
This reverts commit 227336f265.
* update to WordPress RC3
* Add waitForCustomerDataUpdate function
* Don't wait for requests and use data store instead
* Try with new wait condition
* Re-add wait condition
* Wait for customer update in guest checkout test
* Add changelog
* fix lint error
* fix some E2E tests
* disable welcome guide
* remove beforeAll
* add timeout
* add another timeout
* increase timeout
* Add call to waitForSiteEditorFinishLoading when editing the theme template
* remove timeout
* remove not necessary comment
* clean changelog
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* remove changelog
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* don't show draft product in featured products block
* updated the code to show only published product in featured products block
* Update plugins/woocommerce/src/Blocks/BlockTypes/FeaturedProduct.php
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
* added a changelog file
---------
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
* Add get_action_url method to LaunchYourStore task
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add transitional page tests
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add spacing between the title and the rest of the pattern
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated blockgap
* Add spacing
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure that shipping can be disabled independent of Local Pickup
* Fix PHPCS issues
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* bump husky, remove remnants from blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* add @playwright/test to syncpack
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* update pnpm-lock.yaml
* add github-label-sync to syncpack
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Add a filter for the items to apply coupons array.
* Add changefile(s) from automation for the following project(s): woocommerce
* Add filter docbloc.
* Add since tag in filter docbloc.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add missing allowed inner blocks to Single Product block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove unnecessary attribute from Single Product block template
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix "add_action" accepted args
Fixing the "add_action" accepted args on the examples
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'coming-soon' page
* Add coming soon page when user hits the core profiler page.
* Added coming soon page selector under Page setup
* Move coming soon page logic to launch your store feature class
* Conditionally add coming soon select
* Move coming soon page creation logic to WooCommerce Home
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix layout issue -- add align-items for flex items
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable woocommerce/product-regular-price-field when product type is variable
* Disable woocommerce/product-sale-price-field when product type is variable
* Disable woocommerce/product-sku-field when product type is variable
* Disable Track stock quantity toggle when product type is variable
* Disable woocommerce/product-radio-field when product type is variable
* Disable woocommerce/product-shipping-class-field when product type is variable
* Disable woocommerce/product-shipping-dimensions-fields when product type is variable
* Add changelog files
* Fix php linter
* register the `metadata` attribute for all blocks
* bind value attribute with the nane product entity
* changelog
* add a ToDo note
* rename edit component fn to NameBlockEdit
* changelog
* restore @ts-export line
* fix eslint issue
* fix eslint issue
* Add Shipping phone number to the order preview panel
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Don't show publicly non-queryable taxonomies
The main enhancement involves adding a visibility filter to the taxonomies query. Now, the query considers the `publicly_queryable` property of each taxonomy. Only taxonomies marked as publicly queryable are included in the final list returned by the `useTaxonomies` hook. This change ensures that the Product Collection block's taxonomy controls only display taxonomies relevant and accessible to the public, enhancing both the usability for content creators and the relevance of taxonomy selections for site visitors.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: initial E2E tests loading page
* add more cases
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Since we don't need it to be _perfectly_ stable,
we can just set the `queryId` to the instance ID
on every component mounting. This is fine and
won't mark the attribute as dirty unless a
collection block is added, deleted, or moved
in just the right way. The exception to this
is collection blocks in sync patterns.
In this case the ID cannot change
because it can cause update loops in some
cases that freeze the browser.
* Update the copy for the fonts opt-in modal
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Attempt to determine order type from HPOS side too in `PostsRedirectionController`
* Add changelog
* Simplify redirect logic
* Linter hates short ternaries
* Update the CYS feedback survey design
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix typo
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add skeleton spec
* Add missing await
* Update customer role in test env setup
* Split specs
* Add tests for user creation
* Added tests for users deletion
* Fix API tests after env setup customer role change
* Fix API tests after env setup customer role change
* Add update customer steps
* Update user edit tests
* Updated comment
* Products: Avoid fatal during variation search
Most product types' data objects store `WC_Product_Attribute` objects in
their attributes property, whereas Product variation data objects store
an associative array of key/value pairs in their attributes property.
This is problematic because it means a fatal error can be thrown when
code assumes that a product's attributes are objects with methods rather
than simply strings. Ideally, attributes would work the same everywhere,
but it would be challenging to fix that in the codebase without breaking
backcompat. So instead, in this PR, we are simply adding some logic in
the `find_matching_product_variation` method to ensure that we're not
trying to retrieve a variation of a product object that is already a
variation.
* Fix linting issue
* Make sure the woocommerce_admin_customize_store_completed is marked as complete whenever global styles are updated by the user.
* Check for the WP_Post object before attempting to access the content property
* Mark the cys task as completed when modifying a template or template_part
* Unify the mark as complete methods and update the hooks.
* update docblock
* remove unnecessary ()
* Add changefile(s) from automation for the following project(s): woocommerce
* Ensure the woocommerce_admin_customize_store_completed option is marked as complete whenever the user updates their styles in the editor
* Fix lint errors
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Consolidate and move password protected product test
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Move test to non side effect and remove remaining empty test file
---------
Co-authored-by: github-actions <github-actions@github.com>
* Removed return statements from conditions in `WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions`. With these, if the marketplace gets a good response from the API and then later a bad or empty response, it fails to update the promotions transient, meaning that notices and menu bubbles may persist in stores after we've removed them from the API. We check the dates of promotions, so they should disappear when they expire, but it's a good idea to clear this data if the API returns an empty response or if there's an error fetching it.
* Changelog.
* Add changefile(s) from automation for the following project(s): woocommerce
* Removed duplicate changelog file.
* Add changefile(s) from automation for the following project(s): woocommerce
* Removed duplicate changelog file.
---------
Co-authored-by: github-actions <github-actions@github.com>
* New filter to set a custom precision value for the WC calculations
* Add changelog and docblock.
* Add since tag.
* Add since tag.
* Add prefix + correct version.
* Better filter name
---------
Co-authored-by: Yordan Soares <contacto@yordansoar.es>
* CYS - Core: fix: not mark step as completed when the user switches theme
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add gap between quantity field and add to cart button when stacked
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add specificity to quantity
---------
Co-authored-by: github-actions <github-actions@github.com>
Add an index to the zone_id column of woocommerce_shipping_zone_locations.
Remove the separate index on location_id. Shipping zone locations are read by zone_id when a ShippingZone is read from the database. The zone_id is also used in join statements with the shipping zones table. So an index would improve performance there. The separate KEY for the location_id column is not needed as the primary key for the table already creates an index automatically.
* Fix the color of the toggle control in the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove the hook for updating update_plugins transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com plugins.
* Remove the hook for updating update_themes transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com themes.
* Remove the class hand hooks used for updating the API response of WP.org with update URI's from Woo.com.
* Add change log file.
* Add update_plugins and themes transient update hooks back while removing the package from Woo.com extensions.
When a Woo hosted plugin has an update, this will allow showing the update message but block the ability to update.
* Adding a hook to modify the plugin update notification on plugins.php.
When a Woo.com hosted plugin has an update available it will show a message to install Woo Marketplace plugin, if it's not installed.
* Utility class for Woo Marketplace plugin.
* Check wether the Woo marketplace plugin is already installed before modifying update notice.
* Update docblocks.
* Add status end point for wccom-site API.
* Check the existence of marketplace plugin only after the plugins are loaded.
* Add WP.org plugin api response updater back to core.
* Function to identify if the market-place plugin is installed.
* Update status API response with installation status.
* Update the status variable push to store admin frontend with information about market-place plugin.
* Styles for woo-connect-plugin component.
* Component for displaying the message to install Woo Connect plugin based on the installation status.
* Add Woo Connect plugin notice to my-subscriptions page.
* Add Woo connect plugin message to discover page.
* Add Woo Connect install/download urls to constants file.
* Add a modal for asking the user to install Woo Connect plugin.
* Update strings with constants.
* Show the Woo Connect modal when user updating plugins without Woo Connect installed.
* Show Woo Connect install notifications only when the site is connected.
* Update plugin management page messaging.
* Update notification on connect screen.
* Update notifications on plugin management page.
* Remove additional spacing in Plugin Install Notice and spacing in the discover page results and the notice.
* Use notice component instead of Card.
* Minor improvements to readability.
* Add translation support for messages displayed on plugins.php.
* Update woo connect plugin installation URL (#45127)
* Ad functions for generating WooConnect plugin install URLs.
* Make WooConnect install url to available to marketplace components.
* Make WooConnect install url to available to marketplace components.
* Link install buttons to install URL with access_token and secret.
* Update Woo Update Manager download url.
* Show admin notice to install Woo Update Manager on plugins.php.
* Adding the view for admin notice for installing woo_update_manager.
* Show woo update manager installation notice on WC admin pages and make the notice dissmisable.
* Update the install url for Woo Update Manager by adding the product ID and introduce a filter to override the product ID.
* Change the plugin name to Woo Update Manager.
* Change the download url for woo update manager
* Fix the margin below the Woo Update plugin install notice.
* Rename Woo Connect to Woo Update Manager.
* Rename wccom-site status endpoint response variables based on plugin name changes.
* Update the plugin main file name for Woo Update Manager.
* Updating the download URL.
* Updating css class names and file names from `woo-connect-plugin` to `woo-update-manager`.
* Change wooConnect variables to wooUpdateManager.
* Rename WC_Helper_Plugin to WC_Woo_Update_Manager_Plugin and remove references to market place plugin.
* Extract and reuse the logic for creating the signature.
* Use WC built-in method to check if the current page is a WC page.
* Add source parameter for installer.
* Update text copies based on flows for in-app Woo Update Manager install message.
* Update admin notice based on the flows.
* Update connect store message.
* Update the text based on the latest flow and show a different message when WUM is installed but not activated.
* Use html text for install notice message.
* Implement the bubble showing number of updates available on WooCommerce -> Extensions menu. Add one to available Woo.com updates if WUM is not installed or activated.
* Update install url to new structure.
* Update download url for WUM.
* Add a method to get the id of the WUM.
* Remove WUM from available to install list of extensions on my-subscriptions tab.
* Remove the hard coded ID of the Woo Update Manager and use the slug to get the ID of the plugin based on update-check response.
* Fixing the notice generated due to empty body.
* Update CTA and image for the not connected screen.
* Increasing the left margin of the install notice to match admin notices.
* Add close button to modal with message to activate WUM.
* Add install/activate notice to Browse and Themes tabs.
* Add the view for showing admin notice for activating the plugin.
* Update plugin name on install admin notice.
* Show install or activate admin notice based on the context.
* Update comment
* Make the linked text shorter in plugin update message.
* Generate a signed auto-install URL for woo hosted plugins without helper API (#45313)
* Generate a signed auto-install URL for woo hosted plugins without helper API
* Use product slug in auto-install URL instead of product id.
* Update activate Woo Update Manager modal buttons.
* Change install url from Woo Update Manager ID to slug.
* Allow defining the menu title and page title separately for when adding menus and sub menus in WooCommerce Admin.
* Set the page title separately for WooCommerce Extensions menu.
* Fix the update count issue.
* Update the download URL for Woo Update Manager.
* Update the download link for WUM in admin notices.
* Show WUM admin notices on WC Admin pages only when the site is connected.
* Remove additional slash in plugin admin url.
* Add wum-installed parameter to the connect URL (#45702)
* Add wum-installed parameter to the connect URL
* Send status of Woo Update Manager installation on connection init.
* Revert "Add wum-installed parameter to the connect URL"
This reverts commit 4c55038b03.
---------
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Fix lint errors.
* Fix lint error.
* Fix lint errors.
* Fix js lint issues.
* Update Woo Update manager admin notice.
---------
Co-authored-by: Muhammad Anas <anastts.pk@gmail.com>
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Use WC built-in ActionScheduler
* Calling `WC_Admin_Marketplace_Promotions::init` immediately from `WC_Admin` constructor. `WC_Admin` is only instantiated in an admin request. If we init marketplace promotions from `woocommerce_init`, we'll be too late to add the callback for the scheduled action that fetches promotion data.
* Changed transient life to 12 hours to match frequency of ActionScheduler action.
* Changelog.
* Updated `fetch_marketplace_promotions` to replace the transient every time it runs. This allows more frequent changes.
* Added filter to allow promotions to be suppressed.
* Fix indentation
* More indentation fix
* Clearing scheduled action if `woocommerce_marketplace_suppress_promotions` filter returns "true".
* Running `clear_scheduled_event` on `init`.
* WP_CLI check
* We were including and instantiating `WC_Admin_Marketplace_Promotions` from the `WC_Admin` constructor. But `WC_Admin` is only instantiated during `is_admin` requests. We also need to respond to cron requests. So we're now including the class from `class-woocommerce.php` if the context is admin or cron, and instantiating it on `init`. This fixes the error in Scheduled Action `action failed via WP Cron: Scheduled action for woocommerce_marketplace_fetch_promotions will not be executed as no callbacks are registered.`
* Linter errors.
* Enhance append_bubble() method
* introduce SCHEDULED_ACTION_INTERVAL
* Make linter happier
* Linter errors.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* CYS: Fix Header/Footer template parts disappear
* Add changefile(s) from automation for the following project(s): woocommerce
* show pattern list only when the site editor is ready
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update Action Scheduler to 3.7.3
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rating filter: fix misaligned count
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix broken CSS classes and update JS unit snapshots
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* removes the star font
The WooCommerce font can hold many other icons there isn't the reason to load a font for a single icon
* updates custom templates stylesheets
* adds woff2 font format to themes customized stylesheets
* fix the star font size diff
* removes WooCommerce.eot and SVG file that are no longer needed and updates the template style in order to import from font.scss
* Optimized font import
Unifies the import of fonts by extending it to the twenty-twenty-three theme
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Svg font minification (WooCommerce.svg)
* Add changefile(s) from automation for the following project(s): woocommerce
* "star" font phasing out
The font family 'star' was replaced in all files. However, it continues to remain physically in the repo but not in the style files
* Removes the `.eot` font file since nowdays it's completely useless
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show modal when the task is completed
* Go to the assembler when the theme was already customized
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add is_read property to note data
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unnecessary type casting
* Fix boolean typecasting in DataStore and Note classes
* Restoring the original `isset( $note_row->is_read )` condition. I believe it's there for notes without this property.
* WC_Admin_Tests_Notes_Data_Store::test_read to account for return type of `get_is_snoozable`.
---------
Co-authored-by: Simran <simran.kaur@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
The plugin is installed and activated if it's not installed already
and either the Legacy REST API is installed in the site
or there's at least one webhook that uses the Legacy REST API
code for the payload (disabled webhooks also count).
Also the WC_Admin_Notices::remove_notices method is added.
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add the ability to extend/modify the steps in the product tour
* Remove unused import
* Add changefile(s) from automation for the following project(s): woocommerce
* Add data validation
* Correct import order
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix margins and make the 3rd question not required
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Conditionally show status on homescreen
* get lys link in status
* refactor launch-store folders
* remove unused function
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Disable the feature flag from the CYS.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix unrelated failing e2e test for the 'Get paid' page
* Revert "Fix unrelated failing e2e test for the 'Get paid' page"
This reverts commit d388fce212.
* Fix potential flaky test
* Revert "Fix potential flaky test"
This reverts commit 77fa2813f2.
* Temporarily remove the Can visit the WooPayments Connect page instead of setup task for supported countries test
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: elazzabi <ahmed.el.azzabi@automattic.com>
* Pass 'Sponsored' detail down to product cards from API
* Style a "Sponsored" label
* Stripe on top of sponsored products
* Add 'blob' next to sponsored listings
* Fix indentation bug
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Apply suggestions from code review
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Add missing close parenthesis following linter changes
* Make linter happier about hex colors (still needs variablising)
* Fix margins around vendor name
* Fixed height of product stripe
* Linting
* Moved color to variable and calculated alpha using Sass functions
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.scss
* Update plugins/woocommerce-admin/client/marketplace/stylesheets/_variables.scss
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Ensure the 'Didn’t find a theme you like' text is displayed exclusively at the bottom of the themes card
* Limit the display of the CYS design banner to the Themes screen.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the sample badge to dummy products on the main products list.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Deprecate DataSourcePoller
* Deprecate and move all rule processors and transformers
* Lint
* More deprecation
* Remove extra line
* Update deprecated class to not produce too many messages by limiting to unique messages
* Changelog
* Update all dependency uses, move TransformerService and TransformerInterface to Transformers package
* More dependency update
* Changelog
* Fix wrong file reference
* Lint markdown
* Lint markdown
* Add unsaved file
* Delete unused file and more lint
* More lint
* Ugh ignore faulty lint rule
* Rename variables for lint
* Update the woo.com theme link to include the back url
* Encode url to avoid losing the path param
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prepare test cases
* Shorten out the test description
* Add first test in a post with dummy expect
* Verify all content is displayed
* Add the test in Product Archive and Home Page
* Add changelog
* Add tag to Beanie product
* Switch to Beanie which is on sale to verify on sale badge
* Add comments to explain the expects
* Adjust the expected content
* Switch to lower case in expect
* Switch from woocommerce/product-summary to core/post-excerpt
* Adjust products.sh
* Improve method waiting for products to show so it;'s deterministic
* Refresh locators in template
* Remove unnecessary check
* Eslint disable: expects are extracted to function so disable eslint compaining there's no expect
* Adjust other test after amending products setup
* Change the verify happening in a wrong place
* Tests adjustments
* Revert Blog Home template before performing a test
* Fix other tests
* Change checkbox label to be inline-flex to limit the width to the content
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix changelog entry
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create and register the woocommerce/product-select-field block
* Replace the tax class radio group block by woocommerce/product-select-field block
* Hide tax fields when taxes are disabled
* Hide tax fields when taxes are disabled in product variations
* Add changelog files
* Fix linter errors
* Return formatted cost and sales price for MarketingCampaigns.
* Display formatted cost and sales number in Campaigns card.
* Use price formatting.
* Format decimal places based on currency.
* Add changelog.
* Fix type issue is useCampaigns.test.ts.
* Use wp_strip_all_tags to respect currency symbol positioning settings.
Without wp_strip_all_tags, the result contains <bdi> element, and it causes browser to show the currency symbol in unexpected unwanted position.
* Fix PHP linting issue.
* Fix tests in useCampaigns.test.ts.
* Use html_entity_decode to remove dangerouslySetInnerHTML usage.
* Remove unneeded code formatting in Campaigns.tsx.
* Add explanation comment for `get_formatted_price`.
* Fix PHP lint error.
* Use map instead of filter to get price format.
* Add code comment.
* Get currency info based on user locale or default locale.
* Use locales in locale-info.php instead of currency-info.php.
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Code formatting and fix code comment.
* Fix lint errors.
---------
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* CYS - Core: install font when user clicks opt-in
* remove debugger
* CYS - Core: fix wp-admin page visible when click on start designing
* Add changefile(s) from automation for the following project(s): woocommerce
* use sendEvent instead of redirect
* Add changefile(s) from automation for the following project(s): woocommerce
* not show wp-admin after the click on the dialog button
* use sendEventToIntroMachine
* fix font installation
* fix eslint error
* fix install font phase when the iframe is not loaded
* remove not necessary async
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add basic wp dropdown component
* use getAdminLink
* Add styling based on state
* Add changefile(s) from automation for the following project(s): woocommerce
* update store page only text
* Add better 'for now' comment
* translate links
* remove private repo link from comment
* lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use theme color to style the theme badge component
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix linting errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure field is on schema before sanitizing/validating against it
* Sanitize the key as a text field if we don't know what it is
* Add changelog
* Revert "Sanitize the key as a text field if we don't know what it is"
This reverts commit 9f5071051c.
* Revert "Ensure field is on schema before sanitizing/validating against it"
This reverts commit 109fbe766c.
* Omit unknown items in sanization
* add test doc block
---------
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* Add dummy Force Page Reload control to Inspector Advanced Control
* Add enhancedPagination attribute that decides if client side navigation is enabled
* Consume the enhancedPagination attribute
* Force client side navigation when incompatible blocks detected
* Dummy util to detect incompatible blocks
* Detect incompatible blocks in the Editor
* Switch to WordPress Interactivity package in Product Collection
* Add initial implementation of the incompatible blocks detection in frontend
* Remove leftover
* Revert to using internal version of interactivity API
* There's no Interactivity store config available in the internal Interactivity implementation so remove it
* Disable client side navigation if the incompatible block is detected
* Add default attribute value
* Switch from enmhancedPagination attribute to forcePageReload
* Fixed some misclicked line order change
* Switch from enhancedPagination to forcePageReload in PHP code
* Apply the correct filter
* Fix the incorrect condition to detect incompatible block
* Initial implementation of orange dot to bring attention
* Cleanup
* Remove the orange dot indicator
* Refactor checking for unsupported blocks
* Add changelog
* Fix PHP lint errors
* Bring back empty line at the end of pnpm-lock
* Bring pnpm-lock.yaml file to original state
* Fix incorrect function call
* Add visibility description to function
* Switch private method to public
* More linted fixes
Fires an action after a customer has logged in, and their guest session id has been deleted with its data migrated to a customer id. This hook gives extensions the chance to connect the old session id to the customer id, if the key is being used externally.
Fixes#44852
Updates the markup used to generate the Refunds page so that it is valid, semantic HTML, which in turn fixes an alignment issue.
Fixes#45213
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Adds a new filter to the legacy Active Product Filters widget that allows the attribute names to be modified.
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Disable block interactions within the editor
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Pass isPreview prop to inner blocks of the Product Filter block
* Add logic to render preview block when in Preview mode
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - fix warning
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* add snapshot tracking
* add changelog
* address feedback
* Add changefile(s) from automation for the following project(s): woocommerce
* update changelog
* Add changefile(s) from automation for the following project(s): woocommerce
* remove the extra changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add get_action_url for Payments task
* Check if plugin active before redirecting to connect page
* Add changelog
* Fix linting issues
* Point payments task to welcome page when WCPay incentive active
* Point WooPayments installed task to Connect page
* Rename WooPayments to payments
* Add from query arg
* Adjust payments task URL logic to account for suggestions logic
* Fix for partially onboarded accounts
* Replace Get paid with WooPayments
* Add new test for unsupported countries
* Add missing api definition
* Add missing baseURL
* Maybe change order of tests to fix failing test
* Revert changes to package.json (error in push)
---------
Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
Co-authored-by: oaratovskyi <oleksandr.aratovskyi@automattic.com>
* Update the transitional page.
* Update icons
* Remove unnecessary div class
* Update the styles for the transitional page.
* remove the editor param
* conditionally display the survey button
* Additional layout changes
* Streamline the classes for the icons
* Import brush and tag from wordpress/icons
* delete the custom icons from Woo as they already exist on wordpress/icons and can be imported from there.
* Update styles for adding support to mobile view.
* Update the lesson-plan icon.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update e2e tests to account for the changes made to the transitional page.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Install and activate the TT4 before any other step on the loader
* Show the loader while activating the theme
* Try running steps together in parallel
* Try to run install and global styles in the same function
* Handle when the active theme returns null
* Add changefile(s) from automation for the following project(s): woocommerce
* Add retries and types to fix lint errors
* Fix lint errors
* Fix more lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: fix wp-admin page visible when click on start designing
* Add changefile(s) from automation for the following project(s): woocommerce
* not show wp-admin after the click on the dialog button
---------
Co-authored-by: github-actions <github-actions@github.com>
Since the product collection block uses the interactivity router,
it reloads the page in the background and replaces sections
with a `data-wc-navigation-id` set. This adds the attribute
to the count block so that it can also live reload regardless
of where it is in the tree.
* Disable checkout menu when checkout block is default
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add additional-checkout-fields-test-helper wp-env plugin
* Ensure Checkout page waits for email to be visible before filling
* Handle additional fields in checkout page utils
* Add test for filling additional checkout fields
* Add additional check for gov-id validation
* Close context used for plugin-checking
* Update types for additional fields to be key/value objects
* Check billing gov-id is different to shipping one
* Move additional fields plugin to inline with checkout tests
* Use additional fields plugin from local dir
* Await email input to check Checkout block is loaded
* Add test to verify error message shows when leaving a field blank
* Update comment
* Add test for checking/unchecking checkboxes
* Update check in additional field test plugin
* Change fields multiple times in one test
* Add server-side validation tests
* Get exact matches for checkout form fields
* Remove unnecessarily translated strings
* update hook in test plugin to compare to confirmation gov id
* Fill in gov ID confirmation field
* Register a field of each type in each location
* Don't validate field unless both are filled
* Fill additional fields and check their values
* Fill additional fields
* Check select values in order confirmation
* Change the values of all field types multiple times
* Make checkout wait until not calculating before submitting
* Update tests to use all additional field types
* Blur after editing select box
* Add customer area checks
* Check shipping isn't calculating before submitting
* Add merchant-side tests for additional checkout fields
* Ensure customer data is done updating before submitting
* use waitForFunction to check for updating shipping
* Add changelog
* Ensure fields are blurred before pressing button
* Update validation error check
* Add test for logged out shopper
* make specific function to wait for checkout to be finished updating
* Add test to ensure fields are saved across orders
* Add sanitize and validate callbacks to gov id fields
* Make purchase type select field required
* Add sanitization test
* Use experimental function in test plugin
* Add standalone sanitization filter test
* Update testing plugin to use new and renamed filters
* Fix typo
* Move empty value test to logged out shopper block and check empty val
* Update tests to include tests for new validation/sanitization filters
* Add verifyAdditionalFieldsDetails function to checkout page
* Use new verifyAdditionalFieldsDetails function to improve readability
* Update second test to use new function to improve readability
* Update third test to improve readability
* Update fourth function to improve readability
* Update fourth test to improve readability
* Update guest shopper test to be more readable
* Update helper function to only return value not assert
* Remove check causing test to fail in CI
* Make check for guest shopper same as logged in
* Move guest shopper tests to their own file
* Ensure unchecking checkbox works OK
* Adding accessible markup to sale price. See #31099
This PR adds accessible markup to the sale price.
A user who only uses screen reader software can now hear and understand the original price as well as the current price.
This is important for accessibility.
Full issue: https://github.com/woocommerce/woocommerce/issues/31099
* Improving sale price string formatting & localization #31099
This PR merges in feedback from the WooCommerce team.
* Improving string translation & output. Giving RTL languages more customization with the price in the translatable string.
* Formatting regular price & sale price at the top and then inserting into the HTML below. This prevents some sloppy logic where you might print out a blank del or ins tag.
* Swapping esc_html & sprintf #31099
Reversed the esc_html() and sprintf(). This is intentional because if translations accidentally include some HTML, that could break things.
Also, stripping HTML tags in $formatted_regular_price so that the end result in the screen-reader-text span is just plain text.
* Adjusting white space #31099
Mostly removing white space for the lint checker
* Adding translator comments #31099
Adding translator comments for lint
* Add changelog
* Fix some PHPCS violations
* Fix unit tests
* Adjust E2E test
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* `wc hpos diff` command enhancements
* Add support for partial backfills to LegacyDataHandler
* Add unit tests
* Add support for partial backfills to `wp wc hpos backfill` CLI tool
* Add changelog
* Augment update_order_from_object() with args parameter
* Implement update_order_from_object() for HPOS
* Simplify partial backfill logic in LegacyDataHandler
* Move prop name validation to legacy data handler
* Apply changes to order before passing to backfill functions
* Simplify update_order_from_object() in HPOS datastore
* Simplify order update from object across datastores
* Undo change
* Minor fix for CPT version (which only takes order differences into account)
* Improve readability around ‘woocommerce_orders_table_datastore_should_save_after_meta_change’ filter
* Commit docblock suggestion
* PHPCS fixes
* Enhance unit test
* Add remove custom field for the new product editor
* Add changelog file
* Show add button when the custom fields are empty
* Ensures to always convert the metas into a string array since it can be anything
* Add changelog file
* Switch from "invoice" to "order details" in our emails.
* Revise default order details email subject text.
* Revise default order details header text.
* Bring E2E check up-to-date with latest text revision.
* Update API tests to match order detail email changes.
* Fix typo
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* Bump woocommerce-sniffs to 1.0.0 for WPCS 3.0 support
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add json config files to ci changes config
* Add admin config to Woo plugin ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show the "Design your own" banner when editing a theme which is not TT4
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Pass the active theme to the context
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add totalValue filter
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove nowrap to prevent text overflow
* Start docs for ‘totalValue’ filter
* Fix *.md lint issues
* Ignore .md lint errors for now
* Update code example and add screenshots
* Fix failing JS unit tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix - #33503
Added ISO code along with the string. So it can be searched by using country code.
* Fixing linting issues
Added space with single quote to fix linting issue.
* fix linting issues
* add changelog file
* use emdash for separating data
* update test to new format
* include ISO code in settings test fixture
---------
Co-authored-by: daniyal.ahmad1992@gmail.com <daniyal.ahmad1992@gmail.com>
* Update html-product-attribute-inner.php
Add a new filter `woocommerce_admin_terms_metabox_datalimit` to change the value of data-limit. See #37548 for more context.
* Update html-product-attribute-inner.php
* Creating a changelog file again
* update @since tag
* tweak changelog file wording
---------
Co-authored-by: Saif H. Hassan <67080558+Babylon1999@users.noreply.github.com>
* Introduce the new 'Design your own' button in the themes screen.
* unify the SCSS margins
* Add double quotes for woocommerce-marketplace__sub-header
* Add the CYS banner to the marketplace.
* Ensure each child in a list should have a unique 'key' prop
* Update the NoAIBanner component to direct users to the CYS flow.
* Add the customizeStoreDesignUrl const
* Ditch navigateOrParent
* Add the 'Browse the WordPress.org theme directory to discover more' link.
* Ensure the warning Modal is displayed whenever the user clicks on the 'Design your own' button and their current active theme is not TT4
* Remove the unnecessary fragment
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set field IDs
* Validate post code only when it is actually required
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Update test snapshot
* Update test snapshot
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update mercado copy
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create woocommerce/product-custom-fields block
* Register woocommerce/product-custom-fields block
* Add product-custom-fields block to the simple product template
* Create useCustomFields hook
* Create empty state
* Create CustomFields component
* Add custom fields table
* Add custom field remove button
* Hide the custom fields table base on the toggle value
* Remove non list features
* Add changelog files
* Fix linter errors
* Fix empty state styles
* Fix php linter error
* Remove context from the woocommerce/product-custom-fields-toggle-field block definition since it is not used
* Change url for the Read more about custom fields
* Register metaboxhidden_product user meta as a user rest field
* Create useMetaboxHiddenProduct to manage the user metaboxhidden_product meta field
* Create woocommerce/product-custom-fields-toggle-field block
* Register woocommerce/product-custom-fields-toggle-field block
* Create product-custom-fields feature flag
* Hide custom fields behind the product-custom-fields feature flag
* Add changelog files
* Get default postcustom user meta value when the metaboxhidden_product does not exist yet in the user object
* Fix the CYS Opt-in modal buttons and checkbox styles
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add product archive header template and re-hook
Moves the product taxonomy archive header into its own template file,
creates a related output function, and then re-hooks the new template
back into the archive-product.php file in the same place, via the
'woocommerce_before_main_content' hook, priority 40.
This is so that this template part can be removed/unhooked via the
'remove_action' function, which is a cleaner approach than template
overrides or additional style changes.
Resolves: #33672
* add product archive header template changelog
* bump template versions
* bump template versions correctly
* add a new hook in the archive-product.php template for the header template
* fix: make the dropdown hidden by default
* fix: price clause
* fix: variable name in attribute clause generator
* chore: changelog
* fix: flashing issue for dropdown has selected items
* Prevent invalid price range selection in Product Filter Price block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* changed filter by attribute filter options order
In filter by attribute, order of the filter conditions "ALL" and "ANY" reversed as requested.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the PluginInstaller class
* Add changelog file
* Fix linting issues
* Changes in the installer:
- Allow installS from the WordPress.org directory only
- If the installer name is WooCommerce, throw if the caller is not
in 'includes' or 'src' in WooCommerce core
- Remove two unnecessary includes
- Check if WP plugin upgrader classes already exist before
executing the includes for them
- Get the installed plugin info using the plugin_info method
of the plugin upgrader class
* Remove the get_installed_plugin_info method as it's no longer used
* Log plugin install only on sites with WooCommerce active
* Show the default header and footers as the first option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: improve font installation with the async job
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add LYS task default values
* Add changelog
* Add unit tests
* Init LaunchYourStore task only when feature flag is enabled
* Add action to woocommerce class
* Remove WCAdminHelper use
* Add lys options to permission list
* Set launch-status option
* Fix woocommerce_store_pages_only
* Use WC_Install::is_new_install() instead
* Use woocommerce_newly_installed action
* Check if feature flag is enabled
* Use singleton WooCommerce object in tests
---------
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Set initial vlaue of Created filter for New Arrivals collection
* Add changelog
* Remove a check for products in tests as they may not really be displayed
* Adjust the New Arrivals test
* Adjust the tests logic after the change
* Bring back previous formatting
* Bring back function closure removed by mistake
* Unskip Mini Cart i18n test
* Install language packs before each i18n-related test suite
* Delete translations.sh
* Add changelog
* Replace deprecated WP-CLI command
* Remove obsolete WP-CLI command
* Support div setting type
* Add wc_settings_general_site_visibility_slotfill slotfill
* Add site visibility setting section
* Add placeholder
* Rename div to slotfill_placeholder
* Add comment
* Fix component name
* Add changefile(s) from automation for the following project(s): woocommerce
* Use unique id
* Rename option names
* Put LYS settings behind launch-your-store flag
* Move Site Visibility header to component
* Lint fixes
* Lint fixes
* Use woocommerce-settings scope
* lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR short-circuits wp_delete_post() so that when HPOS is authoritative, any attempts to delete the backup post are not successful (which could also end up deleting the HPOS order). This only applies to non placeholder posts, as placeholder posts won't trigger the cascade of operations that might be problematic here.
Fixes#42746
* improve logic to ensure that the font is active
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set default width after logo update
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add subquery for simple products
* Update query to make use of product lookup instead
* Add changelog
* Revert change
* Update PHP tests and fix lint errors
* Move subquery out to its own variable to make it more readable
Previously there was one single locally cached instance of the notice names array that wasn't aware of switch_to_blog executions. Now in multisite setups one separate array is kept for each existing blog id.
* CYS: fix footer large pattern - use only one navigation block
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix styling issue in the Editor when Inline input fields is enabled
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix styling issue on the Frontend when Inline input fields is enabled
* Fix css lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add block preview to filter blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add missing `name` attribute to min and max input fields
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "[e2e tests blocks] Configure the number of shards for each matrix project (#45212)"
This reverts commit 72789656cf.
* trigger CI
* run E2E tests
* restore ci.yml file
* trigger E2E tests
* disable E2E tests about mini cart translations
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix the setupAndFetchQueryContextURL utility
* add comment
* Remove obsolete test
* Blocks E2E: Update timeout values (#45353)
Set timeout values same as core
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
With the availability of other unique characteristics
for identifying collection blocks, it is no longer necessary
to keep this attribute. Since it has not been used it is safe
to remove it without a deprecation cycle.
* Check also the number of inner blocks before checking the attributes
* Add classes to assembler footer patterns
* Add classes to assembler header patterns
* Add changefile(s) from automation for the following project(s): woocommerce
* Mark the current homepage template as selected
* Remove unused import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix styling for select in Site Editor
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure the user is directed to the in app marketplace whenever clicking on 'Browse all themes' on core.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure the active theme switch modal is displayed only if the theme is different than TT4
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Check if $available_methods is not empty, rather than isset
This encompasses two checks in one, it encompasses isset AND count( $available_methods ) > 0
* Bump template version
* Add changelog entry
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Prevent fresh_site option from being set to 0 after publishing default pages
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Typo fix
* Add is_site_fresh function
* Update comment
* Add a test for is_fresh_site
* Check fresh_site option first
* Add test for checking fresh_site=1
* Fix lint errors
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix intro CYS logo and site title
* Add changefile(s) from automation for the following project(s): woocommerce
* Improve format
* Fix logo motion
---------
Co-authored-by: github-actions <github-actions@github.com>
* Allow `—re-migrate` to work even when `—verbose` is not set
* Add changelog
* Docblock update
* Indicate that remigration was attempted in errors array
* Update wc-product-functions.php
Determine if a product is on sale based on regular price, which is how its done in the WC_Product class 7122669d44/plugins/woocommerce/includes/abstracts/abstract-wc-product.php (L1633)
* Add changefile(s) from automation for the following project(s): woocommerce
* added missing placeholders
* Update 43011-patch-1
* Add changefile(s) from automation for the following project(s): woocommerce
* Re-trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Minor updates to README
* Add changefile(s) from automation for the following project(s): woocommerce
* Fixed typo
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Link to discussion in custom fields API
This adds the discussion link in custom fields docs.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure is_super_admin REST field contains correct value
Adds a user ID parameter to the is_super_admin() check so that it will
return the value of the specified user rather than the current user.
Fixes#42893
* Add changelog file
* Update workflow to use latest checkout actions
* Update non-HPOS workflow as well
* Update additional actions
* Set a slow test threshold at 30 seconds (15 is default)
* Final action updates
* Slow tests has to be an object
* Pin external actions to commit
* Slow test threshold and max
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Add range rule in Remote Inbox Notification
* Add changefile(s) from automation for the following project(s): woocommerce
* Add range
* Add changefile(s) from automation for the following project(s): packages/php/remote-specs-validation, woocommerce
* Update README.md
* Fix lint errors
* Make sure right-hand is an array with two elemetns -- range
* Update README
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* clear out unneeded github files from block folder
* copy changelog to woocommerce folder
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
* CYS: Override the header and footer
* fix unit test
* fix lint error
* Add changefile(s) from automation for the following project(s): woocommerce
* fix opacity
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR brings to HPOS the dropdown of custom fields that is available for regular posts in the WP admin edit screen.
This dropdown lists a selection of non-private meta keys from all other orders allowing easy re-use.
Fixes#44029
The `\WC_Checkout::create_order_line_items` method assigns values to properties of the `WC_Order_Item_Product` class which did not exist.
PHP Deprecated: Creation of dynamic property WC_Order_Item_Product::$legacy_values
PHP Deprecated: Creation of dynamic property WC_Order_Item_Product::$legacy_cart_item_key
Fixes#38857
---------
Co-authored-by: Néstor Soriano <konamiman@konamiman.com>
* Update the copy for the terms and conditions on WooCommerce.
* Remove the closing round brackets
* Add changelog for: Update the copy for the terms and conditions on WooCommerce
* Update the snapshot test
* improve label for woo.com tracking setting
* update snapshot
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* CYS - Core: fix font load when user opts out of tracking
* remove comment
* Add changefile(s) from automation for the following project(s): woocommerce
* fix array to pass to FontFamiliesLoader
* fix crash
* fix font pair selected after the setup
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add static method for getting the log directory
* Add filter for customizing the log directory path
* Handle case where constant is already defined
* Do directory creation on the fly instead of during install
* Replace all Core usages of WC_LOG_DIR
* Ensure each site's log handler setting is respected
* Add unit tests
* Fix legacy logger unit tests
* Update docs
* Regenerate docs manifest file (required by GitHub CI)
---------
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* Add missing typography settings for the Site Title block
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unnecessary fontStyle attribute
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent accessing product if there's no product yet in ProductStockIndicator block
* Prevent accessing product if there's no product yet in ProductSaleBadge block
* Add changelog
* Fix linter
* Pass additional context to the woocommerce_blocks_hook_compatibility_additional_data hook which is a class name in which it was called
* Add changelog
* Lint fixes
* Remove unnecessary import
* Make top seller query compatible with HPOS
* Add compat `get_count_for_type()` method
* Make dashboard widget compatible with HPOS
* Add changelog
* PHPCS fixes
* Add unit test
* PHPCS — we meet again.
* Remove test/debug comment.
Clearing this up also means linting passes for this file :-)
* Changelog.
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove extra changelog (deconflict with CI changelog tool).
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the color palettes for the highline theme.
* Add the color palettes for the luminate theme.
* Add the color palettes for the nokul theme.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
- Define custom element for order-attribution
to move DOM manipulations to JS only.
To support multiple checkout & register forms on the same page.
Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Update path to intro when exiting the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix styling
* Fix linting error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update webpack config to use file content hash for chunks and generate asset php for styles
* Use StyleAssetPlugin to generate style.asset.php
* Remove unneed ?ver=<version> code
* Use file hash from asset file when SCRIPT_DEBUG is off
- Use file hash to load scripts/styles ?ver=<file hash>
- Add register_style() method to WC_Admin_Assets
* Load payment method promotions in admin_enqueue_scripts
* Add changefile(s) from automation for the following project(s): @woocommerce/product-editor, woocommerce
* Add json2php
* Update doc
* Update pnpm-lock.yaml
* Fix add_print_shipping_label_script
* Add a comment to style-asset-plugin.js
* Change register_style to use WC_ADMIN_DIST_CSS_FOLDER
* Reset the outputNormal object to avoid duplicate files
* Fix type error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Reduce product count calls via transient caching
* Check has_previously_completed first
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add upgrade notice for the fonts feature whenever WP is outdateed or the user did not grant us consent.
* Add styles for the woocommerce-customize-store_sidebar-typography-upgrade-notice class.
* Update the upgrade conditionals.
* Introduce the new modal for the user to opt in to usage tracking.
* Add the CSS for the woocommerce-customize-store__opt-in-usage-tracking-modal
* Implement the sendEvent to OptInDataSharing
* Fix typo.
* Make sure the opt in button is disabled if the opt in checkbox is unchecked.
* Update the styles for the woocommerce-customize-store__opt-in-usage-tracking-modal
* Update the styles to allow changes to the link
* Set Cardo + System Sans-serif as the default fonts if the usage tracking wasn't allowed.
* Set Cardo + System Sans-serif as the default fonts if the Font Library is unavailable.
* Add the Jost + Instrument Sans font pairing.
* Update copy for the upgrade notice to remove mentions to Gutenberg.
* Replace the Link component with the Button component.
* Ensure the woocommerce_allow_tracking option is properly updated whenever the user opts in.
* Add the new Inter + Cardo font pairing.
* Redirect user to the loading screen so all relevant fonts can be installed for them.
* Render the FontPairing component only if the isFontLibraryAvailable. Update the link to download the latest version of the core of WordPress.
* update the fontPairings constant.
* Update styles for buttons and links.
* Add changefile(s) from automation for the following project(s): woocommerce
* Make sure the dispatch for updating the option is async so the page redirect is not triggered before the option is saved to the database.
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Introduce the new theme switch warning modal.
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove the unnecessary CheckboxControl
* update the copy & replace 'can' with 'could'
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add with-product-variations.tsx
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add types for ProductVariationItem
* Fix ESLint errors
* Remove JS file
* Replace Product with ProductResponseItem interface
Initially, a Product interface was created to add the required types; however,
it was pointed out that the @woocommerce/types alias already provided an interface
for products (the ProductResponseItem interface).
* Remove returning types definition
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update collections.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add show-prepublish-checks-section
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/prepublish-panel.tsx
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Add show-prepublish-checks hook
* Refactor prepublish panel button visiblity
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
# Conflicts:
# packages/js/product-editor/src/components/header/header.tsx
* Fix footer styles
* Add changelogs
* Add content div
* Fix styles
# Conflicts:
# packages/js/product-editor/src/components/prepublish-panel/style.scss
* Rename recorded action
* Fix styles
* Hide panel after unchecking option
* Improve resolving
* Add new E2E test for merchant transforming classic cart to cart block (#44926)
* Update the monorepo-utils gitignore to only include index.js and its license file. (#44932)
* Fixed `@woocommerce/plugin-woocommerce` Watch (#44930)
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Update core package.json to remove nightly ci config (#45096)
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update blocks build message (#44811)
* Update blocks build message
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* Update plugins/woocommerce/src/Blocks/Domain/Bootstrap.php
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
* [CYS on Core] Update the themes list on the intro screen (#44822)
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: Veljko V <veljano@yahoo.com>
Co-authored-by: jonathansadowski <jonathansadowski@users.noreply.github.com>
Co-authored-by: Christopher Allford <6451942+ObliviousHarmony@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Roy Ho <roykho77@gmail.com>
Co-authored-by: Patricia Hillebrandt <patriciahillebrandt@gmail.com>
* Fixed errors in file documentation syntax.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update assembler sidebar link when no AI available
* Update the sidebar section title depending on the flow
* Revert unnecessary changes
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing text domain
* Fix test
* Tweak the footer section copy
* Update the design homepage section description
* Chage footer description only on Core
* Add changefile(s) from automation for the following project(s): woocommerce
* Update copy
* Fix code duplication
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use outline instead of border, so the border width does not affect the card size
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Mark the products task as completed only if products were user created
* Consider the edited products as user products
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update themes list on core. Update the themes data and remove hardcoded reference to free themes.
* Update styles for the Free, Paid and active cards.
* Add the color palletes to TT4 theme.
* Update the references for default and core themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update the link to TT4 theme
* Update default value for price.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update core package.json to remove nightly ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
By default `nodemon` only watches for JS file changes. This expands the
config so that it watch the file extensions that are actually
produced by builds.
* Refactor No Reviews Placeholder component from JavaScript to TypeScript
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix file import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fixing filtering by tabs in `Promotions` component.
Using reference to WC_Admin_Marketplace_Promotions::TRANSIENT_NAME when outputting JS data for promotions, instead of transient string.
Better initialisation of wc global object in the inline script.
* Changelog.
* Using global var for marketplace.
* More tentative reference to global object.
* icon TS error
* Updates example plugin for Activity Notes to include namespacing of `Automattic\WooCommerce\Admin\Notes\Note` and `Automattic\WooCommerce\Admin\Notes\Notes`. Without this, the example doesn't work in `wp-content/plugins`.
* Added changelog.
* Moves calls to `recordMarketplaceView` and `recordLegacyView` to the `finally` of the `useEffect` in the Content component. Calling these functions at the top of the hook is recording a view for the default screen and then a view for the My Subscriptions screen when you go directly to My Subscriptions.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix incorrect link in docs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Revert "Restore nonce and store notices after hydrating data from controllers. (#44790)"
This reverts commit 2535dd766e.
* Revert "Build path info directly instead of loading REST API. (#44080)"
This reverts commit 4daa3f31f1.
* Add changelog.
* Update assembler sidebar link when no AI available
* Update the sidebar section title depending on the flow
* Revert unnecessary changes
* Add changefile(s) from automation for the following project(s): woocommerce
* Add missing text domain
* Fix test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update footer large twitter icons to X
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
The code was mistakenly assuming that any controller class name not
starting with WC_REST_ was handled by the container, but other
plugins may register their own controller classes that use
a different naming convention.
* Fix typos.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
- Expose public method to render OA input fields
- Render OA inputs on `woocommerce_checkout_after_customer_details`
in case the checkout form does not contain `woocommerce_checkout_shipping`, `woocommerce_after_order_notes`.
Addresses part of #44159
Co-authored-by: Justin Palmer <228780+layoutd@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Update shipping method btn text on create
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Update the (REST API v1) orders controller to use the currently supported means of accessing coupon information.
This avoids the generation of deprecation notices, which are problematic for some users who cannot yet update to API v2 or higher.
Fixes#39006
* Added `WC_Admin_Marketplace_Promotions`, with logic to get promotions from https://woocommerce.com/wp-json/wccom-extensions/3.0/promotions and display them
- Calling `init_marketplace_promotions` on `woocommerce_init`. If we're on the WooCommerce Home or Extensions pages, this calls `fetch_marketplace_promotions` to get promotion data from the transient or else the API.
- If we're on any admin page, calls `show_bubble_promotions` to render menu item bubbles, if there are any.
- Changed method `WC_Admin_Addons::fetch_with_locale` to `WC_Admin_Addons::fetch` and added `$options` parameter, so we can fetch without passing locale. We want to keep requests for promotions as uniform as possible for better caching.
* Fetching promotions on all pages in the WooCommerce admin menu.
* Changed WC_Admin_Marketplace_Promotions to fetch promotions in a scheduled action.
* Added extra condition to check if `$auth['access_token']` is set.
* Introduce Notice component
* minor alignment fix
* Fix MD title increment
* Fix readme lint
* add changelog entry
* fix CSS lints
* Small tweaks.
Regularising the spelling of isDismissible.
Using sanitizeHTML to sanitize the notice description.
Making the variant classes like &-success to make them a bit shorter.
Adjusting wording of README to convey that this component is designed for the marketplace, though it can be used elsewhere.
Tweaking whitespace in one place in the TSX to please the linter.
* Update plugins/woocommerce-admin/client/marketplace/components/notice/notice.tsx
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* address feedback
* Changed notice classnames to use `__{$variant}` pattern as well. Restored 40px bottom margin to notices on viewports 600px and above. Added height 24px on icons to ensure they're nicely vertically centred.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
* Convert Reviews Editor code to TypeScript
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* add imageSizing attribute to the product catalog template
* add attribute for the product search results template
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* improve logic to find active fonts
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
* Open templates from list instead of loading the URL in block templates e2e tests
* Typo
* Clean up
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Make sure correct template is loaded
* Create a TemplateType type to avoid having to define it in several places
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor store usage
* Prepare function resolving inherit property for additional check
* Add logic to disable sync with query if there's already one Product Collection on archive that does that
* Add changelog
* Cover the post editor case
* Add E2E test for that and small refactor in tests
* Remove duplicated import
* Fix lint problems
* Fix typo in test description
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
* Replace confusin abbreviation with other description
* Update the logic to be more robust and covering also the case where Product Collection blocks are nested
* Add issue reference to the comment
* Add eslint disable before ts-ignore
---------
Co-authored-by: Alexandre Lara <allexandrelara@gmail.com>
* Add phpunit-watcher to automatically rerun PHPUnit tests when source code changes
* Update unit tests docs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add animation for client-side pagination
This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.
These updates aim to provide a more engaging and responsive interface for users navigating through product collection.
* Enhance accessibility for product collection navigation
This commit introduces several improvements to enhance accessibility and user experience. Specifically, it adds new context properties to manage accessibility messages during the navigation process, including messages for loading and when a page has loaded. These changes ensure that screen reader users receive appropriate feedback during navigation.
Changes made:
- Added `accessibilityMessage`, `accessibilityLoadingMessage`, and `accessibilityLoadedMessage` properties to the `ProductCollectionStoreContext`. These properties store messages to be announced by screen readers during different stages of page navigation.
- Implemented logic in the product collection store to update the `accessibilityMessage` during the start of navigation (showing a loading message) and upon completion (showing a loaded message).
- Utilized a technique to ensure that consecutive identical messages are still announced by screen readers, by appending a no-break space to the message if it is the same as the previous one. This follows a pattern similar to the `@wordpress/a11y` package.
- In `ProductCollection.php`, enhanced the block's HTML output to include these new accessibility messages and integrated them with the existing interactive data attributes. This ensures that the front-end components are fully prepared to handle these accessibility enhancements.
- Added a new `div` with `class="screen-reader-text"` and `aria-live="polite"` attributes, which dynamically displays the accessibility message based on the navigation state. This div complements the visual pagination animation with an accessibility-focused mechanism for announcing the page load states to screen reader users.
By addressing accessibility considerations with these enhancements, we're making Product Collection navigation more inclusive and user-friendly for all users.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add spacing in Checkout block page
* Add spacing in Order summary block
* Update responsive styles for order summary panel
* Update styles for cart and cart line items table
* Update styles for order summary and cross-sells products
* Remove unnecessary CSS styles from cart line items table and cart block
* Remove unused CSS class from cart line items table
* Fix linting errors
* Add changelog
* Fix changelog lint
* Update quantity selector style
* Increase the line-height of the set description and remove margin top from email field
* Add margin-top to order summary image and express payment margin adjustment
* Update styles for cart and checkout components
* Fix linting error
* Fix margin units in cart-cross-sells-products
* Replace em with px
* Add margin-top to payment method container
* Update styles for Cart block for mobile screen
* Update padding in cart style.scss
* Fix removal of express payment method from state
- Correct the logic for removing an express payment method from the availableExpressPaymentMethods state object.
- Previously, the deletion targeted the incorrect object, leading to incorrect change in state. Now, the correct entry is removed using destructuring and rest parameters, ensuring the express payment method is properly deleted.
* Revert "Fix removal of express payment method from state"
This reverts commit 8e24553794.
* Fix typo error in the reducer
* Add unit to make sure correct express payment method is removed
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove payment method descriptions from express and fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add bottom margin to the pattern
* Increase the height of the pattern to match designs
* Replace intro patterns on Core
* Add changelog
* Update the default intro to be hero product split
* use the WC core version to hash WC blocks assets
This is because the previous hash was generated using WC blocks version, which hasn't been updated since joining the monorepo.
* Make class variable to hold new prefixed wc version
* Add changelog
* Add var type to new class property
* Add prefix to prevent collission
* also use wc version for styles
* make variable public
---------
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* Clear billing address when useShippingAsBilling checkbox is unchecked
* Add billing address sync with server
* Add useRef hook to store previous billing address and update sync functions
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Revert "Add useRef hook to store previous billing address and update sync functions"
This reverts commit 7bc3312ab7.
* Added condition to clear address only for guest users
* Add E2E test to check billing address form is empty for Guest shopper
* Fix typo
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Updated docs-manifest.json
* Revert "Updated docs-manifest.json"
This reverts commit 20d578a9d6.
* Include company field in the E2E test
* Replace beforeAll with beforeEach
* Skip country reset to keep consistency with Shortcode Checkout
* Remove sync billing address on server
* Update E2E test to include the shipping address check
* Remove unsed imports
* Clear address fields except country and state
* Optimize the billing and shipping address check with switch statement
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Add animation for client-side pagination
This includes:
- Addition of animation state management in the frontend file to control the visual transition between pagination states.
- Introduction of new SCSS rules for the start and finish animations, ensuring a seamless and visually appealing pagination experience.
- Modification of the PHP logic to inject necessary HTML for the animation to be applied.
These updates aim to provide a more engaging and responsive interface for users navigating through product collection.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Allow user clicks under product collection's loading animation
This commit enhances the user experience of the loading animation for the product collection block. Changes include:
- Specifying `transform-origin: 0% 0%;` directly within the block's initial style to indicate the animation should start from the left
- Adding `pointer-events: none;` to allow user interactions with elements underneath the loading animation, thus improving usability by not blocking clicks.
Additionally, redundant `transform-origin` properties were removed from the `@keyframes` declaration to clean up the code and avoid unnecessary repetition. This simplification contributes to both the maintainability and readability of the stylesheet.
* Fix linting errors in SCSS file
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add checks and unit tests to Transformers
* Add changelog
* Update docs
* Fix test
* Set the default value to an empty array
* Set default value to array() for ArrayColumn
* Dont render attribution metabox for non-supported order types.
* Use a screen check instead of order type check for better compat.
* phpcs fix
* Remove unnecessary call.
* Handle empty block content in process_pagination_links method
This commit introduces a check for empty block content in the `process_pagination_links` method of the `ProductCollection` class. This change ensures that if the block content is empty, the method will immediately return the original content without attempting further processing. This enhancement prevents potential errors or unnecessary processing steps on empty content.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Ensures that even if `wp_get_attachment_metadata` returns an unexpected value due to a filter, the `get_full_size_image_dimensions` method will handle it correctly and not throw an error.
Fixes#40393
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Rename test
* Updated tests to use work with more reviews
* Add changelog
* Add new test: can filter the reviews by product
* Fix lint errors and warnings
* add wc_get_valid_product_statuses
* add support for sku
* add unit tests for the `product_page` shortcode
* add `woocommerce_shortcode_product_page_override_read_permissions_unpublished` filter
* keep a list of invalid statuses instead of valid ones and allow overriding it
* move deprecation notice handling into methods
* appease the linter
* remove `visibility` attribute
* ensure we remove the filters that we add in a test
* allow overriding read permissions in both directions (or not at all)
* add sku-based tests and remove some superfluous testing data and asserts
* add back in missing variable
* remove superfluous `hidden` visibilities
* add changelog file
---------
Co-authored-by: Leif Singer <git@singer.sh>
* Prevent file-sniffing through the product editor's downloadable files UI.
Before now, files that do not exist and files that exist outside an approved directory led to different error messages. This meant the latter could be taken as an indicator that a given file exists.
* Correct initial indent.
---------
Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
* Add sharding to Blocks e2e tests
* Changelog
* Push a change to Blocks README to trigger tests
* Fix syntax
* Fixed again
* Try again
* Trying to get the shard number
* Shard names
* fix E2E test
* complete all the jobs
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Fix Gutenberg links in the docs pointing to the wrong branch
* Add changefile(s) from automation for the following project(s): @woocommerce/notices, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/components, woocommerce-blocks, woocommerce-beta-tester, woo-ai
* Fix markdown lint errors
* Fix wrong link in the docs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix docblock
* First pass at backfill CLI tool
* Use ‘posts’ instead of ‘cpt’ in legacy data handler
* Include posts to HPOS migrator in LegacyDataHandler
* Add backfill method to legacy data handler
* Add tests
* Add changelog
* Appease linter
* Rename <id> to <order_id> in WP-CLI docblock
* Make from/to datastore argument mandatory
* Improve handling of invalid order types
* PHPCS fixes
* Restore use of _table property, for consistency with other methods.
* Ignore interpolated/unprepared variable warning (we're referencing a table name).
* Changed Make the structured data price of group products refer to the latest child product price.
* Add changelog
* PHPCS fixes
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
The `watch:build` setup in this package does not conform to
the expects format and so the build command was not being
run. This fixes that and ensures it gets executed correctly.
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Mike Jolley <mike.jolley@me.com>
Co-authored-by: github-actions <github-actions@github.com>
* EditorLoadingContext
* Use EditorLoadingContext
* Remove fallbacks
* Make sure metadata exists before using it
* Add header loading state
* Do not return skeleton
* Use EditorLoadingContext
* Update editor loading state
* Remove ProductPageSkeleton
* Remove unused import
* Remove unused import
* Handle undefined variationId and parentId in VariationSwitcherFooter
* Remove ProductPageSkeleton
* Include productId in determination of whether editor is loading
* Handle variation loading
* Fix rebase merge conflict mistakes
* Fix layout margins
* Show welcome tour and feedback bar after editor has loaded
* Changelogs
* Make loading context experimental
* Reduce the `woocommerce-customize-store-banner-content` width to better fit the copy
* Add changelog
* Remove the image placeholder and improve margins
* Add changelog
* Reduce the `woocommerce-customize-store-banner-content` width to better fit the copy
* Add changelog
* Increase the width to fit the sentence in one line
* Only show customer history box if WooCommerce Analytics are enabled
* Use requests to /reports/customers endpoint for customer history data
* Don't reinvent the wheel - use customer analytics data for Cust. Hist.
* Remove Customer Order Count from tracks data
* Simplify the customer history process
* Omit Customer history content when adding a new order in wp-admin
* Early return to reduce complexity
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Simplify matching customers
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Remove unnecessary method
* Use Customers Query directly to get customer history data
* Template version bump
* Move the customers query to CustomerHistory
* Only show customer history box if WooCommerce Analytics are enabled
* Use requests to /reports/customers endpoint for customer history data
* Don't reinvent the wheel - use customer analytics data for Cust. Hist.
* Remove Customer Order Count from tracks data
* Simplify the customer history process
* Style and legibility fixes
* Template version bump
* Add changelog
* Omit Customer history content when adding a new order in wp-admin
* Early return to reduce complexity
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Simplify matching customers
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Remove unnecessary method
* Use Customers Query directly to get customer history data
* Template version bump
* Move the customers query to CustomerHistory
* Match default params
* Simplify Customer Query params (cache key match with API is much harder)
---------
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Logging: Add filter to modify the list of expired logs to be deleted
This provides a way for extensions to ensure that some log files are
retained for a different time period than the normal
retention period setting.
* phpcs cleanup
* Add changelog file
* Add note to settings view when hook has filter on it
Also remove the note about retention days from the log entry that's
generated when expired log files are deleted
* Clarify when the custom message is used in useConfirmUnsavedChanges
* Changelog
* Load translations for wc-navigation and wc-product-editor scripts
* Changelog
* Fix field saving in account area
* Check for error notices in core form handler
* Tidy up additional field saving in api
* sanitize_additional_fields does not expect request
* Validate fields with extra context
* Revert "Tidy up additional field saving in api"
This reverts commit 872c8f4afb.
* Tidy update_customer_from_request
* validate_field docs
* Validation and sanitization hooks
* Address schema validates fields and address location
* Validate locations
* Frontend validation
* Remove empty error response
* Document account details hook
* field_key
* Improve validation routine
* Changelog
* Swap key and value in woocommerce_blocks_validate_additional_field hook
* woocommerce_blocks_validate_location_X_fields
* Validation and sanitization callbacks
* Update try catch blocks
* Use wp_kses_post to sanitize coupon codes
* Fix notice (php 8)
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicate changelog entry
* Try alternative wp_kses function
* Account for unfiltered_html
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
* Early implementation of getting the Product Collection location/context
* Solve the problem of async fetch in the hook
* Improve typing
* Import core data store instead of hardcoding store name
* Recognise Product Category and Product Tag
* Remove attr property from archive location data
* Unify states naming
* Add TODO entry
* Display the info about the location of Product Collection
* Improve the typing
* Recognise if Product Collection is nested in Single Product block
* Improve cases descriptions and add some defaults to potentially undefined values
* Change the taxonomies sourceData
* Recognise Mini Cart as Cart context
* Recognise attribute as archive contect but no taxonomy
* Refactor the function into single useEffect and clean it up
* Fix typo
* Remove unnecessary import
* Stop rendering the output in Editor (it was for demo purposes)
* Pass location data to Product Template query in Editor
* Replace templateSlugs literal strings with object reference
* Rename parseResponse function to more specific name getIdFromResponse
* Add dpeendency array to useEffect
* Refactor templates detection
* Use full taxonomy names instead of shortcuts
* Write down scenarios to test
* Working scenario
* Change the verification way for more robust
* Add more robust methods to include Single Product block
* Add test Product Collection in Single Product block in a Single Product Template
* Imprvoe the order of veryfing the requests
* Fix linter issues. Although that makes code less readable
* Improve the useGetLocation typing so it's more generic
* Rework the E2E tests regarding location of Product Collection and limit their number
* Bring back necessary eslint-disable
* Remove unused imports
* Uncomment line required for other tests
* Add changelog
* Rename constant from BLOCK_NAME to BLOCK_SLUG as it's a slug
* Add a BLOCK_NAME constant and replace the literal block name usages in E2E tests
* Fix post merge issues
* Fix test after merge
* Adjust the tests to kick off waiting for request before action that triggers them
* Fix for the DI container resolution by tag.
This fixes an issue that arises when using service providers inheriting
from AbstractInterfaceServiceProvider: if one of these providers
registers classes both by name and by tag, and one of its registered
classes is requested with 'get' by name before a list of classes is
requested by tag, then that service provider gets locked as the only one
providing that tag, and the others get ignored. This is due to the fact
that container definitions are created "on the fly" as needed and the
base 'get' method won't try to register additional providers if the
requested tag is already provided by at least one of the already
existing definitions.
* Add changelog file
* Add a unit test for the fix
* CYS - Core: Ensure that the bodoni font is loaded
* CYS-Core: install fonts via async job
* ensure that the font are installed only when the Font Library is installed
* improve documentation and validation
* add changelog
* remove unused class
* remove not necessary changes
* improve documentation
* improving naming
* improve documentation
* fix PHP linter
* fix phpdoc comment
* Make attributes available in rest_product_query hook
This commit introduces the 'includeInQueryContext' attribute to the 'woocommerce/product-collection' block and updates the 'woocommerce/product-template' block to consume this new attribute.
Key Changes:
1. `woocommerce/product-collection` Block:
- A new attribute 'includeInQueryContext' is added in `block.json`. This attribute is designed to hold a list of attribute names relevant for the query context.
- The 'includeInQueryContext' attribute is included in the `providesContext` field to ensure its availability to child blocks.
- In `constants.ts`, default values for 'includeInQueryContext' are defined, specifying 'collection' and 'id' as initial attributes.
- The `types.ts` file is updated with a comment explaining the purpose of 'includeInQueryContext'.
2. `woocommerce/product-template` Block:
- Modified `block.json` to utilize the 'includeInQueryContext' context provided by the parent `woocommerce/product-collection` block.
- The `edit.tsx` file is updated to handle the new context. It uses a newly added utility function `useProductCollectionBlockAttributes` from `utils.tsx` to access parent block attributes.
- The `utils.tsx` file is introduced, containing the `useProductCollectionBlockAttributes` hook. This hook is responsible for finding the parent 'woocommerce/product-collection' block and returning its attributes.
- Within `edit.tsx`, logic is added to create a query context object based on the attributes specified in 'includeInQueryContext', enhancing the block's ability to dynamically adapt to changes.
* Remove commented code
* Rename query context attribute and optimize parent block detection
This commit introduces two significant changes aimed at improving code readability and efficiency.
1. **Renaming of Query Context Attribute:**
- The attribute `includeInQueryContext` has been renamed to `queryContextIncludes` across various files, including block JSON configurations and TypeScript definitions. This change makes the attribute's purpose more intuitive, indicating it specifies which attributes to include in the query context.
2. **Optimized Parent Block Detection:**
- Replaced the use of `getBlockParents` with `getBlockParentsByBlockName` in utility functions to find the closest Product Collection block. This optimization allows for a more direct and efficient way to identify the relevant parent block by specifying the block name, reducing unnecessary iterations and improving code performance.
* Streamline query context construction in product template
Key Changes:
- **Introduction of `useProductCollectionQueryContext` Hook:** This new hook takes the `clientId` and `queryContextIncludes` as inputs and returns a query context object. It encapsulates the logic for fetching parent product collection block attributes and constructing the query context accordingly. This abstraction simplifies the edit component's logic, focusing on the essentials and improving code readability.
- **Optimization of Parent Block Detection:** The hook uses `getBlockParentsByBlockName` to accurately and efficiently find the closest parent `Product Collection` block, minimizing the overhead previously associated with traversing the block hierarchy.
* Always include `collection` and `id` in query context
* Minor refactor
* Enhance query context handling for more maintainable code
- Introduced `DEFAULT_QUERY_CONTEXT_ATTRIBUTES` in `edit.tsx` to maintain a clear list of default query context attributes.
- Modified `ProductTemplateEdit` to automatically include these default attributes in `queryContextIncludes`, ensuring they are always part of the query context without manual initialization.
- Simplified `useProductCollectionQueryContext` in `utils.tsx` by removing static initialization of 'collection' and 'id', relying instead on the dynamic addition of necessary attributes from `queryContextIncludes`.
This refactor enhances the maintainability and clarity of the code, ensuring a solid foundation for future enhancements and features.
* Add E2E tests for Product Collection query context
- Added a new test suite 'Query Context in Editor' to validate the correctness of query context parameters when the Product Collection block is used. This suite ensures that:
- For the 'Product Catalog', only the ID is sent in the query context, confirming that collection-specific parameters are excluded when not relevant.
- For collections such as 'On Sale', the collection name is correctly passed in the query context, validating that the block dynamically adjusts query parameters based on its settings.
- Introduced a new utility method `setupAndFetchQueryContextURL` in `product-collection.page.ts`. This method automates the setup of a post with the Product Collection block and fetches the URL with query context parameters, facilitating the validation of query context handling.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix edge case when `queryContextIncludes` is not defined
- Initializing `queryContextIncludes` with a default empty array directly in the destructuring assignment of the component's props. This approach ensures that `queryContextIncludes` is always an array, simplifying downstream logic.
- Creating a new constant `queryContextIncludesWithDefaults` to hold the combination of `queryContextIncludes` and `DEFAULT_QUERY_CONTEXT_ATTRIBUTES`. This step avoids directly mutating the `queryContextIncludes` prop, aligning with best practices for functional purity and making the code easier to understand and debug.
- Updating the `useProductCollectionQueryContext` hook call to use `queryContextIncludesWithDefaults`. This ensures that the default query context attributes are consistently included without altering the original prop.
These adjustments not only enhance the code's maintainability but also ensure more predictable behavior by avoiding side effects related to parameter mutation.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove global pageObject action from Product Collection tests and add it as before all for specific tests
* Replace beforeAll with beforeEach
* Adjust the beforeEach usage
* Add changelog
* Refresh locators when adding Single Product block as it's not initialised in pageObject
* Change method dedicated to templates to one dedicated to posts
* Remove 'get_block_template' backwards compatibility check
* Add back get_block_template as a deprecated function
* Deprecate BlockTemplateUtils::filter_block_templates_by_feature_flag()
* Replace 'default template' with 'fallback template'
* Only load BlockTemplatesController in block themes
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Remove unnecessary WP version comparison
* Revert "Only load BlockTemplatesController in block themes"
This reverts commit 8e1ed347d61b7ae5e8b8b96fa73b410565570f01.
* Remove deprecated functions, as they are marked as internal
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove WooCommerce Blocks entry from the WooCommerce status page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add logic to trap keyboard focus inside the Product Gallery Pop-Up
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Remove unnecessary condition
* Fix issue with keyboard focus trap not working within the Pop-Up
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update product-review
Add test to edit a product review and another test to delete it
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Added test data in fixture and changelog extra line
Change test data use from constants at the top to test data created in a fixture for each test. Also, added extra line to the changelog file.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
Fixed mixed lines on previous commit.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Remove edited timestamp
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Update hover action to review id.
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Change Quick Edit button to reach review identifier
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Replace updated review check to single line assert
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Hover to edit on review identifier
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Point to trash a review to its identifier.
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Update plugins/woocommerce/tests/e2e-pw/tests/merchant/product-reviews.spec.js
Point to trash a review to its identifier.
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Added Review Edit test
Added Review Edit test apart from Quick Edit test. Included assertions to verify that the review has been edited and can be seen both in the reviews list and the shop's page.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Improve password-protected Single Product block template to verify correct template is displayed after correct password is introduced
* Add changelog entry
* Import editor.scss styles of Product Templayte and increase specificity
* Add changelog
* Add ts ignore
* Revert changing eslint-disable as it conficts with another rule creating more errors
* Added Missing LInting Changes
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Build path directly instead of directly loading REST API.
* Add changelog.
* Make shapes of routes array consistent with whats returned in API.
* Add doc comment.
* Fix missing slash typo
* Make linter happy.
* Add doc block for filter.
* Short hydration logic to use controller directly.
* Rename _get_path to get_path_regex for accuracy and lint.
* Restore nonce check bypass for internal hydration requests.
* Restore cache notice check to allow controllers to start from clean slate.
* Update since tag.
* CYS - Core: ensure that the default font and color are selected
* remove console.log
* Add changefile(s) from automation for the following project(s): woocommerce
* add comment
* add changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix fonts affecting the size of each other
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove log
* Removae old typography settings before applying new ones
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add automated tests to verify specific product templates are rendered
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Include collection attribute in the block context
* add 'collection' to useContext for Product Template
* Changelog
---------
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Add tests skeleton
* Add up-sell test
* Add changelog
* Add test for cross-sells
* Renamed spec file
* Add tests for remove up-sells and remove cross-sells
* Update the viewport
* Extract the update product action into a function
* Fix the expect for up-sells
* Add a poll mechanism when checking that up-sells were removed.
* * Use backspace to remove linked items
* Add a check for up-sells before removing them to prevent a false negative result
* Uncomment cleanup code
* Revert viewport height
* Return focus to trigger element when closing pop-up
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix php cs error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add new test with a product name edit
* Add changelog
* Update price and description
* Check product summary update
* Remove unnecessary interpolation
Previously, a 'coupon_data' line item meta entru was being stored
when a coupon was applied to an order. Now a much shorter
'coupon_reapply_info' entry is stored instead, containing just
coupon id, code, discount type, amount, and whether the coupon
grants free shipping.
* Improve Product Collection test when nested in Single Product block, previous version was flakyu
* Add changelog
* Move the priovate method below the comment starting private methods
* Remove unnecessary wait
* Update data store to bail if there is no customer ID
* Use WC_Data meta functions
* Save and load meta in session class
* Customer session handling
* CheckoutFields - only persist customer data to accounts
* Inline docs for session handling
* Handle meta data in session
* Document wc->customer inline
* Store only additional fields in session
* Prevent notice in WC_Data
* Organise keys and remove duplicates
* Correctly save fields to account
* Fix notices on checkout
* Remove unnecessary diff
* Changelog
* Go back to previous way to loading session handler to avoid 3rd party breakage
* No need to track is_session
* white space
* Remove changes to customer data store
* Update class-wc-customer-data-store.php
* Populate client from additional values from api
* Additional fields in session
* Add woocommerce_customer_allowed_session_meta_keys hook
* Put back legacy keys for tests
* Remove key fixes
* Don't save additional fields to customer object
* Remove duplicate init call
* Only persist contact fields
* Add back parent machine to the designWithoutAi child machine option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Simplify add template title and description
* Add template title and description on 'get_block_template' hook. Fixes#42221
* Add tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix test in template parts
* Use BlockTemplateUtils::template_has_title when possible
* Add test also when saving the default WooCommerce template
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add ability to select thumbnails using keyboard
* Add ability to open the Product Gallery pop up using the keyboard
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix outline border not showing on Thumbnails on some browsers
* Prevent firefox browser from focusing on UL tag of the Large Image block
* Enable usage of 'Space' and 'NumpadEnter' keys to navigate between the thumbnails
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid duplicating the `/onboarding/themes/recommended` request
* Use `fetchActiveThemeHasMods` in the `fetchIntroData` function
* Add changefile(s) from automation for the following project(s): woocommerce
* WIP
* WIP
* WIP
* WIP
* Move the `activeThemeHasMods` to outside the `intro` key, since it's used also in other places
Refactor, add comments and cleanup
* Remove unnecessary log
* Set the `activeThemeHasMods` on the parent window to true after the design step to avoid having to fetch it again
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Add comment and ref to the new issue
* CYS - Core: fix flow when Font Library is not installed
* Add changefile(s) from automation for the following project(s): woocommerce
* improve naming
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Updated Lock File
* Add changefile(s) from automation for the following project(s): woo-ai
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix error on decimal input for the Number of Thumbnails setting
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Avoid duplicating the `/onboarding/themes/recommended` request
* Use `fetchActiveThemeHasMods` in the `fetchIntroData` function
* Add changefile(s) from automation for the following project(s): woocommerce
* WIP
* WIP
* WIP
* WIP
* Move the `activeThemeHasMods` to outside the `intro` key, since it's used also in other places
Refactor, add comments and cleanup
* Remove unnecessary log
* Set the `activeThemeHasMods` on the parent window to true after the design step to avoid having to fetch it again
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Add comment and ref to the new issue
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Get default attributes on front end
* Remove console log
* Show notice about 0 registered fields in editor
* Do not show block in editor if no fields are registered
* Wrapper block
* Update webpack config
* Wrapper block type definition
* Separate fields from the hook block
* Hide when no custom fields exist
* Address and contact fields
* Shared form fields in settings
* Revert render_content to original
* Allow definition of unchecked value which includes a hidden field
* Move woocommerce_edit_account_form above password section, which should be last.
* My Account hooks
* Move account handling to service class
* Show fields in order details
* Remove unused prop
* remove comment
* Hook docblocks
* Add changefile(s) from automation for the following project(s): woocommerce
* Add note about nonce verification
* wp_kses_post for label
* fix nonce linting
* Add docblock to hook
* Bump template version
* Persist contact fields to customer
* Change action name
* Add changefile(s) from automation for the following project(s): woocommerce
* Changelog
* Margin fix on order confirmation for older core themes
* Bump version tags
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* WIP
* Add e2e tests for regular and custom templates
* Allow theme *.zip files for testing purposes
* Bump template versions
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Update comments in bash script
* Remove child themes - they will be installed from the zip
* Fix lint error re spacing
* Bump template versions
* Update PHP unit tests for classic style notices
* Revert "Remove child themes - they will be installed from the zip"
This reverts commit 98b1036616.
* Remove classic cart check in test
* Revert "Add e2e tests for regular and custom templates"
This reverts commit ef531854f9.
* Revert test-related changes
* Remove report
* Prevent phpcs warning for not escaped output
It is escaped in the wc_get_notice_data_attr function
* Revert notice changes to core E2E tests
* Update shopper add to cart e2e test to use correct notice class
* Update checkout block E2E test to use correct notice class
* Fix typo
* Update test to check for correct notice classes
* Update notice comment
* Re-apply block template overrides
* Consistent notice check with other templates
---------
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* Add e2e tests for password-protected Single Product block template
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Move the guest should verify email logic to the order class
* Refactor for readability and remove redundant code
* Use billing email variable
* Remove white space
* Rename and move email_is_valid to users utils
* Use global WC_DateTime and WC_Session classes
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* use text-area for variation desctiption field
* changelog
* tweak // Translators string
* use var to define textarea border color
* remove optional from description label
* Change local workers to 1
* Add helpers for adding shipping
* Add shipping zone before order
* Fix tax assertion
* Fix assertion
* Tightened up locators
* Dismiss tour if visible
* Back to function
* Update tax label
* Enable shipping
* Update locator
* Changelog
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* avoid crash when Gutenberg is not installed
* add issue link
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add completed order email test
Add test structure to verify completed order email arrival and content
* Verify Email JSON Content
Parse email content in JSON format
* Record email content in JSON
Record email content in JSON
* Update emails completed order checks
Added checks to verify the content of completed order's emails
* Add changefile(s) from automation for the following project(s): woocommerce
* Update email content const & remove duplicated test
Updated with a new const to record email content const and removed duplicated assertion.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create DownloadableProductTrait for common downloadable blocks creation
* Use DownloadableProductTrait in SimpleProductTemplate
* Use DownloadableProductTrait in ProductVariationTemplate
* Remeber downloadable files in product variations
* Add changelog file
* Fix php linter error
* Unlink downloads and downloadable product props so they can be managed separately
* Remove invalid margin bottom from the uploader label
* Add changelog file
* Make legacy data cleanup more performant
* Add legacy data cleanup processor
* Make legacy cleanup available in the UI
* Add some validation around data synchronizer / data cleanup settings
* Add some error handling
* Add changelog
* Make CI happy
* Improve option handling
* Add unit tests
* Partially revert “real time” cleanup
* Re-schedule cleanup on ‘shutdown’ if necessary
* Revert CSS changes for HPOS settings screen
* Revert JS changes for HPOS settings screen
* Allow tools to display a status text
* Move order cleanup to Tools
* PHPCS fixes
* Extend bail early protection to other batch processing functions
* Log and stop cleanup when a full batch fails
* Make PHPCS happy
* Initial working version
* Update scrolling behavior in product collection block frontend
This commit updates the scrolling behavior in the product collection block's frontend script.
Previously, the code focused on the first anchor or button within a product collection block. This approach was taken to maintain accessibility and ensure that the focused element was scrolled into view. However, this behavior has been changed to improve the user experience.
The updated code now directly scrolls to the first product in the collection. This is achieved by selecting the product using a new selector that targets the `.wc-block-product` class within the `.wc-block-product-template` of the specified `data-wc-navigation-id`. Once the product is selected, the `scrollIntoView` method is used with smooth behavior and start block alignment, offering a more visually appealing scroll effect.
This change enhances the user experience by smoothly directing attention to the beginning of the product collection, making it easier for users to browse products.
* Remove code related to animation
* Fix the issue related to pagination block rendering
- I have improved the code by breaking it into smaller functions
- Added unique `data-wc-key` to each anchor tag
* Enhance Product Collection Block with Interactive Prefetching
* Refine Prefetch Logic & other improvements
This commit further refines the prefetch logic and interactivity in the Product Collection block. It focuses on enhancing code clarity and improving the prefetch behavior based on user interactions.
Key changes include:
1. Renamed 'isPrefetchNextAndPreviousLink' to 'isPrefetchNextOrPreviousLink' in ProductCollectionStoreContext for better readability and accuracy.
2. Modified the scrollToFirstProductIfNotVisible function to accept a wcNavigationId as a parameter instead of a reference
3. Introduced checks for the existence of wcNavigationId in scrollToFirstProductIfNotVisible to prevent unnecessary executions.
4. Updated comments throughout frontend.tsx for enhanced clarity, explaining the prefetch logic and its triggers in detail.
5. Adjusted the logic in the navigate and prefetch functions to align with the new context structure and prefetch strategy.
6. In ProductCollection.php, updated data attributes to align with the revised prefetch strategy.
7. Refined the attribute setting in process_pagination_links function to correctly implement the updated interactivity and prefetch logic.
These changes aim to optimize the prefetch functionality, reduce unnecessary prefetching on initial page load, and ensure a smoother and more efficient navigation experience within the Product Collection block.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Improve comments
* Use wp_json_encode for data-wc-interactive attribute
This commit updates the `ProductCollection` class to use `wp_json_encode` for setting the `data-wc-interactive` attribute value. Previously, the attribute value was hardcoded as a JSON string. Now, by utilizing `wp_json_encode`, we ensure the JSON encoding is handled correctly by WordPress standards, enhancing readability and maintainability of the code.
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: add integration with the font library
* install font only when necessary
* refactor logic
* add try catch
* renaming font
* refactor some code
* refactor some logic
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not used import
* avoid mutability
* improve performance
* update name variable
* fix naming
* fix endpoints after font collection rest controller improvements
* use promise.all into the map
* improve performance
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Initial approach to fix incorrect product data displayed in Product Collection in context of Single Product block
* Remove the BlockCOntextProvider
* Add Block context for title and summary
* Add changelog
* Improve typing
* Add E2E test with Product Collection inside Single Product block
* Improve insertBLock function description
* Make productPrices selector in Product Collectionmore specific
* Extract components props into a types
* Always show Variation options and Variations sections within the Variations tab
* Remove woocommerce/product-variations-fields block since it's not needed anymore
* Create ProductTShirt image for variation options empty state
* Add renderCustomEmptyState to the attribute control component to be able to set a not default empty state
* Render a custom empty state for variation options
* Adds defaultSearch prop to NewAttributeModal so it can be used to start searching right after the modal is shown
* Let the empty state adds an attribute that matches a given text
* Add changelog files
* Fix linter errors
* Ensure that the Font Library is available
* Add changefile(s) from automation for the following project(s): woocommerce
* fix iframe issue
* improve comment
* don't return any object
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename block template customization test files
* Move Checkout Header template part tests to parameterized tests
* Make it so 'userText' in tests is different in each template, so prevent false positives
* Move Mini-Cart template part tests to parameterized tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Make sure there are products in cart before going to the Checkout template
---------
Co-authored-by: github-actions <github-actions@github.com>
* Apply Rector suggestions
* Add changefile(s) from automation for the following project(s): woocommerce
* Restore false positive
$missing_tables will always be an array
* Restore false positive.
Rector issue: AddDefaultValueForUndefinedVariableRector.
This time the early return is valid so there’s no need to move the $process_limit assignment to the top.
* Ask if $orders is an array
$orders is used as an array lines below. Add `is_array` just in case the “paginate” param is used which would change $orders to an object.
* Check if variable is array
Simplifies variable check given that they are used as an array lines below.
* Restore code as taxes is always an array
* Restore false positive
In the previous loop the $data variable is being built as an array of arrays. Then $value in this loop will allways be array.
* Restore false positive
get_children’s method. of a WC_Product instance will always return an array.
* Simplify variable check
Ask if varialbe is array since it only can be array or false.
* Restore false positive
WC_Blocks_Utils::get_blocks_from_page() will always return an array.
* Restore false positive
There’s a check asking if $existing_meta_data[ $meta_data->key ] is array.
* Restore false positive
$child_ids will always be an array.
* Restore false positives
WC_Product->get_visible_children() will always return an array.
* Restore false positives
WC_Product->get_children() will always return an array.
* Restore false positive
WC_Product->get_visible_children() will always return an array.
* Restore false positive
WC_Order->get_items() will always return an array.
* Restore false positive
The get_matching_rates private method will always return an array.
Updated the @return declaration to be an array instead of boolean.
* Remove unnecessary array type casting.
* Restore false positive
$this->get_children() will always return an array.
* Fix lint issues
* Remove unnecessary default assignment
* Remove unnecessary is_array check
* Remove unnecessary is_array check
* Remove unnecessary is_array check
* Change default value from null to false
* Remove unnecessary is_array check
* Update changelog entry
* Update changelog entry
* Update changelog entry
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog entry
* Use self for consistency
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: Fix the bug hiding connection hiding
Actually, this bug causes all modal state to be lost. But since we
check the connection only when the page loads, on a subsequent tries, we can 't show the connection warning.
* Marketplace: update documentation and typos
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Migrate coupon- and shipping-related tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix prettier issue
---------
Co-authored-by: github-actions <github-actions@github.com>
* Adds tests to monitor number of JS files included in pages
* Changelog
* Update file counts
* Changed assertion to LTE
* Revise file counts
* Update numbers
* Increased numbers
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Store API: fix link documentation
* Add changefile(s) from automation for the following project(s): woocommerce
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update the CYS intro modal copy on Core
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create a dedicated survey and tracking events for the CYS flow on core
* Update booleans to show button and survey
* Remove console log
* Add changefile(s) from automation for the following project(s): woocommerce
* Style required question asterisk and make the questions required
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fetch the ai status on the transitional page of the CYS flow
* Only check AI status on WooExpress
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add theme-customization e2e tests to Cart and Checkout templates
* Add theme-customization e2e tests to Order Confirmation template
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update after rebase
* Make it so Order Confirmation template tests are also part of the parameterized tests
* Use CUSTOMIZABLE_WC_TEMPLATES constant instead of defining the templates again
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix wrong template slug
* Rename 'default' to 'fallback' template
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove Cart and Checkouts templates migration code
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* add draft test
* test unserializing an order meta with an object of a non-existent class
* appease the linter
* add asserts for the $meta's object_vars
* linter fix
* we actually don't need these to force a sync
* add one to time to avoid potential flakiness
* use simpler fetch for order
* catch the errors and do things manually via wpdb instead
* appease the linter
* add changelog file
* specify format for the insert
* add test for deleting meta
* detect incomplete class in meta value instead of catching and examining errors
* appease the linter
* fix typo
* address review comments
* empty cache when we have manually deleted the post meta
* use `is_object`
* add logging
* log the order ID
* Update README.md
Add a link to the WooCommerce Monorepo prerequisites before going through the e2e-pw prerequisites.
* Update WC prerequisites to relative link and added changelog
Update link to WC monorepo prerequisites
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated lines
Remove duplicated instructions and leave the step to install Docker and Docker compose
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
* Check for string values when updating chosen_shipping_methods session
* Ensure filtering woocommerce_shipping_chosen_method provides a string value
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add wireit build config for wooai plugin
* Add changefile(s) from automation for the following project(s): woo-ai
* Add lint config for woo-ai plugin js and css
* Remove build:admin script for wooai
* Remove ci config for woo-ai
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add new "can receive cancelled order email" test
* Add new "can receive cancelled order email" test
* Add changefile(s) from automation for the following project(s): woocommerce
* temp: wait for 1s
* temp: wait for 1s
* Revert changes introduced in 5aa5013
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add "can view product review" test
* Add changefile(s) from automation for the following project(s): woocommerce
* Add timestamp to reviewer's email
* Verify reviewer's email and rating
---------
Co-authored-by: github-actions <github-actions@github.com>
Adds logs settings values to both the SSR REST API endpoint and to the
HTML version of the SSR screen. Also adds a new method for calculating
the total size of the log directory, and adds that info to the Logs
Settings screen in addition to the SSR.
* Make `get_allowed_countries` default to `all`
* Make `get_shipping_countries` handle `disabled` and apply filter on all cases
* Add changefile(s) from automation for the following project(s): woocommerce
* changelog
* Put option in variable to avoid multiple calls
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update create simple product
Add steps that add description, sale price, SKU, purchase note and an attribute (Color)
* Update add-virtual-product formatting and locators
Update add-virtual-product tests with suggested formatting and locators
* Add changelog file
Adding the missing changelog file via pnpm --filter=plugin-woocommerce run changelog add
* Update locators with getBy on product creation
Update product name, price, sale price and virtual checkbox marking locators to use getBy instead
* Update SKU and publish locators with getBy instead
Updated SKU and publish locators with getBy instead
* Added asserts to create-virtual-prd test
Added asserts to create-virtual-prorduct test
* Update SKU check
Update SKU assertion
* Remove keyboard action
Remove press enter keyboard action
* Add changelog
Added changelog file
* Add changefile(s) from automation for the following project(s): woocommerce
* Update virtualProductName check
Update virtualProductName check to the const instead of the string
* Rebase and format
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Veljko <veljano@yahoo.com>
In #43166 I changed the way that row classes are added on settings
fields. However, by using `esc_html`, it's actually outputting invalid
HTML, where the double quote wrappers are getting converted to HTML
entities. This simply switches back to escaping only the attribute value
and not worrying if the tr element contains an empty class attribute.
* Avoid duplicate templates appearing on the Site Editor when the WooCommerce template and the theme template have been customized by the user
* Add tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Clean up templates after running all tests to increase speed
* Fix comment linting
* Fix addToCart() util with the classic template
* Remove unnecessary condition
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create session on the order pay page
* Add changefile(s) from automation for the following project(s): woocommerce
* changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Return error when the product creation fails
* Add changefile(s) from automation for the following project(s): woocommerce
* Continue with product creation even when the image upload fails
* Revert
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Add a warning message with the error when creating the products with no images
---------
Co-authored-by: github-actions <github-actions@github.com>