* Increase the length of Product Summary block (core/post-excerpt variation)
* Add changelog
* Bring back the Product Summary variation to original length
* Increase the Product Summary length to max 100 words in Single Product template and block
* Increase the Product Summary length to max 100 words in Single Product block
* Update tests
* Change the attribute type froms tring to niumber as expected
* Replace classnames with clsx within woocommerce-blocks.
* Undo unnecessary change to getClassnames const.
* Replace classnames with clsx within woocommerce-admin.
* Add changelog.
* Update the pnpm lock file
* Address lint.
* Address lint errors for the block-library.
* show notice on WC core about subs expired
* add notice in wc core my subscription page
* dismiss subscription notice
* add rest api for dismiss subscription notioce
* dismiss notice permanently
* code refactor
* fix issue in expired subs
* not showing expiring subs notice if expired sub notice render
not showing expiring subs notice if expired sub notice render
* fix lint
* added changelog
* update comment
* fix js lint
* update response
* added new endpoint for notice
* update the endpoint URL
* update the endpoint URL
* show notice after one month
* add css class for refactor
* fix lint
* Add missing callback after the merge
* check plugin is installed on current site
* add comments, and fix missing price
* fix lint
* remove unnecessary duplicate asset load
* fix notice so that it only trigger dismiss API on notices close
* localize the renew product price
* track events in the wc settings page
* Use the correct field product_regular_price instead of product_price
* Add missing period in the notice message
* add nonce to the dismiss notice API
* extract dismiss notice API call to different code
* extract expired and expiring component to 1 component
* add track events for tsx components
* fix nonce checking
* fix lint
* fix lint
* enrich the button and hyperlink url to contains the product_id of expiring / expired subscription
* fix lint
* fix lint
---------
Co-authored-by: Akeda Bagus <akeda.bagus@automattic.com>
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Add woopayments/test-orders-count endpoint
* Load test order count
* Call deleteTestOrders
* Remove test code
* Use wc_get_orders to retrive test orders
* Add changefile(s) from automation for the following project(s): woocommerce
* typecast deleteTestOrders
* Type removeTestOrders input
* Remove woopayment activation check -- do not need as we are using wc_get_orders
* Add tests for test order count and delete endpoints
* Delete test class
* Add tests for test order count and delete endpoints
* Lint fixes
* Lint fixes
* Lint fixes
* Remove unused import
* Fix timing issue with counting test orders
* Add hasWooPayments guard
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: rjchow <me@rjchow.com>
* Fix the issue
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add E2E test to cover this regression
* Fix: On sale collection should be visible after refresh in Post
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add zoom functionatility to Single Product gallery images when main Product Image is missing
* Alternative approach
* Add changelog file
* Still add placeholder class for extra backwards compatibility
* Bump template version
* Remove unnecessary class name change
* Fix wrong type
* Fix PluginInstaller::install_plugin_core so it works on Windows
* Wrap the autoinstall of the Legacy REST API plugin in try-catch block
and log any exception thrown
* Make sure that the wc_installing transient is deleted even if install fails
* Temp commit
* Clean up unused codes and streamline logic
* More cleanups and add comment
* Better naming and fix logic
* Rename and comment
* Changelog
* Changelog
* Lint
* Moved leap year utils to date package, added tests
* Moved functions to utils, add tests
* Add more test
* Fix changelog
* Clean up the cache when a coupon is updated
When the coupon’s status transitions from publish to future, the ‘coupon_id_from_code’ cache entry needs to be deleted otherwise the coupon will remain available for use.
* Remove coupon cache entries when not published
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Toby Herbert <tobyherbert@nialtoservices.co.uk>
Co-authored-by: github-actions <github-actions@github.com>
* Add status-completed endpoint
* Use new status-completed endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* Revert back unwanted changes
* Cache /wc-admin/launch-your-store/survey-completed call
---------
Co-authored-by: github-actions <github-actions@github.com>
* Only init WC Site Tracking if in admin or a rest request
* Add changelog
* Refactor tracks logic
* Create helper function store store api requests and make use of this
* Move conditionals back to woocommerce class
* Remove use of is_rest_api_request within is_store_api_request
* Fix lint errors
* Add check to see if WC_Tracks exist
* Also include tracking in CLI
* Make use of wc_admin_record_tracks_event instead of WC_Tracks directly
* Add `woocommerce_order_note_deleted` hook for a successful order note delete
* Update plugins/woocommerce/includes/wc-order-functions.php
Co-authored-by: Jorge A. Torres <jorge@0xbad.com>
* Include `order_id` in order note object
* Introduce `woocommerce_order_note_deleted` hook
* Appease linter
* Adjust unit test
* Add changelog
---------
Co-authored-by: EVOKE <evoke.lektrique@gmail.com>
* Fix issue where Product Collection wasn't showing anything
- Moved queryId logic to a new `useQueryId` custom hook to encapsulate the logic.
- Simplified attribute setting in `useEffect` by using a default attributes value.
- Utilized `fastDeepEqual` to check for attribute equality
These changes fix the issue where the Product Collection block did not display properly in the template editor, ensuring consistent rendering of products.
* Add comment
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove leftover comment
* Add e2e tests for Product Collection block visibility after refresh
Added end-to-end tests to verify the visibility of the Product Collection block after page refresh in both Product Archive and Post contexts.
- Added tests to ensure the Product Collection block remains visible after refreshing the template or post editor.
- Updated existing tests to use `BLOCK_LABELS` for better readability and maintainability.
* Improve E2E tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add PatternsToolkit class to fetch patterns from PTK
* Pass the new PatternsToolkit class to the BlockPatterns constructor
* Extract the pattern registration code to the 'register_block_pattern' function
* Extract the file patterns registration to `register_block_patterns_from_files`
* Registers patterns from ptk
* Add ids of excluded patterns (because they have jetpack deps)
* Add PTK client tests
* Filter out patterns with post_type diff than "wp_block"
* Add missing excluded pattern
* Add error log and improve error messages from the PTK client
* Extract function to register patterns to PatternRegistry class
* Extract function to register patterns from PTK
* Rename PatternsToolkitClient to PTKClient
* Extract AI related code to the AIPatterns class
* Rename test to match class name
* Add missing package dep in BlockPatterns
* Cache and register PTK patterns
* Add feature flag
* Fix linting errors
* Add tests for the PatternRegistry
* Add tests for the PTKPatternsStore
* Add changefile(s) from automation for the following project(s): woocommerce
* Check pattern ID exists to filter
* Check title is set when registering the pattern
* Remove unnecessary code from test
* Add more patterns to the excluded list
* Add actions to reset the patterns transient on plugin deactivation and tracking option updates
* Schedule fetching pattern async when updating or activating the plugin and on allowing tracking
* Fetch patterns always async
* Add changefile(s) from automation for the following project(s): woocommerce
* Only schedule the fetch_patterns actions if it's not pending
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unnecessary import
* Fix tests
* Return empty array instead of error
* Fix imports and comments
* Remove unused function
* Fix lint errors
* Fix log
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add changelog
* Only include default 'additional content' in e-mails when it hasn't been configured
* Remove (now) unnecessary code from new order e-mail
* Simplify logic in `get_additional_content()`
This changes the item schemas for Orders and Order Refunds API
endpoints to correctly specify that the rate_id property in a tax_line
object is an integer, not a string.
Fixes#32037
* Focus tab shows focus style
* Tabbing when inside the tabs takes you to the first focusable element inside the current tab's tab panel
* Users can press the left and right arrow keys to move between tabs
* When a tab is focused and the Home key is pressed the first tab in the list should be focused. When the End key is pressed the last tab should be focused
* Add changelog file
* Fix e2e tests
* Add changelog file
* Get last tab by index
* Fix linter errors
* Add PatternsToolkit class to fetch patterns from PTK
* Pass the new PatternsToolkit class to the BlockPatterns constructor
* Extract the pattern registration code to the 'register_block_pattern' function
* Extract the file patterns registration to `register_block_patterns_from_files`
* Registers patterns from ptk
* Add ids of excluded patterns (because they have jetpack deps)
* Add PTK client tests
* Filter out patterns with post_type diff than "wp_block"
* Add missing excluded pattern
* Add error log and improve error messages from the PTK client
* Extract function to register patterns to PatternRegistry class
* Extract function to register patterns from PTK
* Rename PatternsToolkitClient to PTKClient
* Extract AI related code to the AIPatterns class
* Rename test to match class name
* Add missing package dep in BlockPatterns
* Cache and register PTK patterns
* Add feature flag
* Fix linting errors
* Add tests for the PatternRegistry
* Add tests for the PTKPatternsStore
* Add changefile(s) from automation for the following project(s): woocommerce
* Check pattern ID exists to filter
* Check title is set when registering the pattern
* Remove unnecessary code from test
* Add more patterns to the excluded list
* Add actions to reset the patterns transient on plugin deactivation and tracking option updates
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Partially revert #45767
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add test for description on checkout order summary block
* Add another test back in for order summary description
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Alex Florisca <alex.florisca@automattic.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
* Highlight the pattern when the user hovers it
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - Assembler: improve feature flag check
* Add changefile(s) from automation for the following project(s): woocommerce
* improve logic
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
* Highlight the pattern when the user hovers it
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* hide scrollbar on the body
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove checkstyle.xml file
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix an issue that caused two products to be added to cart when Geolocate (with page caching support) was enabled and AJAX add to cart buttons disabled
* Add e2e test
* Add changelog file
* Move test to its own file
* Fix wrong default value in test reset
* Extend product elements sharedConfig ancestor with Product Collection and Products (Beta)
* Utilise sharedConfig ancestor in Image block
* Utilise sharedConfig ancestor in Price block
* Utilise sharedConfig ancestor in Rating block
* Utilise sharedConfig ancestor in Sale Badge block
* Utilise sharedConfig ancestor in SKU block
* Utilise sharedConfig ancestor in Stock Indicator block
* Add changelog
* Bring back original ancestors for Summary and Title blocks
* Remove Product Price from a test as it's no longer available in global context
* Lazy load the PluginArea and the ModalEditor
* Remove repeated product request when editing a specific product
* Fix linter errors
* Add changelog files
* Fix linter errors
* Refactor the block editor to remove some extra rerenders
* Defer the publish button processing
* Defer the tab content render 500ms to reduce the total blocking time
* Fix linter errors
* Fix unit test and tabs unexpected rerender
* Fix linter errors
* Reduce the defered time to 300ms
* Fix get product url when the product has been duplicated since the new copy does not have permalink
* Fix the invalid unregistration of wc-admin-more-menu in the product page
* Fix compilation errors
* Fixed shipping flat price change to free shipping when shipping cost represented using decimal separators and thousands separators
* added the changelog file
---------
Co-authored-by: Saiful Islam <anandacsebd@gmail.com>
* Deprecated WC_Cart->is_coupon_emails_allowed in favour of WC_Discounts->is_coupon_emails_allowed
* Add changefile(s) from automation for the following project(s): woocommerce
* Created new DiscountsUtil class and moved is_coupon_emails_allowed()
* Refactored tests.
* Updated internal WC_Cart::is_coupon_emails_allowed calls and added a doing it wrong warning for 3rd party tracking.
* Linting.
* Refactored and added new asserts to DiscountsUtilTest.
* Linting.
* Linting and updated test.
* Added translation to wc_doing_it_wrong() as sugested.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix the issue that the React-powered admin routing page added after initialization could not be displayed.
* Delay showing admin `NoMatch` to reduce the chance of flashing error message when route page is added after initialization.
* Add JS tests for the `NoMatch` page in the admin.
* Add changelog
* Fix activation limit for single license subscriptions on woocommerce.com
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/includes/admin/helper/class-wc-helper.php
Add some defensive coding.
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Update coming soon banner text to use translation function
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Detect template ID from URL
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add E2E test to check if block is displayed after revisiting Single Product template
* Fix E2E tests
* Fix E2E tests
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add condition on github.event_name for lint jobs
* Update a file to trigger a lint job
* Update condition to run only on pull_request
* Revert test change
* Always run the Slack notification step
* Add pull_request test trigger
* Update report step
* Remove branch filter
* Try with push event and branch filter
* Pass secrets to ci.yml
* Update testIgnore pattern for Gutenberg project
* Add changelog
* Remove the test push trigger
* One more test run
* Removed push test trigger
* Amend Query Pagination parent OR ancestor array and include product collection
* Rename the function and amend comment
* Add changelog
* Remove some leftovers
* Tets if it's possible to insert multiple Pagination blocks in Product Collection
* Add awaits to expects
* Update plugins/woocommerce-blocks/assets/js/blocks/product-collection/utils.tsx
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* Add comment explaining the condition
---------
Co-authored-by: Manish Menaria <the.manish.menaria@gmail.com>
* only sticky summary when it's not longer than view
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix tests
* correctly check for height
* switch how to get top
* remove from editor
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add redirect to LYS on homescreen when lysTaskOpen is present
* Typos
* Fix lint issues
* Fix lint issues
* Add changelog
* Fix lint issues
* Fix lint issues
* Use isDashboardShown in effect
This required adding a check to ensure query is not an empty object
* Imporve the jankiness by moving catch-all logic to layout
* use an effect to set the session value to no
* lint
* lint
* Fix tests
* Try preventing redirects from WP menu click
* Revert "Try preventing redirects from WP menu click"
This reverts commit 8ef6dcf4dd.
* normalize IDs for form fields and fix types
* update docs as well
* update rest of docs
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix linting for document
* also align classnames
* revert to correct classname
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add workflow_call event
* Add tests-daily-run.yml
* Remove workflow version
* Update input value
* Remove secrets from caller workflow
* Rename job
* Check context
* Check context
* Check workflow_call inputs
* Override github.event_name with inputs.trigger
* Fix input name
* Add config for daily e2e tests with Gutenberg
* Update env commands for Gutenberg run
* Add disableHpos env variable in ci-utils
* Revert the trigger to push
* Revert the env variable setting in ci-jobs
* Revert the env variable setting in ci-jobs
* Rebuild utils
* Update test env start command
* Define the Gutenberg Playwright project
* Use path relative to workspace root
* Update events for test projects
* Update events for test projects
* Add changelogs
* Remove the e2e tests with Gutenberg tests from daily runs
* Set the schedule and workflow_dispatch triggers
* Add --project default flag to only run the default tests in CI
* Renamed snapshots to match the new Playwright project name
* allow focusedOnMount element to be reset
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix live branch menu not show up
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename blocks to to distinguish them from new blocks
* Add changelog
* Change the naming convention to XYZ (Classic)
* Update classic templates descriptions
* Fix package.json lint error
* Add Skip button to Design With AI steps.
* Add changefile(s) from automation for the following project(s): woocommerce
* Use window.location.href to redirect instead.
* fix css linter errors
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Add disableHpos test env variable
* Update events for HPOS disabled tests
* Add pull_request event to test the env
* Remove the pull_request event
* Add changelog
* Make the disableHpos var a boolean
* Also set the env in ci.yml
* Remove console log statement
* Print woocommerce_custom_orders_table_enabled
* Run test setup script again to check output
* Capture env setup output and print it
* Get woocommerce_custom_orders_table_enabled value in test env script
* Get more details on HPOS setting
* Remove the DISABLE_HPOS logic from test env setup script
* Use DISABLE_HPOS instead of ENABLE_HPOS everywhere
* Turn off no-console and jest/no-standalone-expect eslint rules for api core tests
* Test API tests with HPOS disabled
* Fix eslint error
* Clean up debug statements
* Remove pull_request test trigger
* Run wc_update_900_add_launch_your_store_tour_option on WC 9.0 update
* Add changefile(s) from automation for the following project(s): woocommerce
* Use add_option
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Simplify final step in CYS when entering from Entrepreneur Signup.
* Add changelog.
* Update plugins/woocommerce-admin/client/customize-store/transitional/index.tsx
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Show My Home button as primary button only on Entrepreneur flow.
* Use 'customize_your_store_entrepreneur_home_click' tracks event instead.
---------
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Use the term attribute sort order for the "Filter by attribute" block
* Allow `id` and `name_num` orderby values
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Properly format order counts
* Remove superfluous tooltip
* Add "is-error" class for admin settings
* Remove unused option in DataSynchronizer
* Use non-persistent group "counts" for caching count of orders pending sync
* Drop redundant method from COT controller
* Standardize usage of <strong> in COT settings
* Drop unused import
* Allow manual sync to be stopped
* Reword messages in HPOS screen
* Make PHPCS happy
* Add changelog
* Fix unit test
* Fully deprecated DataSynchronier::get_sync_status()
* Extract translatable string to prevent duplication
* Replace the Legacy REST API with a stub that always returns an error.
If the Legacy REST API plugin is installed, it will "take over"
the stub and the API will be available again without noticeable
changes in behavior.
* Move the get_endpoint_data method to WooCommerce core
This method was part of the legacy REST API package but is actually
being used to query endpoints of the new REST API, so it actually
belongs to WooCommerce core.
It has been placed in a new src/Utilities/RestApiUtil class.
The existing src/Internal/RestApiUtil class has been renamed
ro RestApiParameterUtil to avoid confussion.
* Move the register_wp_admin_settings to WooCommerce core.
This method was part of the legacy REST API package but it's needed
for certain endpoints of the current REST API, for example
settings/general/woocommerce_specific_allowed_countries
* Adjust unit tests for the removal of the legacy REST API.
Basically, some tests no longer make sense so they are removed.
* Adjust webhooks for the removal of the legacy REST API.
If a webhook is configured to compose its payload using the
legacy REST API format, and the separate legacy REST API plugin
is not installed, an exception will be thrown. This will cause
the scheduled action that does the webhook delivery to fail.
* Add warning in the webhooks settings page.
The warning will show if the legacy REST API is not available
and there's at least one plugin that is configured to be delivered
using legacy payloads. Each hook will have an exclamation symbol
next to its name in the table.
Additionally, inside the webhook edition page the legacy payload
option will display "NOT AVAILABLE" instead of "deprecated"
when the legacy REST API is not available.
* Add support for queries containing the "wc-api" variable.
These queries will return a 400 error by default, but
"woocommerce_api_request" and "woocommerce_api_(query)" actions
are available for custom processing.
* Enable the woocommerce_api_enabled option if the Legacy API plugin
is installed and the option is disabled.
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Mark get_woocommerce_api_url function as deprecated
* Mark $api property in WooCommerce class as deprecated
* Replace call to wc()->api->get_endpoint_data in Checkout class
Replace it with just wc()->cart, which is what the invoked
endpoint was doing in the end.
* Use get_endpoint_data to get the data from /wc/store/v1/cart
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add type safety, update coming soon entire site changes for fonts
* Add conditional font to support TT24 and other themes
* Revert unnecessary change
* Changelog
* Lint
* Fix: Ensure Product Collection Block Respects "Hide Out of Stock Items" Setting
- Added logic to include the "Out of stock visibility" setting in the Product Collection block.
- Modified `ProductTemplateEdit` component to use the `getDefaultStockStatuses` function.
- Ensured that out-of-stock products are hidden in the Product Collection block when the "Hide out of stock items from the catalog" option is enabled.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove check for logged in user on the order received page, enabling guest users with a valid link to visualize the order shipping/billing addresses.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update comment
* Bumped template version
* fix linting
* ignore hook for the whole file
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* skip fields not present in schema
* remove from sanitize as well
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make shipping total show FREE if price is 0
* Make free text uppercase in order summary
* Add test to check free/paid shipping displays as free or shows price
* Add changelog
* Update E2E test to make sure shipping is selected correctly
* Update shipping cost e2e tests
* Further fixes to e2e tests
* correctly build up the hash on windows
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show WordPress logo when entering Design With AI from Enterpreneur signup flow.
* Update logo on Assembler Hub.
* Really need to force it.
* Add changelog.
* Newline.
* Newline.
* Fix rebase error.
* Fix double import.
* Remove !important.
* If the Legacy REST API plugin is auto-installed once, do not auto-install a second time.
* Remove unused private constant (PluginInstaller records the info we need in a sitewide option).
* Introduce the woocommerce_history_of_autoinstalled_plugins option
This option holds the same data as woocommerce_autoinstalled_plugins,
the difference is that the data in this new option is never deleted.
It's also never updated, it just holds the information of the
first autoinstall for each plugin.
* Add a migration to create woocommerce_history_of_autoinstalled_plugins
* More robust check of previous autoinstall of the plugin
* Change migration to run in 8.9.1 instead of 9.0.0
---------
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* Add validation for array_sum in Orders v1 controller
* Add an array_sum method to NumberUtil
* Update orders controller to use NumberUtil's array_sum
* Add NumberUtil array_sum to order item classes
* add subscription expiry message on plugin list
* Update changelog
* fix lint
* refactor code
* update product price meta
* add tracks event for enable autorenew and renew subscription notices in plugin lists
* fix lint error
* check product price is set or not
* check product price is set or not
* added translator comment
* fix typo
---------
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Remove the view file rendering old market-place page.
* Remove the function for rendering old market-place pages and introduce redirects to new in-app market-place.
* Remove unused code related to legacy market-place.
* Add exit after redirect.
* Add changefile(s) from automation for the following project(s): woocommerce
* Redirect to search result page when a search term exists.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add changefile(s) from automation for the following project(s): woocommerce
* Addressing linter errors.
* Allow unusually-long email addresses of sharers to wrap
* Switch wordWrap for overflowWrap
Modern browesers interpret the former as an alias of the latter, including allowing the use of 'anywhere'. But the current version of https://www.npmjs.com/package/csstype only recognises 'anywhere' as valid for overflowWrap. Switching it prevents compilation errors, still exhibits the correct behavior.
* Prettier linting
* Update plugins/woocommerce/changelog/46229-add-wccom19063-in-app-shared-by-badge
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Use pointer as cursor for status popovers
* Don't focus-within the status badge popover on load (prevents ugly link focus issue)
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Make sidebar sticky on desktop
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* limit sidebar sticky to cart only
* add useless new line
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prevent collection different than Produyct Catalog from being filtered
* Adjust Product Filters tests
* Split taxonomies filter into seperate filter per taxonomy
* Add changelog
* Improve onDeselect function
* Update Product Filter test handlebars so they all use Product Collection that inherits query from template
* Set Product Collection to inherit query from template in PHP unit tests
* Remove unnecessary empty space
* Add changelog
* Update tests
* Fix lint
* Update Product Collection attributes in filter E2E handlebars
* Update the Product Filters testing pages title
* Satisfy TS by returning single React element rather than array of elements
* Revert some incorrect changes
* Cleanup after accidental incorrect merge
* Add template utils to dynamic contents util
* Fix Attribute Filter tests
* Cleanup Attribute tests, refactor and fix types
* Add product filter on top of attirbute filter in handlebars
* Fix lint
* Update Rating filter tests to use Product Archive template instead of post
* Update Rating Filter handlebars
* Update Stock filter tests to use Product Archive template instead of post
* Update Stock Filter handlebars
* Add more granular util to update Produyct Catalog based on handlebar template
* Use Product Catalog util and simplify test scenarios
* Unify handlebar templates
* Fix Product Collection attributes in Product Filter handlebar templates
* Revert temporary timeouts increase
* Remove unused types
* Cleanup types
* Cleanup types
* Lint fix
* Rename updateTemplatesContent to updateTemplateContents to better depict its purpose
* Fix types
* Rename updateProductCatalogContent to updateProductCatalogTemplate to better depict its purpose
* Allow for beforeAll and afterAll in PW tests
* Use beforeAll and afterAll instead of using fixture in active filters test
* Use beforeAll and afterAll instead of using fixture in attribute filters test
* Use beforeAll and afterAll instead of using fixture in price filters test
* Use beforeAll and afterAll instead of using fixture in rating filters test
* Use beforeAll and afterAll instead of using fixture in stock status filters test
* Get rid of updateProductCatalogTemplate util as it's too specific
* Extract some constants
* Remove unused file probably added here by accident
* Adjust Attribute Filter block tests to the new logic
* Merge fix
* Bring back necessary handlebars file
* Merge fix
* Merge fix
* Update beforeAll
* Avoid relying on product collection page object in before all
* Bring back the original order of tests
* Switch Filter by Attribute tests to handlebars
* Fix typo
* Update test to new circumstances
* Fix hooks usage
We no longer use hooks other than `beforeEach` since we're resetting the DB for each test (#46125). Using other hooks was not caught by the linter (on this PR) because I accidentally removed the no-hooks rule in #47228 and restored it just now in #47500. 😅
* Fix the test
* Fix Price filter test
* Update attribute filter tests
* Share the handlebars between tests
* Update price filter tests
* Update rating filter tests
* Update stock filter tests
* Remove unnecessary product collection page object from filter tests
* Fix typo
* Fix Filter by Stock test
* Simplify Attribute filter test by remoiving one filter from page
* Try to wait for element to be visible
* Fix handlebars syntax for filters so it doesnt throw validation errors and warnings
* Wait for filters to be visible for sure before performing further part of test
* Wait for Site Editor canvas loader
* Fix linter error
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace the default image of the Testimonial single pattern
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix: Deleting a shop coupon via the API returns a 500 error
* Add unit test for coupon delete.
* Add changelog.
* PHPCS fix.
---------
Co-authored-by: 79mplus Admin <36501099+79mplus-admin@users.noreply.github.com>
* Fix lint errors
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* return focus on drawer
* adjust notice button color
* adjust cart/checkout input label color
* return focus for shipping form button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* remove the generic incompatible notice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Turn Change address link to button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* skip data serialization for customer meta
* keep casting as is
* skip old comment
* Add changefile(s) from automation for the following project(s): woocommerce
* actually leave the comment, it still make sense
* reduce code needed
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace promotions - ensure action is always there
We started getting errors 'Scheduled action for woocommerce_marketplace_fetch_promotions will not be executed as no callbacks are registered.' on some environments.
In this commit we ensure that WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions() is always added as a calback to our action hook.
* Marketplace promotions - switch from Action Scheduler to transients
We're switching fetching marketplace promotions from using Action Scheduler
every 12 hours, to a 1 day transient. This makes it easier to ensure that
the requests are triggered only for admins, and that they don't impact frontend
users of the stores.
* Changelog
* Clear action from Action Scheduler
Action woocommerce_marketplace_fetch_promotions is no longer used, so we're clearing it when it's triggered.
Since we cannot self-clear the action, we're triggering a new single action when woocommerce_marketplace_fetch_promotions is run.
This new action's sole responsibility is to clear the original action.
* Fix input clearing issue in PriceTextField with improved currency parsing
This commit addresses a usability issue in the PriceTextField component, highlighted by @dinhtungdu, where the input field would clear itself if users omitted a space between the numeric value and the currency symbol when the currency is configured to appear on the right with a space (e.g., "20$" instead of "20 $"). The problem was rooted in the strict parsing logic that did not account for variations in user input related to currency formatting.
The fix involves an enhancement to the numeric parsing function, which now effectively handles various user inputs regardless of space or placement of the currency symbol. The revised parsing logic uses a regular expression to strip out any characters that are not numeric or the designated decimal separator, and then replaces the locale-specific decimal separator with a period for standard numeric conversion. This approach not only fixes the specific issue but also improves the robustness of the component against similar input variations.
* Refactor currency parsing and improve handling in PriceTextField
1. Renaming `formatValueAsCurrency` to `formatNumberAsCurrency` to better
reflect its functionality.
2. Moving the `convertCurrencyStringToNumber` function outside of the
PriceTextField component, enhancing readability and reusability.
3. Changing the internal state handling from `newValue` to `inputValue`,
directly managing the string input and parsing it as needed for further
processing. This will force input field to re-render.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix: Handle empty string in price conversion to prevent 0 value
This commit fixes an issue where an empty string in the price conversion function resulted in a value of 0. Now, empty strings are properly handled and do not convert to a numerical value.
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix: handle undefined templateSlug in Product Collection tracking utils
The modification introduces a check for templateSlug before attempting to access its properties or use it in further logic. This change addresses a bug that manifested when users tried to edit a synchronized Product Collection block, resulting in a JavaScript error because templateSlug could be undefined.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Update types to better reflect reality
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Update styles for WooCommerce coming soon page
- Add min-width to container for better responsiveness
- Adjust padding for smaller screens
- Update font size and text wrapping for banner
* Add changelog
* Improve readability
* Bump version to 2.3.1 and add changelog
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Update readme.txt and clean up old changelog files
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Fix JS unit tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Support for Business Services in in-app marketplace ()
Contains the changes from:
#46530#46725#47048#47135#47183#47227#47352#47452
* Update plugins/woocommerce-admin/client/marketplace/README.md
Fix documentation punctuation
---------
Co-authored-by: Raja Sekar Manimaran <raja.sekar.manimaran@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
Co-authored-by: Dan Q <dan@danq.me>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Migrate multiple tests to Playwright
* fix path
* migrate other tests
* add product best sellers E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* migrate jest-puppetter E2E tests to Playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Blocks: Delete Jest-Puppeteer infrastructure
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Remove obsolete waitForLoadState call
* improve E2E tests
* fix E2E tests
* improve E2E tests
* remove old test
* remove not necessary test
* fix number product
* fix E2E test
* fix number of products
* fix product count
* refactor store notice E2E tests
* update string
* fix E2E test
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* POC: Preview Mode using HOC
* Add explanation as comments
POC: Implement preview mode for Product Collection block in editor
- Added extensive commentary to clarify the mechanism and usage of the `handlePreviewState` function
- Implemented an internal state within `ProductCollectionContent` to manage preview status and messages, serving as a foundational example of how preview mode can enrich block functionality.
- Showcased the application of `handlePreviewState` by incorporating it as a prop in `BlockEdit`, illustrating the potential for extending the block's capabilities for dynamic and interactive previews.
This POC demonstrates a flexible approach to managing preview states within the editor, paving the way for further development and integration based on feedback and use-case analysis.
* Refactor preview state handling and collection registration
This commit introduces a centralized approach for registering product collection variations and managing their preview states. It abstracts the registration logic into a dedicated function and enhances the flexibility of preview state handling across different collection types.
* Rename file
* Minor improvements
* Don't pass previewState to handlePreviewState
I don't see any good use of it in handlePreviewState. Also, We will be going to call handlePreviewState only once
therefore, it will always have the same value as the initial value of the previewState. If in future, we decide to run it
multiple times then we can pass the previewState as an argument to handlePreviewState.
* Add comment
* Use JS closure to inject handlePreviewState
This commit introduces a refined approach for injecting the `handlePreviewState` function into product collection blocks, utilizing JavaScript closures to streamline the process. This method replaces the previous global registry mechanism, offering a more direct and efficient way to manage preview states.
Advantages of This Approach:
- Utilizing JavaScript closures for injecting `handlePreviewState` simplifies the overall architecture by directly modifying block edit components without relying on an external registry. This method enhances code clarity and reduces the cognitive load for developers.
- The conditional application of `withHandlePreviewState` ensures that the preview state handling logic is only added to blocks that require it, optimizing performance and maintainability.
* Refactor preview state management into custom hook
This commit enhances the organization and readability of the product collection content component by abstracting the preview state management into a custom hook named `usePreviewState`. This change streamlines the component's structure and aligns with React best practices for managing state and side effects.
Key Changes:
- Introduced `usePreviewState`, a custom hook responsible for initializing and managing the preview state (`isPreview` and `previewMessage`) of the product collection block. This hook encapsulates the state logic and its side effects, including the conditional invocation of `handlePreviewState`.
- Modified `ProductCollectionContent` to utilize `usePreviewState` for handling its preview state. This adjustment makes the component cleaner and focuses it more on presentation and behavior rather than state management details.
* Replace useEffect with useLayoutEffect
* Add cleanup function in handlePreviewState function
Based on [this discussion](https://github.com/woocommerce/woocommerce/pull/45703#discussion_r1535323883), I added a cleanup function support for handlePreviewState. `handlePreviewState` can return a function which will be called on cleanup in `useLayoutEffect` hook.
* Fetching random products in Preview mode
* Allow collection to set initial preview state
* Pass location & all attributes to handlePreviewState function
* Handling collection specific query for preview mode
- Consolidated `handlePreviewState` and `initialPreviewState` into a single `preview` prop in `register-product-collection.tsx` and `product-collection-content.tsx` to streamline prop passing and improve the component interface.
- Updated the `queryContextIncludes` in `constants.ts` to include 'previewState'
- Enhanced the `ProductCollection` PHP class to handle preview-specific queries more effectively, introducing a new method `get_preview_query_args` that adjusts query parameters based on the collection being previewed, thereby improving the relevance and accuracy of products displayed in preview mode.
* Always set initialPreviewState on load
* Refine preview state handling
- Renamed `HandlePreviewStateArgs` to `SetPreviewStateArgs` in `featured.tsx` to better reflect its purpose, which is now more focused on setting rather than handling states. The implementation details within `featured.tsx` have also been refined to include async operations and cleanup functions, demonstrating a more sophisticated approach to managing state.
Overall, these updates make the preview state logic more understandable and maintainable.
* Rename "initialState" to "initialPreviewState"
* Fix: Correct merging of newPreviewState into previewState attribute
This commit addresses an issue in the product-collection-content.tsx where the newPreviewState was not properly merged into the existing previewState attribute. Previously, the spread operator was incorrectly applied, leading to potential loss of existing state attributes. By changing the order of operations and correctly spreading the existing attributes before merging the newPreviewState, we ensure that all state attributes are preserved and updated correctly.
* Initial refactor POC code to productionize it
* Move `useSetPreviewState` to Utils
* Implement preview mode for Generic archive templates
Implemented a new useLayoutEffect in `utils.tsx` to dynamically set a preview message in the editor for product collection blocks located in generic archive templates (like Products by Category, Products by Tag, or Products by Attribute).
* Remove preview mode from Featured and On sale collection
* Remove preview query modfication for On Sale collection
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Fix: hide/show preview label based on value of "inherit"
If user change the toggle "Sync with current query", then it should reflect for the preview label as well.
- If the toggle is on, then the preview label should be shown.
- If the toggle is off, then the preview label should be hidden.
* Minor improvements
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Refactor: Simplify SetPreviewState type definition in types.ts
This commit refines the SetPreviewState type definition by eliminating the previously used intermediate interface, SetPreviewStateArgs. The change streamlines the type definition directly within the SetPreviewState type, enhancing readability and reducing redundancy.
* Update import syntax for ElementType in register-product-collection.tsx
This commit updates the import statement for `ElementType` from `@wordpress/element` to use the more modern and concise `import type` syntax. This change does not affect functionality but aligns with TypeScript best practices for importing types, ensuring that type imports are distinguished from regular imports. This helps in clarity and in optimizing the build process by explicitly indicating that `ElementType` is used solely for type checking and not included in the JavaScript runtime.
* Refactor: Update TypeScript usage in Product Collection
This commit introduces several TypeScript refinements across product-collection components:
1. **DEFAULT_ATTRIBUTES** in `constants.ts` now uses `Pick` to explicitly define its shape, ensuring only relevant attributes are included and typed accurately.
2. **ProductCollectionAdvancedInspectorControls** and **ToolbarControls** in the `edit` subdirectory now use `Omit` to exclude the 'preview' property from props, clarifying the intended prop usage and improving type safety.
These changes collectively tighten the type definitions and improve the codebase's adherence to best practices in TypeScript.
* Refactor: Update dependencies of useSetPreviewState hook in utils.tsx
This change enhances the stability and predictability of the hook's behavior, ensuring it updates its internal state accurately when its dependencies change, thus aligning with best practices in React development.
* Refactor preview button CSS and conditional rendering
1. **CSS Refactoring:** Moved the positioning styles of the `.wc-block-product-collection__preview-button` from inline styles in the JSX to the `editor.scss` file. This separation of concerns improves maintainability and readability, aligning the styling responsibilities solely within the CSS file.
2. **Conditional Rendering Logic:** Updated the rendering condition for the preview button. Now, it not only checks if `isPreview` is true but also if the block is currently selected (`props.isSelected`). This prevents the preview button from appearing when the block is not actively selected, reducing visual clutter and enhancing the user experience in the editor.
* Enhance: Update preview button visibility logic in ProductCollectionContent
This commit enhances the visibility logic of the preview button in the `ProductCollectionContent` component:
1. **Added `isSelectedOrInnerBlockSelected`:** Introduced a new `useSelect` hook to determine if the current block or any of its inner blocks are selected. This ensures that the preview button is visible when either the product collection block or any of its inner blocks are selected.
2. **Updated Conditional Rendering:** Adjusted the conditional rendering of the preview button to use the new `isSelectedOrInnerBlockSelected` value, providing a more intuitive user experience by ensuring the preview button remains visible when any relevant block is selected.
* use __private prefix with attribute name
* Add E2E tests for Preview Mode
1. **Template-Specific Tests:** Each template (tag, category, attribute) undergoes a test to ensure the preview button behaves as expected when replacing products with product collections in these contexts.
2. **Visibility Checks:** The tests verify that the preview button is visible when the block or its inner blocks are selected and hidden when the block is not selected. This helps confirm the correct implementation of the preview button visibility logic across different use cases.
3. **Interaction with Inner Blocks:** Additional checks are included to ensure the preview button's visibility toggles appropriately when interacting with inner blocks, reinforcing the dynamic nature of block selection and its effect on UI elements within the editor.
* Add setPreviewState to dependencies
* Add data-test-id to Preview button and update e2e locator
Modifications:
- Added `data-test-id="product-collection-preview-button"` to the Preview button in `product-collection-content.tsx`.
- Updated the corresponding e2e test locator in `product-collection.block_theme.side_effects.spec.ts` to use the new `data-test-id` instead of the class name.
By using `data-test-id`, we ensure that the e2e tests are not affected by changes in the styling or restructuring of the DOM that might alter CSS classes but do not affect functionality.
* Enhance: Localize preview message in useSetPreviewState hook
* Don't show shadow & outline on focus
* Make preview button font same as Admin
* Fix SCSS lint errors
* Add missing await keyword
---------
Co-authored-by: github-actions <github-actions@github.com>
* Do not display smart app banner on the core profiler pages
* Add changefile(s) from automation for the following project(s): woocommerce
* Ignore hook doc errors -- need to re-visit this later
* Document filters with basic info -- using 6.5.0 for since tag. That is the first release after WC Admin was merged to the core
* Update plugins/woocommerce/src/Internal/Admin/Loader.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Update XPF currency symbol to XPF
* Change XPF default locale formatting
* Change decimal separator of countries that use XPF to dot
* Add changelog entry
* Update changelog entry
* Fix XPF test data
* Fix some JS linting issues
* Revert "Fix some JS linting issues"
This reverts commit 51abcf4117.
* Fix some JS linting issues
* mutate the original instance of the block array
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create trackInteraction function and pass it to query Insprector Controls
* Add tracking to Attribute filter
* Add tracking to Created filter
* Add tracking to Featured filter
* Add tracking to Handpicked Products filter
* Add tracking to Inherit Query filter
* Add tracking to Keyqord filter
* Add tracking to On Sale filter
* Add tracking to Order By option
* Add tracking to Stock Statusoption
* Add tracking to Price Range filter
* Add tracking to Taxonomies filter
* Fix lint errors
* Add changelog
* Rearrange the logic of recognising the tracks location so it's more reliable
* LYS spec
* get homescreen check working
* move over to shopper
* basic test
* get first test working
* Store only coming soon mode - logged out
* add logged in ttests
* linter
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove skip from tests
---------
Co-authored-by: github-actions <github-actions@github.com>
In the interest of avoiding pagination this refactor swaps the current term loading with one that doesn't require a cache of all terms. We've removed the need for the cache by storing the ID and term name together in the token/suggestion list and using a display transformation to hide any unnecessary information.
* Product Filters: add individual clear button
* Remove unused style.scss
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* Simplify searching for the tag
* Convert to use button instead of anchor
* Try using iAPI to show/hide clear button
* Use local context instead of global state
* Fix linting error
* Remove unneeded context
* Update clear button block description
* Fix frontend PHP error
* Add e2e tests for attributes filter clear button
* Add e2e tests for price filter clear button
* Add e2e tests for rating filter clear button
* Add e2e tests for stock status filter clear button
* Address feedback and use built in locators
* Address feedback and replace the use of timeouts
---------
Co-authored-by: github-actions <github-actions@github.com>
* select a shipping rate if there are no shipping rates on mount
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* move code and explain it
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make german state field visible but not required
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable the save changes button until changes are made
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix broken test
* Test
* Remove test code
* Tmp fix - fix broken test
* Fix incorrect comparison
* Remove test code
* minor refactor -- re-use setting
* Remove use of loadash isequal
---------
Co-authored-by: github-actions <github-actions@github.com>
* reset state if it's not valid for the current country
* reset postcode as well
* Add changefile(s) from automation for the following project(s): woocommerce
* update logic so its in Checkout block instead of store api
* fix linting
---------
Co-authored-by: github-actions <github-actions@github.com>
* Adds filter `woocommerce_order_received_verify_known_shoppers` to allow known shoppers to access the order received page without being logged in in Order Confirmation template
* Added changelog
* Added filter docblock
* Refactored to apply the filter correctly for non-guests only.
* Restored comment.
* Added test
* Added test
* lint
* Change plugin package name
* Update plugin name (apparently slugs are formed from that)
* Added right prefix
* JS linting
* Refactored testing into a test.step()
* typo
* Fixed tests.
* Reverted change done by mistake.
* remove getByRole specificity
* Increase selector specificity specificity
* Change test prefix
* reduce test flakyness
* reduce test flakyness
* reduce test flakyness
* Move country to top of form for all countries
* adjust styling
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update to pnpm 9.1 and fix a mini css bug
* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
* temporarily disable swallowing build output to diagnose issue with perf workflow
* Ignore some type issues that commonly resurface when deps slightly change
* Fix persistent type issues that have recurred many times
* Add more ignores
* Fix lint issue
* Revert change to swallow build error
* Improve access of the config that needs updated build dir.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Respect locale setting to format order counts in admin orders list page
Fixes#47372
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Added phone number support to Shipping Address and refactor the code.
* Refactored to avoid evaluating extra if on !== billing address form
* Add changefile(s) from automation for the following project(s): woocommerce
* Fixed tests.
* Mock phone number consistency
* Add a feature flag for full composability and the Pattern Toolkit projects.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make method to getAttributionData externally accessible
* Include checks for sjbs availability
* Failsafe for the custom html element if sbjs isn't available
* Changelog
* Fix inverted logif for readable file check in FileExporter::emit_file
* Fix: instance of WP_Error being passed to PageController::handle_list_table_bulk_actions
* Fix basic usage code snippet example in extend-rest-api-add-data.md
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use flow layout
* Tmp fix - fix broken test
* Add changefile(s) from automation for the following project(s): woocommerce
* Use flex layout
---------
Co-authored-by: github-actions <github-actions@github.com>
* Freemium: update marketplace product card label
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Change default PP Standard should_load logic to be more strict when setting to true
* Remove filter allowing stores to enable PayPal Standard programmatically
* Adds new function to check if the store has any PayPal Standard orders
* Upgrade script that disables PayPal Standard on stores that aren't using it.
* Add changelog entries
* Fix extra comma
* PayPal email is defaulted to the admin email which means checking needs_setup() isn't reliable
* Load PayPal standard in unit tests
* Before installing WC, set the Paypal Standard should load to true
* Remove unnecessary ternary when setting default should_load
* On upgrading WC, only check for PayPal Standard live keys to determine if it's setup
* Remove admin notice if PayPal Standard is disabled on ugprade
* Display an admin notice if the store is using the deprecated filter to load PayPal Standard.
* Add docblock comment above the apply filters
* Added checks around the filter and give pref to enabled.
git add .
* Remove the should load filter notice.
* Add comment noting that init class shouldnt be removed.
* Use proper casting for this->enabled before usage.
---------
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* Adding padding to the copy link
* Add changefile(s) from automation for the following project(s): woocommerce
* Tmp fix - fix broken test
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix permission check in RestApiControllerBase
Extra arguments were being passed incorrectly to current_user_can,
causing wrong authentication failures in some cases (e.g.
when hitting the endpoints in a wp.com site via Jetpack tunneling).
* Fix get_order_data in ReceiptRenderingEngine
A fatal error was being thrown when one of the products referenced
in the order did no longer exist.
* Update toolbar store link
"Preview store" when coming soon mode is enabled
"View store" when the site is set to live
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove hover background
* Add changefile(s) from automation for the following project(s): woocommerce
* Tmp fix - fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: not run font picker tests on WordPress 6.4
* improve how the test is skipped
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix RIN Display Logic for Banner Alert Notifications
* Add tests
* Add changelog
* Update test
* Add test
* chore: fix unactioned note status check in EvaluateAndGetStatus.php
* Replace Options.php usage with LaunchYourStore controller
* Add changefile(s) from automation for the following project(s): woocommerce
* Catch error, but ignore it
* Tmp fix - fix broken test
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use wp_plugin_dependencies_slug
* Fix incorrect function name
* Remove unnessary content-type header
* Add doc block for wp_plugin_dependencies_slug filter
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester, woocommerce
* Tmp fix - fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* REST API: Add missing line item schemas to refunds endpoint
In #28241, `fee_lines`, `shipping_lines`, and `tax_lines` properties
were all added to the refund data object sent by v2 and v3 of the
REST API. However, the schema was never updated, so the characteristics
of those properties have not been very discoverable. This simply
copies the relevant schema data from the orders endpoint over to the
refunds endpoint.
Towards #43444
* phpcs cleanup
* Change “Pickup options” to “Pickup locations”
* Always show pickup location and truncate pickup details
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Adjust spacing between pickup details and more link
* Hide pickup details of unselected pickup location
* Adjust line height of truncated text
* Show “Read more/less” instead of “more/less”
* Ensure both lines are equally filled with text
---------
Co-authored-by: github-actions <github-actions@github.com>
* WIP: Display price in place order button
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix JS lint error
* Update e2e tests
* Display default place order button including placeholder in page editor
* Update plugins/woocommerce-blocks/assets/js/blocks/checkout/inner-blocks/checkout-actions-block/constants.tsx
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Optimise i18n using sprintf
* Wrap cart totals in “useSelect”
* Temporary skip failing e2e test
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Seghir Nadir <nadir.seghir@gmail.com>
* Fix event when starting the no AI flow
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix broken checkout address forms layout
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
This addresses coupon usage limits for failed & trashed orders by ensuring that coupon usage is decremented when a transaction fails or an order is trashed.
Fixes#31245
* Added tests to check coupon usage count on failed & trashed orders
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* Add filter woocommerce_update_coupon_usage_invalid_statuses, wc_update_coupon_usage_counts actions -> failed/trashed
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* document woocommerce_update_coupon_usage_invalid_statuses filter
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* formatting
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* Add changelog file
Signed-off-by: Scott Fleming <scott@noblwheels.com>
* Update plugins/woocommerce/includes/wc-order-functions.php
Appease the code style linter
* Update plugins/woocommerce/tests/php/includes/wc-order-functions-test.php
Appease the code style linter
---------
Signed-off-by: Scott Fleming <scott@noblwheels.com>
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Inject the fields (only once) on a large set of checkout form actions
* Changelog
* Better doc format
* Add _once to the new method to clarify functionality
* Filter to modify the default list of actions
* Check WP version before adding Customer Account hooked block due to usage of hooked_block_{} filter
* Changelog
* Replace global with get_bloginfo('version') for getting WP version
* Create a hook to filter the woocommerce blocks that can be registered.
This will decrease the server execution time, the amount of css and javascript downloaded.
In the case of the product editor the woocommerce blocks are non needed or required, so it's not necesary to register them all.
* Add changelog file
* Fix php linter errors
* Get the tax_rate from the woocommerce_order_itemmeta table and country, state and priority from woocommerce_order_items
* Add changelog file
* Fix the resulting items when searching by specific tax rates
* Add some comments to clarify the fix
* Fix php linter errors
* Show modified tax rates and tax names as well as the deleted ones to better show the total calculations
* Fix php tests
* fix Lint issue
* update tests
* Fix some tests
* Add teardown
* Remove tests that were not relevant anymore
* Update teardown function
* Fix linter errors
* Update comment typos
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
---------
Co-authored-by: Damián Suárez <rdsuarez@gmail.com>
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
Co-authored-by: Matt Sherman <matt.sherman@automattic.com>
* Product Reviews: not use useBlockProps twice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* added a new parameter manual_update when updating order through WC REST API
* added the new parameter to the item schema
* Add changefile(s) from automation for the following project(s): woocommerce
* Update unit test
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* REST API: Add endpoint to get refunds directly
This makes it possible to request a list of refunds that are untethered
from their associated orders, with options to specify a date range
and/or a sort order.
Fixes#27568
* Add changelog file
* phpcs cleanup
* Add unit test
* More phpcs cleanup
* Add parent_id to response object
* Appease phpcs
* Add 'placeholder' attribute to taxonomy block and add 'placeholder' attribute to category field in Simple Product Template
* Only show placeholder when nothing is selected
* Remove suffix from function parameters
* Add changelog for component
* fix unit tests
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Migrate multiple tests to Playwright
* fix path
* migrate other tests
* add product best sellers E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* migrate jest-puppetter E2E tests to Playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove obsolete waitForLoadState call
* improve E2E tests
* fix E2E tests
* improve E2E tests
* remove old test
* remove not necessary test
* fix number product
* fix E2E test
* fix number of products
* fix product count
* refactor store notice E2E tests
* update string
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* Product Details: not use twice
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix extra /wp-admin from action url link for ticket 46993
* Fix extra /wp-admin from task LaunchYourStore get action url
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Modified query for fetching meta key, making it more perfomant
* added changelog
* Improved query when include_private is true
* Address review feedback
* Address review feedback
* update to display actual woocommerce version on status page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove wc_update_890_add_launch_your_store_tour_option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename filter options in Orders Analytics.
* Sort filter options in labels in Orders Analytics.
* Change filter labels to singular.
* Wider label column to accommodate label change.
* Rename filter options in Variations Analytics.
* Change filter options to Attribute, Category and Product in Variations Analytics.
* Revert "Change filter options to Attribute, Category and Product in Variations Analytics."
This reverts commit b3ca5d5807.
* Change "Add a Filter" to "Add a filter".
* Add changelog.
* Add changelog.
* Refactor getAvailableFilterKeys and getAvailableFilters into one function.
* Add code comment and remove unneeded code.
* Code refactor getAvailableFilters.
This is done by starting from allFilterKeys, and filtering with allowMultiple or not yet active.
With this, we don't need to have `inactiveFilterKeys` and "Ensure filters that allow multiples are always present."
* Fix tests and lint issues.
* Simplify code with Object.entries.
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Blocks: Migrate multiple tests to Playwright
* fix path
* migrate other tests
* add product best sellers E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove obsolete waitForLoadState call
* improve E2E tests
* fix E2E tests
* fix E2E test
* remove not necessary changelog
* improve E2E tests
* remove not necessary folder
* fix test
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* Update env setup script to disable hpos
* Use DISABLE_HPOS instead of ENABLE_HPOS
* Log HPOS state
* Configure project for core e2e with HPOS disabled
* Add event argument for ci-jobs util
* Add event option for test jobs
* Add support for github events
* Add changelog
* Configure HPOS tests to run on pull_request
* Fix utils tests for undefined commandVars
* Added some tests for the event configuration
* Revert event for HPOS e2e to push
* Use matrix name in artifact name to avoid duplication
* Test with pull_request event
* Use job-index for unique artifacts names
* Revert event for HPOS e2e to push
* Add api tests for HPOS disabled
* Use unique artifact name for api tests
* Revert event for HPOS disabled api tests to push
* Rebuild monorepo utils to fix a merge conflict
* Updated wording
* Return with home URL when permalink structure is empty
* Add changefile(s) from automation for the following project(s): woocommerce
* Always includes home url
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor shipping sections
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Refactor various files and adjust e2e tests
* Display expected styles for “Ship” and “Pickup” in the page editor
* Use exact selector
---------
Co-authored-by: github-actions <github-actions@github.com>
* Refactor to wrap everything under cover block
* Changelog
* Cleanup and fix classic theme
* Wrap center with stack for ease of adding elements nearby
* Update styles
* Fix dynamic background color
* Style clean up
* Remove unused code introduced in 2014 but that has never been used
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Alexis Urien <alexis@smiile.com>
Co-authored-by: github-actions <github-actions@github.com>
* Prevent product being saved prematurely when updated via REST API
This includes the wc_product_attach_featured_image function
getting a new argument, $save_product, defaulting to true.
* Add changelog file
* Ensure the get_patterns_ai_data_post method is triggered exclusively whenever AI is enabled. Udate the get_patterns_ai_data_post method to rely on get_posts instead of new WP_Query for fetching the results. Enable autoload for the 'woocommerce_blocks_allow_ai_connection' option to improve performance, since it is invoked in pretty much all page loads.
* Enable autoload for the 'woocommerce_blocks_allow_ai_connection' option to improve performance, since it is invoked in pretty much all page loads.
* Add changefile(s) from automation for the following project(s): woocommerce
* address lint error.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use delete query format suppored by wpdb::get_table_from_query() in Abstract_WC_Order_Data_Store_CPT::delete_items()
* Add changefile(s) from automation for the following project(s): woocommerce
* Add unit test for deleting orders.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* Fix error when the repeating the prompt
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Added testPage fixture and testPgeTitle fixture option
* Update create-cart-block.spec.js to use testPage fixture
* Add changelog
* Update create-checkout-block.spec.js to use testPage fixture
* Update create-page.spec.js to use testPage fixture
* Update create-woocommerce-blocks.spec.js to use testPage fixture
* Update create-woocommerce-patterns.spec.js to use testPage fixture
* Update cart-block.spec.js to use testPage fixture
* Update cart-block-calculate-shipping.spec.js to use testPage fixture
* Update cart-block-coupons.spec.js to use testPage fixture
* Update checkout.spec.js to use some utils
* Update checkout-block-coupons.spec.js to use testPage fixture
* Use cart utils in checkout-create-account.spec.js
* Use cart utils in checkout-login.spec.js
* Use cart utils in order-email-receiving.spec.js
* Update shop-products-filter-by-price.spec.js to use testPage fixture
* Add helpers.js
* Move the page title random name generator in the base fixture to ensure uniqueness
* Remove eslint exceptions
* Use api fixture
* Added key for sku
* Add experimental support for FTS indexes in HPOS. Additionally, revert existing HPOS search queries to use post like structure.
* Add unit tests
* Escape the error messages as per new phpcs rules.
* Fix query with index + added test.
* remove uninteded change.
* Unit test fixes.
* Remove unit test since the commit command breaks other tests.
Use message API instead of notices with defensive checks.
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Blocks: Migrate stock filter to playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove double site editor redirect
* remove not necessary file
* fix test
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* improve E2E tests
* fix test
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* address feedback
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Blocks: Migrate attribute filter E2E tests to playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* update path
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* address feedback
* fix visitSiteEditor
* fix description
* remove not necessary changelog
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* Try stabilizing the company field test
* Use canvas param instead of manually entering edit mode
* Remove double site editor redirect
* Blocks: Migrate rating filter to playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* remove not necessary changelog
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* improve tests
* use visitSiteEditor util
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* use locator.fill
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* address feedback
* remove not necessary changelog
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* try db reset in page teardown
* move reset to setup step
* Use wp db cli
* Fix global setup
That part is overriding the logged in user state and wipes out the nonce and rootUrl fields.
* Try importing instead from a generated dump
* Revert "Try importing instead from a generated dump"
This reverts commit 987dc471c9.
* Revert "Revert "Try importing instead from a generated dump""
This reverts commit c8d008cb20.
* Don't bypass visitSiteEditor so that the Welcome Guide is closed
* use createNewPost
* Revert "Revert "Revert "Try importing instead from a generated dump"""
This reverts commit 2684273582.
* [Blocks]: Fix E2E tests (#46344)
* Load local pickup enabled setting as bool not string
* Add changelog
* Remove unused import
* Update plugins/woocommerce-blocks/assets/js/extensions/shipping-methods/pickup-location/utils.ts
Co-authored-by: Niels Lange <info@nielslange.de>
* Use strict equality test
* try now
* try now
* add a new sql file
* remove default.sql
* fix welcome guide tour
* fix E2E tests
* Fix the template revert tests
...where the template is unreachable due to pagination.
* Add changelog entry
* improve logic to closeWelcomeGuideModal
* fix cart checkout tests
* improve flakiness
* improve flakiness
* fix flaky test
* fix company field
* fix E2E test
* fix E2E tests
---------
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
* Replace beforeAll w/ beforeEach + remove all after* hooks
* Fix broken hooks
* Activate plugins via requestUtils API
* [Blocks - E2E]: Add `playwright/no-hooks` ESlint rule (#46432)
add ESLint configuration
* Clean up console logs
* Remove obsolete language setup steps
* Remove more unnecessary setup steps
* Remove even more obsolete setup steps
* tmp: add the LYS fix
* [Blocks]: Migrate Price Filter tests to Playwright
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* improve description
* Try stabilizing the company field test
* use Product Collection
* Use canvas param instead of manually entering edit mode
* remove blockData
* Remove double site editor redirect
* Revert "Use canvas param instead of manually entering edit mode"
This reverts commit 5e6cc17154.
* Revert "Remove double site editor redirect"
This reverts commit 69a57a82a8.
* Fix flaky products sorting test
* Blocks: Fix ESLint errors (#46595)
fix eslint error
* update test
* add missing import
* Fix ESLint errors (#46626)
* Fix ESLint errors
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* improve E2E tests
* remove not necessary changelog
---------
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
Co-authored-by: Niels Lange <info@nielslange.de>
Co-authored-by: github-actions <github-actions@github.com>
* Logging: keep full context in woocommerce_format_log_entry filter hook
The source value gets removed from the context array before it is
converted to JSON and output as part of the log entry. However, this
means that the source value is not available when the
woocommerce_format_log_entry filter hook fires, so plugins can't easily
determine where the log entry came from. This simply ensures that the
source value is still available to the filter hook, even though it's not
included in the JSON.
* Revert opening up hooked blocks to all block themes.
* Add changefile(s) from automation for the following project(s): woocommerce
* Add version to @since tag in fn comment.
Missing @since version throwing a CI check error:
`A "@since" tag was found but no version declared.`
Adding `8.4.0`, as this was the version referenced before the revert.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Daniel W. Robert <danielwrobert@gmail.com>
* Add publish page util
* Update create-woocommerce-patterns.spec.js to use canvas
* Update create-woocommerce-blocks.spec.js to use the publishPage util
* Fix check for pattern
* Add changelog
* Update cart-block-calculate-shipping.spec.js to use canvas
* Add utility for adding a product to cart and only waiting for the relevant request instead of networkidle
* Update cart-block-coupons.spec.js to use canvas and new utils
* Update shopper/cart-block.spec.js to use canvas and new utils
* Update shopper/cart-calculate-shipping.spec.js to use new utils
* Update shopper/cart-checkout-block-calculate-tax.spec.js to use canvas and new utils.
* Use uuid instead of Date.now()
* Update shopper/cart-checkout-calculate-tax.spec.js to use new utils
* Suppress testing-library/await-async-utils eslint rule
* Add currency for a more strict text based locator
* Don't wait for networkidle
* Don't wait for networkidle in cart-checkout-restricted-coupons.spec.js
* Don't wait for networkidle in cart-redirection.spec.js
* Fix cart.spec.js
* Fix checkout-block-coupons.spec.js
* Fix checkout-block.spec.js
* Fix shop-products-filter-by-price.spec.js
* Add gutenberg to wp-env config
* Dirty fix for multiple coupons test
* Remove Gutenberg from wp-env
Adds the `wc_product_pre_has_unique_sku` filter hook to allow SKU uniqueness to be determined externally in order to avoid an expensive query.
Fixes#46759Fixes#31720
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add autogeneration of block list reference documentation
* Fix typo
* Revert this change
* Fix typo
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add blanklines to surrounding markdown headings
* Generate blocks references markdown
* Add space to header markdown
* Add ancestor information
* Use native Object.keys instead of lodash
* Remove the use of fast-glob
* Revert pnpm lock file changes
* Update plugins/woocommerce-blocks/bin/gen-block-list-doc.js
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Update doc title
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
* Add border around order summary on cart & checkout
* Group subtotal, discount, fees, taxes and shiping block
* Move the coupon form in order summary
* Move the coupon form in order summary
* Manage state externally in Panel component and refactor Coupon form to use the Panel component
* Remove descriptions from order summary items
* increase font weight of order summary title
* Tidy up design for desktop and add separator back in for blocks on checkout order summary
* Remove border around order summary on mobile
* Revert "Move the coupon form in order summary"
This reverts commit 4a8044cdcf.
* Change heading styles for cart
* Change font weight to 500 of order summary heading on checkout block
* Remove padding and border between order summary totals items
* Refactor css for cart & checkout totals to work in the editor
* Adjust cart totals heading in the editor
* Last adjustment to checkout totals style to work in editor
* Add changelog
* Change the cursor to pointer for the panel component
* remove unused short and full description from OrderSummaryItem
* Fix failing e2e tests
* Fix lint issues
* Vertically align order summary title in the editor
* Fix e2e tests
* Fix linting issues
* Fix unit tests
* Remove changes from woocommerce.php
* Fix checkout block test
* fix eslint errors in checkout block test
---------
Co-authored-by: Niels Lange <info@nielslange.de>
* Add FilesystemUtil class and unit tests
* Update logger to use FilesystemUtil
* phpcs cleanup
* Add changelog file
* Extract credentials gathering into a separate method
* Add notice when filesystem init fails
* Simplify getting filesystem credentials
* Tweak messaging in Settings when filesystem is not direct
* Remove unnecessary conditional in file deletion method
* Refactor test_clear
* Restore test_clear to its previous state
* Prevent MaxMind unit tests from polluting the state of WP_Filesystem
* Import colors.native scss variables
* Add changelog
* Refactor WCPay banner and cleanup
We introduce a new WCPayConnectCard onboarding component and
remove/cleanup all other WCPay surface components.
This component uses the new design, updated payment methods icons
and WCPay logo.
* Add changelog
* Upgrade the WCPay payments settings banner
* test: Fix WCPay payments settings banner tests
* Update the WCPay welcome page to use the WCPayConnectCard component
* Update the Payments task page to use the WCPayConnectCard component
* Fix copy for payments settings methods CTA buttons label
* Add changelog
* Further cleanup of no-longer-used WCPay surfaces
* Consolidate onboarding component icons for single sources
* Minor cleanup
* test: Fix WCPay payments settings banner test
* test: Fix payments tasks page tests
* add new filters for reading and writing fields
* rename functions
* add test for action
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* update docs
* fix typo in test and linting issues
---------
Co-authored-by: github-actions <github-actions@github.com>
* get settings in correct format
* Add changefile(s) from automation for the following project(s): woocommerce
* expand test to also account for frontend
* remove added test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add apiFetch middleware to add X-Wc-Product-Editor header to all requests from product editor
* Use productEditorHeaderApiFetchMiddleware
* Update name of header
* Utility function to check header
* Changelog
* Changelog
* Add warnings about the incompatibility of the legacy REST API and HPOS:
- A static text in the features settings page, in the HPOS section,
if the legacy REST API is active.
- A dismissable admin notice that is created at install/update time
only if both HPOS and the legacy REST API is active
(it's removed automatically when one of the two ceases to be active)
This covers both the legacy REST API being active in core and the
legacy REST API plugin being installed and active.
* Add changelog file
* - Remove the admin notice (will be added by the Legacy API plugin)
- Add the woocommerce_legacy_api_and_hpos_incompatibility_warning_text filter
* Fix misplaced line feed
* Fix AI generated site titles comparisons
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix logo position after saving on the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix plugin slug for reporting
* Comment out setting of woocommerce_coming_soon
* Add canvas utility
* Update create-cart-block.spec.js to use canvas instead of page
* Update create-checkout-block.spec.js to use canvas instead of page
* Extract common editor actions into editor utils
* Add changelog
* Update post and page creation tests to use canvas
* Update create-woocommerce-blocks.spec.js to use canvas
* Activate Gutenberg to test changes
* Remove plugins listing from env setup script
* Fix eslint errors
* Remove redundant env setup script call
* Install Gutenberg for test in CI
* Test with Gutenberg
* Remove Gutenberg
* Fix block editor variable product test
* Revert "Fix block editor variable product test"
This reverts commit cd004530a7.
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* CYS - set flowType when the state machine is instantiated
* remove not necessary code
* Add changefile(s) from automation for the following project(s): woocommerce
* fix action
* improve logic
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - AI Flow: hide X button on the entrepreneur flow
* CYS - AI flow: keep persisted query param when redirect
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Allow having two different in-app connect messages based on WooCommerce.com Update Manager installation status.
* Revert to older message.
* Update connect message icon.
* Prevent showing the red badge when site is not connected.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* graduate woocommerce_blocks_register_checkout_field
* graduate filters
* Migrate Additional to Order and Other
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* fix markdown lint
* update tests to use old value
* fix lint issue
* pass field options by reference
* update test helpers
* update tests to use latest api
---------
Co-authored-by: github-actions <github-actions@github.com>
* be less aggressive on selected shipping rate logic
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - set flowType when the state machine is instantiated
* remove not necessary code
* Add changefile(s) from automation for the following project(s): woocommerce
* fix action
* improve logic
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - AI Flow: hide X button on the entrepreneur flow
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - set flowType when the state machine is instantiated
* remove not necessary code
* Add changefile(s) from automation for the following project(s): woocommerce
* fix action
* improve logic
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not necessary guards
---------
Co-authored-by: github-actions <github-actions@github.com>
* copy styles over from 46619
* Fix header padding
* login/out
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* typo
---------
Co-authored-by: github-actions <github-actions@github.com>
* Change "Origin" column name to "Attribution" in Analytics.
* Rename "Origin" column to "Attribution" in Orders Analytics report download.
* Add changelog.
* Fix UI for add filter popover in Analytics.
* Make character casing consistent for filters.
* Add changelog.
* Add changelog.
* Change filter label to sentence case.
* Skip loading of webhooks if webhooks disabled
* Add changefile(s) from automation for the following project(s): woocommerce
* PHP CS fix.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* replace pink with wc purple in reports page
* use wc purple in product rating in the dashboard widget
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* use better contrast
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Display channel column in Orders Analytics UI.
* Set $data to false to not use cache.
For development purpose.
* Get channel info from order meta and put into extended_info.
* Set channel in order item level.
* Replace channel with get_origin_label in extended_info.
* Remove unnneeded channel in orders_data.
* Display origin instead of channel in table.
* Fix lint errors.
* Query order meta table based on HPOS.
* Remove code for development purpose.
* Add changelog.
* Fix code comment.
* Guard against null values.
`_wc_order_attribution_utm_source` can be null when the order is created via web admin.
* Set default origin label to "Unknown".
This default is the same as found in `output_origin_column` function in plugins/woocommerce/src/Internal/Orders/OrderAttributionController.php.
* Support server side report download.
This is needed when there are more than 25 records in the Orders Analytics report.
* Fix failed test.
* Fix lint error.
* Simplify code.
We loop through $orders_data instead of $order_attributions data. This is because $order_attributions may not have attributions data for some orders.
By looping through $orders_data, it would automatically cater for "Unknown" data from get_origin_label function call, and we don't need to specify "Unknown" as default value for origin.
* Change "channel" to "attribution" object in controller.
This is because we need more than one piece of information, so we need it to be an object with properties like `origin`, `device` etc.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Change `origin` string to `attribution` array in Orders DataStore.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Change origin string to attribution object.
* Fix indexing after changing from origin string to attribution object.
* Change from origin string to attribution object in table.js.
* Simplify code.
To make code shorter and easier to read, instead of long horizontal code.
* Fix lint errors.
* Fix failed test.
* Fix lint error.
* Fix retrieving origin in CSV export.
* Use $wpdb->postmeta; cosmetic change.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Cosmetic change.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Sanitize order IDs by using absint.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
---------
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* add a failing test for order totals with HPOS enabled but sync disabled
* fix comment
* ensure the wc/v3/reports/orders/totals endpoint is compatible with HPOS
* add changelog file
* address linter issues
* Add a safety check for the numbers with the same value for the separators
This case breaks the library we are using for number formatting. This is not documented on their end and can't be fixed by passing a different configuration.
We are fixing it on our end by overwriting the thousand separator.
This change will only surface in the checkout blocks, at they are the only blocks doing formatting via React (the products blocks use php).
This will not apply to the order confirmation.
This change is preventing a fatal error thrown by the library and allowing users to see the content of the cart.
It's an edge case, because it happens only why people have the same values for the separators, which is an non-standard way to format.
* Add unit tests and changelog
* Add a safety check for the numbers with the same value for the separators
This case breaks the library we are using for number formatting. This is not documented on their end and can't be fixed by passing a different configuration.
We are fixing it on our end by overwriting the thousand separator.
This change will only surface in the checkout blocks, at they are the only blocks doing formatting via React (the products blocks use php).
This will not apply to the order confirmation.
This change is preventing a fatal error thrown by the library and allowing users to see the content of the cart.
It's an edge case, because it happens only why people have the same values for the separators, which is an non-standard way to format.
* Add unit tests and changelog
* Improve tests
* "Improve tests"
* Add flaky test reporter for flaky e2e test reporter
* Add to stalebot workflow instead
* Update stale action to 9 for node 20
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Updated deprecated gh-script action to node 20 variant
* Minor change in e2e test to trigger CI
* Revert e2e test change
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Remove empty "Unknown" handling.
This is because `get_origin_label` would return "Unknown" by default, and therefore empty($origin) would not be true.
If someone use a wc_order_attribution_origin_formatted_source filter to return '' as the formatted source, we should respect it anyway and we should not override it with "Unknown".
* Add changelog.
* add a woo.com connect notice in the plugin list for unconnected store
* add an extra notice string for store that runs outdated woo plugins
* add connect page hyoerlink to the plugin notice
* add changelog
* add comment for maybe_show_connect_notice_in_plugin_list()
* fix linter error
* use installed local woo plugin as the counter of extra notices
* only show woo connect notice in the woocommerce settings page
* add woocom connect notice component
* add woocom connect notice component to the content component
* add extra notice in the woocom connect notice component based on the local woo plugins count
* persist dismissal of woo connect notice in the wc admin settings page
* update changelog
* use update-check-public for unconnected stores
* use information from update-check-public API to determine notice show logic
* re-show dismissed connect woocom notice after 1 month
* add re-show notice logic for react admin page of woo connect notice
* fix identation
* differentiate local storage key for notice dismissal
* move woo connect notice script to different file
* rename to connectnotice
* fix linter issue
* fix linter issue
* update woo.com to woocommerce.com
* update woo.com to woocommerce.com in comment
* capitalize the WooCommerce.com
Co-authored-by: Leif Singer <leif@automattic.com>
* capitalize WooCommerce.com
---------
Co-authored-by: Leif Singer <leif@automattic.com>
* Added new OrderSummaryTotals Block
* Refactor order summary and totals block to contain the inner children
* Add migration for Order Summary Block
* Migration to handle older order summary without totals block
* Remove empty lines from order summary migration
* block editor migration for order summary
* Fix isEligible function
* Update Totals title
* Add checkout totals
* Remove echos and dies
* replace individual checkout blocks with totals block
* Change parent of totals inner blocks and add totals block to innerBlockAreas map
* change CART_ORDER_SUMMARY_TOTALS to CHECKOUT_ORDER_SUMMARY_TOTALS
* Fix linting issues
* fix lint warnings
* Add changelog
* Lock movement of the taxes block in attributes.tsx
* Less indentation in the render function of CartOrderSummaryBlock and CheckoutOrderSummaryBlock
* Rename webpack chunkName for order summary totals
* Add coming_soon page as a store page
* Implement coming soon banner dismiss
* Added a new REST for Launch Your Store with a dismiss endpoint
* Updated coming soon banner logic to check for woocommerce_coming_soon_banner_dismissed
* Lint fixes
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/src/Admin/API/LaunchYourStore.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/API/LaunchYourStore.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce/src/Admin/API/LaunchYourStore.php
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Use user meta to save woocommerce_coming_soon_banner_dismissed
* Lint fixes
* Use the built-in rest api to manage woocommerce_coming_soon_banner_dismissed user meta
* Reset woocommerce_coming_soon_banner_dismissed on login
* Fix lint issues and add back wp_login hook to reset banner dismiss user meta
* Use constant for user meta field
* Update woocommerce_coming_soon_banner_dismissed user meta when X button is clicked
* Restrict user meta to shop manager or admin
* Fix lint issue
* Fix lint issue
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Set access modifier for $error_message to public and added a setter method.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Can only be inserted once test excludes the mini-cart template button
* Use function for testing disabled state
* Account for blocks advertise and change selector
* remove skipped tests
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Render site visibility only when launch-your-store feature flag is on
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix: cookie path in private link sharing
The commit includes a fix for the LYS private link woo-share cookie entry. The path for setting the cookie has been corrected to ensure proper functionality. T
* lint
* Update coming soon page link to template editor
* Add changelog
* Hide coming soon link when current theme is classic theme
* Remove line change
* Add type
* Only query order meta for orders that were successfully retrieved from the DB.
* Add changefile(s) from automation for the following project(s): woocommerce
* Address linting issue
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* CYS - fix use GPT 3.5 model
* Add changefile(s) from automation for the following project(s): woocommerce
* use constant
---------
Co-authored-by: github-actions <github-actions@github.com>
* Verify Order is valid before returning it from the OrderFactory
* Add tests to validate fix when using serializing object cache implementation
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>
* Update wc-cart-functions.php
Unused local variable 'discount_amount_html'. The value of the variable is overwritten immediately.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* woo plugins use public endpoint for unconnected stores, show message to connect to woo.com as well
* add changelog
* fix lint error
* fix lint error
* fix lint error
* fix lint error
* move is site connected check outside the loop
* add condition to show the notice when site is connected and plugin is active
* update domain to woocommerce.com
* Fix fatal error with non-fse theme
* Update conditional inclusion of header and footer templates in coming-soon-store-only.php
* Update conditional inclusion of header and footer templates in ComingSoonRequestHandler.php
* Remove add_theme_support( block-template-parts );
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Move daily site check workflow to deprecated
* Add install-plugin script
* Install plugins script
* Fix the script path, it was moved.
* Set env on job level
* Update working-directory
* Add changelog
* Use the right WC_SUBSCRIPTIONS_REPO variable
* Add a test channel id
* Update smoke-test-daily.yml
* Remove WC Subscriptions
* Update smoke-test-daily.yml
* Switch back the channel ID and remove pull_request trigger
* Move deprecated workflows to deprecated folder
* Configure new test job for metrics
* Add changelog
* Update start command
* Update start command
* Archive metrics results
* Fix script path
* Fix name in archive results condition
* Add the actual run command for pull_request event
* Run with pnpm --filter
* Test run for push event
* Revert test conditions
* Add WP_ARTIFACTS_PATH env variable
* Update path to readme.txt
* Revert github event conditions
* Add CODEVITALS_PROJECT_TOKEN env
* Set WP_ARTIFACTS_PATH on job level
* Add blocks templates in the changes list
* Use editedRecord instead of record
* Always use productTemplateId when available
* Change private methods to protected in ProductVariationTemplate
* Use editedRecord in hook useEntityRecord
* Update changelogs
* Restore attribute renamed by mistake
* Change useProductTemplate unit test
* Add clause to query in `CustomMetaDataStore::get_meta_keys` to exclude metas where the key is ''.
* Addressing linter error. Removed unnecessary prepare.
* Split taxonomies filter into seperate filter per taxonomy
* Add changelog
* Improve onDeselect function
* Update tests
* Fix lint
* Satisfy TS by returning single React element rather than array of elements
* Remove unused variable
* Make LYS preview frame resizable
* Add changelog
* Refactor site-preview.scss: Remove components-resizable-box__container styles
* Set z-index to 2 to preview container to fix resizing handler on max size
* Make room for the handle on the left side
* Update social link urls
* Align wide
* hide banner on Coming soon page
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add selectable attribute in product template to allow creation of product templates that do not appear on the "Change product type" UI
* Always use productTemplateId when available, otherwise fallback to standard-product-template
* Rename attribute
* Use editedRecord in hook useEntityRecord
* Revert "Always use productTemplateId when available, otherwise fallback to standard-product-template"
This reverts commit 2960fcd520.
* Revert "Use editedRecord in hook useEntityRecord"
This reverts commit c28e005e7b.
* Add changelogs
* Fix unit tests
* Increment changelog
* Bump eslint-import-resolver-typescript from 3.2.4 to 3.6.1
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Bump dataloader from 2.1.0 to 2.2.2
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add translation context to ambiguous words
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix Launch Your Store task item should not be clickable once completed
* Add changefile(s) from automation for the following project(s): @woocommerce/experimental, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - E2E test: not use snapshot approach for color picker E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce
* remove comment
* CYS - E2E tests: add create your own section E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* add regression tests
* Refactor to using single meta key per field
* Add changefile(s) from automation for the following project(s): woocommerce
* refactor rest of code
* keep set_array_meta same
* use correct function in condition
* fix spacing
* add docs
* fix markdown issues
* handle false bool meta
* adjust admin keys
* fix merchant tests
* handle checkboxes in checkout response
* address feedback
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update plugins/woocommerce-blocks/docs/third-party-developers/extensibility/checkout-block/additional-checkout-fields.md
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* update ledt places and reduce abstractions
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <5656702+opr@users.noreply.github.com>
* Update Action Scheduler to 3.7.4
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Hide coming soon banner from preview frame
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update background color and padding in WooCommerce LYS status popover
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensures data is added to the registry just once.
* ditch unnecessary param.
* Deprecate the param for AssetDataRegistry
* Remove the param for additional calls to AssetDataRegistry::add()
* Remove the param for additional call to AssetDataRegistry::add() on WCAdminSharedSettings
* Trigger a PHP warning instead of throwing a fatal whenever the key being registered is not a string and whenever attempting to override existing data.
* Add changefile(s) from automation for the following project(s): woocommerce
* Replace trigger_error with error_log to clear out lint errors.
* Address lint for trigger_error
* Update the test_already_existing_key_on_adding_data test to expect a warning instead of an exception
* Update tests
* Update method from add_data to add.
* Remove the throw InvalidArgumentException for the add and add_data methods.
* Remove the now unnecessary test_already_existing_key_on_adding_data test, considering we now return early whenever the key is duplicated, the code never reaches this stage via AssetDataRegistry:add
* Move the call to the exists method to within the add_data method.
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - E2E test: not use snapshot approach for color picker E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce
* remove comment
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update checks for sale price
* Update checks for product images
* Update checks for linked products
* Update default theme for e2e environment to twentytwentythree
* Fix basic spec
* Fix locator product block editor test
* Make cart.spec.js theme agnostic
* Updated mini-cart.spec.js
* Updated cart-checkout-block-calculate-tax.spec.js
* Updated cart-block.spec.js
* Fix cart-block.spec.js
* Update account-email-receiving.spec.js
* CYS - E2E tests: fix flaky assembler-hub test
* Use a value for pr_number
* Update condition for the Slack alert job
* Remove pr_number argument
* Add changefile(s) from automation for the following project(s): woocommerce
* Update conditions for the publish reports jobs
* Rename jobs
* Send GITHUB_SHA to report
* Check for skipped status
* Include Slack notification step in the reporting job
* Rename jobs
* Test update to trigger api tests
* Revert test change for api tests
* fix flakiness
* Test change to trigger all tests
* Test slack alert condition
* add waitUntil
* Force a test failure
* Revert all test changes
* improve logic
* fix build error
* try now
* Update product-inventory-block-editor.spec.js
* fix unit test
* fix flakiness
* Update checkout-block.spec.js
* Update checkout-block.spec.js
* Add utils/order
* Remove the check for more items than the coupon max amount as it fails with block themes
* Update create-simple-product-block-editor.spec.js
* Update cart-checkout-calculate-tax.spec.js
* Update checkout-block.spec.js
* Update create-simple-product-block-editor.spec.js
* Update wordpress-post.spec.js
* Update my-account-addresses.spec.js
* Update my-account-create-account.spec.js
* Update my-account-downloads.spec.js
* Update my-account-pay-order.spec.js
* Update my-account.spec.js
* Update order-email-receiving.spec.js
* Update product-grouped.spec.js
* Update product-simple.spec.js
* Update product-tags-attributes.spec.js
* Update product-variable.spec.js
* Update shop-search-browse-sort.spec.js
* Update checkout.spec.js
* Update checkout-login.spec.js
* Update checkout-create-account.spec.js
* Update wordpress-post.spec.js
* Update cart-checkout-calculate-tax.spec.js
* Update wordpress-post.spec.js
* Update mini-cart.spec.js
* Remove logging of order id
* Remove the log-out action as it invalidates the customer state and breaks other tests
* Use disableWelcomeModal
* CYS - E2E tests: add homepage picker E2E tests
* update snapshots
* add snapshots
* use screenshot tests+
* use snapshot
* try now
* update snapshot
* remove wp-container snapshot
* remove only
* add comment
* add snapshot
* enable color picker tests
* revert to twentytwentythree
* restore changes related to the color picker
* use default theme
---------
Co-authored-by: Adrian Moldovan <adim.moldovan@gmail.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* CYS - E2E tests: add font picker E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce
* reset to the default theme
---------
Co-authored-by: github-actions <github-actions@github.com>
* Tour component initial design
* Add woocommerce_lys_tour_dismissed option on 8.7.0 update
* Use woocommerce_lys_tour_dismissed to render the tour
* Rename option
* Add useSiteVisibilityTour
* Remove unused tourDismissed var
* Remove unused import
* Add changefile(s) from automation for the following project(s): woocommerce
* Use ' not `
* Lint fixes
* Update plugins/woocommerce-admin/client/launch-your-store/tour/index.tsx
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Add discover more link
* woocommerce_launch_your_store_tour_hidden should be added < 8.9
* Adjust padding bottom for the footer
* Use user meta to manage woocommerce_launch_your_store_tour_hidden
* Adjust tour padding
* Fix global types
* Exclude the tour on new sites
* Fix missing doc comment
* Update tour descriptions
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Previously, the code assumed that all memory_limit values used the "M"
suffix (for megabytes); values using "G" (for gigabytes), "K" (for
kilobytes), or no suffix (for bytes) were all parsed incorrectly. Now,
all possible values should be handled correctly.
This bug has actually been fixed twice before in other locations:
Commit 538403306c (#30908)
Commit 4557108805 (#21557)
* Changing shopper feedback on payment response issues
* Add changefile(s) from automation for the following project(s): woocommerce
* Disambiguated error log
* Prevent unexpected error response from outputting technical data to the user. Instead display an helpful message to prevent retries.
* Fix PHP linting.
* Changed error message and added translators comment
* Safeguarding against wc_checkout_params.i18n_checkout_error definition
* Added null check
* Add deselect callabck to attribute filter
* Add deselect callabck to created filter
* Add deselect callabck to featured filter
* Add deselect callabck to handpicked filter
* Cleanup deselect callabck to keyword filter
* Add deselect callabck to on salefilter
* Add deselect callabck to order by option
* Add deselect callabck to stock status filter
* Add deselect callabck to price range filter
* Add deselect callabck to price taxonomies filter
* Call all the reset filer callbacks on reset
* Add changelog
* Remove unused variable
* Replace hardcoded default filter values with the DEFAULT_FILTERS constant
* Copy change for coming soon setting
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'woocommerce_coming_soon_page_id' option to API options
* Add useComingSoonEditorLink hook to handle the coming soon editor link
* Add useComingSoonEditorLink hook and update styles
* Add changelog
* Move use-launch-your-store.js to ./hooks and update import path
* Add live-branches/install.php to API
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Track site visibility actions
* Move private link text box to prevent accidental toggle
* Add changefile(s) from automation for the following project(s): woocommerce
* Restirct site visibility settings to general tab
* Remove unnecessary site visibility render logic
* Lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
* Move site visibility settings to a new tab
* Add changefile(s) from automation for the following project(s): woocommerce
* Update tab id to site-visibility and link to it from the homescreen badge
* Fix tests
* Remove unused code
* Lower case tab title
* Remove general from the slotfill id
* Remove typo
* Lint fix
* Lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
* fix the CI unit test path for legacy unit tests
* update the pattern in all the relevant CI jobs
* add the tests/unit-tests folder as well
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
* Fix tests currently failing against HPOS environment setup
* Add changefile(s) from automation for the following project(s): woocommerce
* fix lint warning for print_r usage
---------
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 stylelint to syncpack
* add classnames to syncpack
* manually sync wp-prettier
* sync sass-loader version
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* When order is out of sync, suggest a fix
* Allow cleanup tool to remove data for placeholders even if order can’t be loaded from HPOS
* Prevent infinite loops in cleanup tool
* Add changelog
* Fix PHPCS violations
* Improve error messages
* Fix syntax error
* Minor fix
* CYS - color picker: fix CSS
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Stop relying on snapshot for footer and header tests
* Remove only
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: add debounce to improve performance
* Fix button colors
* Format
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* CYS: add debounce to improve performance
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable assembler header test temporarily
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add data providers for WC_Formatting_Functions_Test tests
* Add tests for Denmark postcodes
* Add formatting for Sweden postcodes
* Add formatting for CZ, SK postcodes. Cleanup formatting for LV
* Group wc_format_postcode tests by country
* Add changefile
* Match digits only in LV, CZ, SK postcode formatting
* Update postcode validation for CZ, SK
* Minor adjustment to regex
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* Fix the overlay color of the "Featured Category Triple" pattern
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add e2e tests for the assembler footer section
* Add changefile(s) from automation for the following project(s): woocommerce
* Renam var
* Rename pageObject
* Add test for the preview
* Improve the test by extracting the expected class from the selected footer
* Update snapshot
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add e2e tests for the assembler header section
* Rename var
* Add changefile(s) from automation for the following project(s): woocommerce
* Add test to check the preview changes when selecting a header
* Add missing header classes and all preview test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add unit test simulating order mix up when order ID is zero.
* Better tests.
* Dont try reading from DB when order is zero to prevent mixups.
* PHPCS fixes and changelog.
* Syntax sugar
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add E2E tests for Product Filter: Price block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Use web first assertions
* Replace `toB` by `toHaveValue` in E2E tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* skip color picker E2E tests
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Temporarily disable deprecation logging and use old DataSourcePoller class
* Changelog
* Update DataSourcePoller.php
* Change to comment for lint
* Typo again
* Lint
* Better comment from @nigeljamesstevenson
* E2E test env: use WordPress 6.5 stable version
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Revert "Wait for notice text to be visible instead of checking data store"
This reverts commit f26892a646.
* Revert "Fix linting errors"
This reverts commit eaf90e4890.
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
* Extract update count function.
* Pass wooUpdateCount to be used by admin components.
* Show update count bubble on in-app my subscriptions tab.
* Add changefile(s) from automation for the following project(s): woocommerce
* Refactor how update count HTML is generated and move logic into appropriate classes.
* Show red badge when the site is disconnected, regardless of the installation status of WUM.
* Always display as 1 update is available when site is disconnected.
* Skip using dangerouslySetInnerHTML.
* Remove unused dependency.
* Move updateCount to a tab property.
* Prevent calling get_update_count if the site is not connected.
* Raw url encode the product key before signing the URL
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Muhammad Anas <muhammad.anas@automattic.com>
* Use templateSlug context in Product Collection
* Implement util recognising the location for track events
* Implement the track event when user chooses a collection in Product Collection
* Add changelog
* Remove incorrect import
* Cover cases with specific Product or Specific Taxonomy
* Update event name
* Adjust Product Filters tests
* Revert wrong commit
* 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>