* Remove checkstyle.xml file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix an issue that caused two products to be added to cart when Geolocate (with page caching support) was enabled and AJAX add to cart buttons disabled
* Add e2e test
* Add changelog file
* Move test to its own file
* Fix wrong default value in test reset
* Extend product elements sharedConfig ancestor with Product Collection and Products (Beta)
* Utilise sharedConfig ancestor in Image block
* Utilise sharedConfig ancestor in Price block
* Utilise sharedConfig ancestor in Rating block
* Utilise sharedConfig ancestor in Sale Badge block
* Utilise sharedConfig ancestor in SKU block
* Utilise sharedConfig ancestor in Stock Indicator block
* Add changelog
* Bring back original ancestors for Summary and Title blocks
* Remove Product Price from a test as it's no longer available in global context
* Lazy load the PluginArea and the ModalEditor
* Remove repeated product request when editing a specific product
* Fix linter errors
* Add changelog files
* Fix linter errors
* Refactor the block editor to remove some extra rerenders
* Defer the publish button processing
* Defer the tab content render 500ms to reduce the total blocking time
* Fix linter errors
* Fix unit test and tabs unexpected rerender
* Fix linter errors
* Reduce the defered time to 300ms
* Fix get product url when the product has been duplicated since the new copy does not have permalink
* Fix the invalid unregistration of wc-admin-more-menu in the product page
* Fix compilation errors
* Fixed shipping flat price change to free shipping when shipping cost represented using decimal separators and thousands separators
* added the changelog file
---------
Co-authored-by: Saiful Islam <anandacsebd@gmail.com>
* Deprecated WC_Cart->is_coupon_emails_allowed in favour of WC_Discounts->is_coupon_emails_allowed
* Add changefile(s) from automation for the following project(s): woocommerce
* Created new DiscountsUtil class and moved is_coupon_emails_allowed()
* Refactored tests.
* Updated internal WC_Cart::is_coupon_emails_allowed calls and added a doing it wrong warning for 3rd party tracking.
* Linting.
* Refactored and added new asserts to DiscountsUtilTest.
* Linting.
* Linting and updated test.
* Added translation to wc_doing_it_wrong() as sugested.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix the issue that the React-powered admin routing page added after initialization could not be displayed.
* Delay showing admin `NoMatch` to reduce the chance of flashing error message when route page is added after initialization.
* Add JS tests for the `NoMatch` page in the admin.
* Add changelog
* Fix activation limit for single license subscriptions on woocommerce.com
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Add some defensive coding.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Update coming soon banner text to use translation function
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Detect template ID from URL
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add E2E test to check if block is displayed after revisiting Single Product template
* Fix E2E tests
* Fix E2E tests
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add condition on github.event_name for lint jobs
* Update a file to trigger a lint job
* Update condition to run only on pull_request
* Revert test change
* Always run the Slack notification step
* Add pull_request test trigger
* Update report step
* Remove branch filter
* Try with push event and branch filter
* Pass secrets to ci.yml
* Update testIgnore pattern for Gutenberg project
* Add changelog
* Remove the test push trigger
* One more test run
* Removed push test trigger
* Amend Query Pagination parent OR ancestor array and include product collection
* Rename the function and amend comment
* Add changelog
* Remove some leftovers
* Tets if it's possible to insert multiple Pagination blocks in Product Collection
* Add awaits to expects
* Update plugins/woocommerce-blocks/assets/js/blocks/product-collection/utils.tsx
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Add comment explaining the condition
---------
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* only sticky summary when it's not longer than view
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix tests
* correctly check for height
* switch how to get top
* remove from editor
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add redirect to LYS on homescreen when lysTaskOpen is present
* Typos
* Fix lint issues
* Fix lint issues
* Add changelog
* Fix lint issues
* Fix lint issues
* Use isDashboardShown in effect
This required adding a check to ensure query is not an empty object
* Imporve the jankiness by moving catch-all logic to layout
* use an effect to set the session value to no
* lint
* lint
* Fix tests
* Try preventing redirects from WP menu click
* Revert "Try preventing redirects from WP menu click"
This reverts commit 8ef6dcf4dd.
* normalize IDs for form fields and fix types
* update docs as well
* update rest of docs
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix linting for document
* also align classnames
* revert to correct classname
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add workflow_call event
* Add tests-daily-run.yml
* Remove workflow version
* Update input value
* Remove secrets from caller workflow
* Rename job
* Check context
* Check context
* Check workflow_call inputs
* Override github.event_name with inputs.trigger
* Fix input name
* Add config for daily e2e tests with Gutenberg
* Update env commands for Gutenberg run
* Add disableHpos env variable in ci-utils
* Revert the trigger to push
* Revert the env variable setting in ci-jobs
* Revert the env variable setting in ci-jobs
* Rebuild utils
* Update test env start command
* Define the Gutenberg Playwright project
* Use path relative to workspace root
* Update events for test projects
* Update events for test projects
* Add changelogs
* Remove the e2e tests with Gutenberg tests from daily runs
* Set the schedule and workflow_dispatch triggers
* Add --project default flag to only run the default tests in CI
* Renamed snapshots to match the new Playwright project name
* allow focusedOnMount element to be reset
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix live branch menu not show up
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename blocks to to distinguish them from new blocks
* Add changelog
* Change the naming convention to XYZ (Classic)
* Update classic templates descriptions
* Fix package.json lint error
* Add Skip button to Design With AI steps.
* Add changefile(s) from automation for the following project(s): woocommerce
* Use window.location.href to redirect instead.
* fix css linter errors
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Add disableHpos test env variable
* Update events for HPOS disabled tests
* Add pull_request event to test the env
* Remove the pull_request event
* Add changelog
* Make the disableHpos var a boolean
* Also set the env in ci.yml
* Remove console log statement
* Print woocommerce_custom_orders_table_enabled
* Run test setup script again to check output
* Capture env setup output and print it
* Get woocommerce_custom_orders_table_enabled value in test env script
* Get more details on HPOS setting
* Remove the DISABLE_HPOS logic from test env setup script
* Use DISABLE_HPOS instead of ENABLE_HPOS everywhere
* Turn off no-console and jest/no-standalone-expect eslint rules for api core tests
* Test API tests with HPOS disabled
* Fix eslint error
* Clean up debug statements
* Remove pull_request test trigger
* Run wc_update_900_add_launch_your_store_tour_option on WC 9.0 update
* Add changefile(s) from automation for the following project(s): woocommerce
* Use add_option
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Simplify final step in CYS when entering from Entrepreneur Signup.
* Add changelog.
* Update plugins/woocommerce-admin/client/customize-store/transitional/index.tsx
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Show My Home button as primary button only on Entrepreneur flow.
* Use 'customize_your_store_entrepreneur_home_click' tracks event instead.
---------
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Use the term attribute sort order for the "Filter by attribute" block
* Allow `id` and `name_num` orderby values
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Properly format order counts
* Remove superfluous tooltip
* Add "is-error" class for admin settings
* Remove unused option in DataSynchronizer
* Use non-persistent group "counts" for caching count of orders pending sync
* Drop redundant method from COT controller
* Standardize usage of <strong> in COT settings
* Drop unused import
* Allow manual sync to be stopped
* Reword messages in HPOS screen
* Make PHPCS happy
* Add changelog
* Fix unit test
* Fully deprecated DataSynchronier::get_sync_status()
* Extract translatable string to prevent duplication
* Replace the Legacy REST API with a stub that always returns an error.
If the Legacy REST API plugin is installed, it will "take over"
the stub and the API will be available again without noticeable
changes in behavior.
* Move the get_endpoint_data method to WooCommerce core
This method was part of the legacy REST API package but is actually
being used to query endpoints of the new REST API, so it actually
belongs to WooCommerce core.
It has been placed in a new src/Utilities/RestApiUtil class.
The existing src/Internal/RestApiUtil class has been renamed
ro RestApiParameterUtil to avoid confussion.
* Move the register_wp_admin_settings to WooCommerce core.
This method was part of the legacy REST API package but it's needed
for certain endpoints of the current REST API, for example
settings/general/woocommerce_specific_allowed_countries
* Adjust unit tests for the removal of the legacy REST API.
Basically, some tests no longer make sense so they are removed.
* Adjust webhooks for the removal of the legacy REST API.
If a webhook is configured to compose its payload using the
legacy REST API format, and the separate legacy REST API plugin
is not installed, an exception will be thrown. This will cause
the scheduled action that does the webhook delivery to fail.
* Add warning in the webhooks settings page.
The warning will show if the legacy REST API is not available
and there's at least one plugin that is configured to be delivered
using legacy payloads. Each hook will have an exclamation symbol
next to its name in the table.
Additionally, inside the webhook edition page the legacy payload
option will display "NOT AVAILABLE" instead of "deprecated"
when the legacy REST API is not available.
* Add support for queries containing the "wc-api" variable.
These queries will return a 400 error by default, but
"woocommerce_api_request" and "woocommerce_api_(query)" actions
are available for custom processing.
* Enable the woocommerce_api_enabled option if the Legacy API plugin
is installed and the option is disabled.
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Mark get_woocommerce_api_url function as deprecated
* Mark $api property in WooCommerce class as deprecated
* Replace call to wc()->api->get_endpoint_data in Checkout class
Replace it with just wc()->cart, which is what the invoked
endpoint was doing in the end.
* Use get_endpoint_data to get the data from /wc/store/v1/cart
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add type safety, update coming soon entire site changes for fonts
* Add conditional font to support TT24 and other themes
* Revert unnecessary change
* Changelog
* Lint
* Fix: Ensure Product Collection Block Respects "Hide Out of Stock Items" Setting
- Added logic to include the "Out of stock visibility" setting in the Product Collection block.
- Modified `ProductTemplateEdit` component to use the `getDefaultStockStatuses` function.
- Ensured that out-of-stock products are hidden in the Product Collection block when the "Hide out of stock items from the catalog" option is enabled.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove check for logged in user on the order received page, enabling guest users with a valid link to visualize the order shipping/billing addresses.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update comment
* Bumped template version
* fix linting
* ignore hook for the whole file
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* skip fields not present in schema
* remove from sanitize as well
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make shipping total show FREE if price is 0
* Make free text uppercase in order summary
* Add test to check free/paid shipping displays as free or shows price
* Add changelog
* Update E2E test to make sure shipping is selected correctly
* Update shipping cost e2e tests
* Further fixes to e2e tests
* correctly build up the hash on windows
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show WordPress logo when entering Design With AI from Enterpreneur signup flow.
* Update logo on Assembler Hub.
* Really need to force it.
* Add changelog.
* Newline.
* Newline.
* Fix rebase error.
* Fix double import.
* Remove !important.
* If the Legacy REST API plugin is auto-installed once, do not auto-install a second time.
* Remove unused private constant (PluginInstaller records the info we need in a sitewide option).
* Introduce the woocommerce_history_of_autoinstalled_plugins option
This option holds the same data as woocommerce_autoinstalled_plugins,
the difference is that the data in this new option is never deleted.
It's also never updated, it just holds the information of the
first autoinstall for each plugin.
* Add a migration to create woocommerce_history_of_autoinstalled_plugins
* More robust check of previous autoinstall of the plugin
* Change migration to run in 8.9.1 instead of 9.0.0
---------
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* Add validation for array_sum in Orders v1 controller
* Add an array_sum method to NumberUtil
* Update orders controller to use NumberUtil's array_sum
* Add NumberUtil array_sum to order item classes
* add subscription expiry message on plugin list
* Update changelog
* fix lint
* refactor code
* update product price meta
* add tracks event for enable autorenew and renew subscription notices in plugin lists
* fix lint error
* check product price is set or not
* check product price is set or not
* added translator comment
* fix typo
---------
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Remove the view file rendering old market-place page.
* Remove the function for rendering old market-place pages and introduce redirects to new in-app market-place.
* Remove unused code related to legacy market-place.
* Add exit after redirect.
* Add changefile(s) from automation for the following project(s): woocommerce
* Redirect to search result page when a search term exists.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add changefile(s) from automation for the following project(s): woocommerce
* Addressing linter errors.
* Allow unusually-long email addresses of sharers to wrap
* Switch wordWrap for overflowWrap
Modern browesers interpret the former as an alias of the latter, including allowing the use of 'anywhere'. But the current version of https://www.npmjs.com/package/csstype only recognises 'anywhere' as valid for overflowWrap. Switching it prevents compilation errors, still exhibits the correct behavior.
* Prettier linting
* Update plugins/woocommerce/changelog/46229-add-wccom19063-in-app-shared-by-badge
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Use pointer as cursor for status popovers
* Don't focus-within the status badge popover on load (prevents ugly link focus issue)
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Make sidebar sticky on desktop
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* limit sidebar sticky to cart only
* add useless new line
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent collection different than Produyct Catalog from being filtered
* Adjust Product Filters tests
* Split taxonomies filter into seperate filter per taxonomy
* Add changelog
* Improve onDeselect function
* Update Product Filter test handlebars so they all use Product Collection that inherits query from template
* Set Product Collection to inherit query from template in PHP unit tests
* Remove unnecessary empty space
* Add changelog
* Update tests
* Fix lint
* Update Product Collection attributes in filter E2E handlebars
* Update the Product Filters testing pages title
* Satisfy TS by returning single React element rather than array of elements
* Revert some incorrect changes
* Cleanup after accidental incorrect merge
* Add template utils to dynamic contents util
* Fix Attribute Filter tests
* Cleanup Attribute tests, refactor and fix types
* Add product filter on top of attirbute filter in handlebars
* Fix lint
* Update Rating filter tests to use Product Archive template instead of post
* Update Rating Filter handlebars
* Update Stock filter tests to use Product Archive template instead of post
* Update Stock Filter handlebars
* Add more granular util to update Produyct Catalog based on handlebar template
* Use Product Catalog util and simplify test scenarios
* Unify handlebar templates
* Fix Product Collection attributes in Product Filter handlebar templates
* Revert temporary timeouts increase
* Remove unused types
* Cleanup types
* Cleanup types
* Lint fix
* Rename updateTemplatesContent to updateTemplateContents to better depict its purpose
* Fix types
* Rename updateProductCatalogContent to updateProductCatalogTemplate to better depict its purpose
* Allow for beforeAll and afterAll in PW tests
* Use beforeAll and afterAll instead of using fixture in active filters test
* Use beforeAll and afterAll instead of using fixture in attribute filters test
* Use beforeAll and afterAll instead of using fixture in price filters test
* Use beforeAll and afterAll instead of using fixture in rating filters test
* Use beforeAll and afterAll instead of using fixture in stock status filters test
* Get rid of updateProductCatalogTemplate util as it's too specific
* Extract some constants
* Remove unused file probably added here by accident
* Adjust Attribute Filter block tests to the new logic
* Merge fix
* Bring back necessary handlebars file
* Merge fix
* Merge fix
* Update beforeAll
* Avoid relying on product collection page object in before all
* Bring back the original order of tests
* Switch Filter by Attribute tests to handlebars
* Fix typo
* Update test to new circumstances
* Fix hooks usage
We no longer use hooks other than `beforeEach` since we're resetting the DB for each test (#46125). Using other hooks was not caught by the linter (on this PR) because I accidentally removed the no-hooks rule in #47228 and restored it just now in #47500. 😅
* Fix the test
* Fix Price filter test
* Update attribute filter tests
* Share the handlebars between tests
* Update price filter tests
* Update rating filter tests
* Update stock filter tests
* Remove unnecessary product collection page object from filter tests
* Fix typo
* Fix Filter by Stock test
* Simplify Attribute filter test by remoiving one filter from page
* Try to wait for element to be visible
* Fix handlebars syntax for filters so it doesnt throw validation errors and warnings
* Wait for filters to be visible for sure before performing further part of test
* Wait for Site Editor canvas loader
* Fix linter error
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace the default image of the Testimonial single pattern
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix: Deleting a shop coupon via the API returns a 500 error
* Add unit test for coupon delete.
* Add changelog.
* PHPCS fix.
---------
Co-authored-by: 79mplus Admin <36501099+79mplus-admin@users.noreply.github.com>
* Fix lint errors
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* return focus on drawer
* adjust notice button color
* adjust cart/checkout input label color
* return focus for shipping form button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* remove the generic incompatible notice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>