Commit Graph

8104 Commits

Author SHA1 Message Date
Moon 6a8f124022
Fix Uncaught DOMException on WooCommerce -> Extensions page. (#33711)
* Add .commerce to wrap selector

* Add changelog

* More specific selector

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-07-04 12:41:32 +08:00
Ilyas Foo dea22904e0
Fix marketing task completion logic (#33676)
* Add marketing action task on clicking Manage

* Revert marketing completion after installing any marketing plugin

* Changelog
2022-07-01 14:28:45 -07:00
Corey McKrill d15770132b
Revert "Update method for getting Reports API cache version number" (#33706)
This reverts commit bccc80366d.

When we merged this PR, we thought the Woo mobile apps would have enough time to implement some corresponding changes on their side. That turned out not to be the case. Without the ability to force a refresh of the analytics cache, this PR causes the apps to have a greater risk of showing users stale analytics data that they can’t immediately update.
2022-07-01 12:28:30 -07:00
Chi-Hsuan Huang f1ce6ec30c
Update WCPay to include a mention of in-person payments for Canada (#33669)
* Update wcpay to include a mention of in-person payments for Canada

* Add changelog
2022-07-01 13:51:54 +08:00
Moon f8e8b6ff04
Style fix for the print shipping banner close modal (#33587)
* Style fix for the close modal

* Add changelog
2022-06-30 14:05:00 -07:00
Matthew Hodge 6cb6fd02df
Added a filter to set fopen mode for streams that dont support a+ (#33652)
Added a filter to set fopen mode for streams that dont support a+

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-06-30 10:34:02 -07:00
AnnaMag 3fc11126a4
Include Tracks indicator property for block editor on product update. (#33321)
* Include Tracks property indicating block editor on product update.

* Add changelog

* In a block editor the Update button does not have the selector.

* Remove - from Tracks even property.

* Refine a condition of a non-empty object.

* Incorporate feedback: add callback for rendering the Update button.

* Add recent feedback- jQuery way of handling post render execution.

* Remove `console.log

* Fix `product_update` event recording

* Removed `hasRecordedEvent` and fixed `description validation

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-06-30 11:48:21 +02:00
Chi-Hsuan Huang 41ecb1ed6f
Fix wrong copy in the payments task on the Home Task list (#33663)
* Fix wrong copy in the payments task on the Home Task list

* Add changelog
2022-06-30 15:23:03 +08:00
Ilyas Foo d6ccaa67de
Shipping recommendation task set location step manual navigation (#33667)
* Adds capability for store location step to be manually navigated

* Add test

* Changelog
2022-06-30 14:45:52 +08:00
Chi-Hsuan Huang 2dc3d87e1c
Payment task: fix wrong copy in the accordion link (#33662)
* Fix wrong copy in the accordion link for payment task

* Add changelog
2022-06-30 12:20:23 +08:00
Tam Mullen def11b77d9
Update daily smoke test to add k6 smoke tests (#33658)
* Add k6 test scenario to the daily smoke test action.

* Add blank patch changelog for daily smoke update
2022-06-29 16:01:37 -06:00
Jorge A. Torres a80e0fe203
[COT] Implement create() method in COT datastore (#33341) 2022-06-29 08:54:29 -03:00
Moon feb3ab0581
Update shipping logic when OBW is skipped (#33630)
* Update shipping task fields when shipping smart default feature is enabled.

* Always display the shipping task regardless of having a physical product

* Updated text copy for the fields

* Do not display the step description if it is not the current step

* Added a banner for the shipping printing step

Remove description if the it is not the current step

* Add changelog

* Fix namespace conflict after the rebase

* Re-use wcs banner from the experimental shipping recommendation

* Delete ShippingLabelPrinting -- replaced by wcs banner from experimental-shipping-recommendation

* Add TOS link

* Remove ShippingPrintLabel styles -- no longer needed

* Minor refactor

* Move description set logic to getSteps()

* Use map to override step fields

* Remove unnecessary feature check

* Remove description in the map func

* Render ShipStation banner if plugins includes woocommerce-shipstation-integration
2022-06-29 00:40:42 -07:00
Chi-Hsuan Huang 88a66e6983
Update review shipping options task complete logic (#33650)
* Update review shipping options task complete logic

* Add changelog
2022-06-29 15:34:09 +08:00
Chi-Hsuan Huang 2e167ca088
Fix borken react admin commands (#33649)
* Fix admin build:packages and test:packages

* Add changelog
2022-06-29 13:02:56 +08:00
Ilyas Foo 1daa1c07fe
Add tests for shipping recommendation task (#33633)
* Move redirect function to utils to easily mock

* Add test

* Changelog
2022-06-29 11:24:25 +08:00
Christopher Allford 2e87b32034
Removed WooCommerce 6.7 Changelog Files (#33643)
Removed Changelog Files
2022-06-28 13:22:18 -07:00
jonathansadowski d48a0b2d90
Add helper tool for making sure build, lint, and test are run through Turborepo (#33573)
* Add helper tool for making sure build, lint, and test are run through Turborepo

* Update node version for require-turbo
2022-06-28 13:17:05 -05:00
Roy Ho 98cf4e7160
Add PR numbers to changelog entries on code freeze process (#33627)
* Add PR numbers to changelog entries on code freeze process

* Add markdown links to PR
2022-06-28 11:15:39 -07:00
Joshua T Flowers 0a5b912288
Move tracks _ui and _ut properties out of filtered tracks properties (#33621)
* Move tracks _ui and _ut properties out of filtered tracks properties

* Add tests around tracks properties

* Fix broken variable name

* Add changelog entry
2022-06-28 09:43:17 -04:00
Ilyas Foo b178e8a1f6
Add new flow shipping recommendation task (#33620)
* Plugins component skip button is now optional

* Add link from payment settings page

* Add new experimental shipping task flow

* Changelog

* Update plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/ExperimentalShippingRecommendation.php

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

* Rename all tracks to shipping_recommendation

* Add back skip installer bind

* Pass plugins list to pluginSlugs to be more predictable

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2022-06-28 13:53:03 +08:00
Moon e9006b56df
Add logic to set the default shipping options on homescreen (#33547)
* Add logic to set the default shipping options

* Set the flat rate cost to 15 (temp cost)

* Add changelog

* Update plugins/woocommerce/src/Internal/Admin/Homescreen.php

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

* Run the changes only if shipping-smart-defaults is enabled

* Assume user is going to sell physical products if obw is skipped or the store details has not been completed

* Make sure store country is set by an actual user by checking the value of woocommerce_store_addres

* Remove flat late logic

* Use woocommerce_store_address. store_address is always empty

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
2022-06-27 20:23:13 -07:00
Chi-Hsuan Huang 5eea5ab072
Fix shipping display logic United Kingdom country code (#33629)
* Fix shipping display logic country code UK -> GB

* Add changelog
2022-06-28 11:15:01 +08:00
Roy Ho 14066bdeae
Add phpcs-changed (#33584)
* Add phpcs-changed

* Put report flag value in quotes

* Use phpcs action workflow instead

* Remove no longer used phpcs script

* Remove phpcs ignore rule

* Use proper name for code sniffer step
2022-06-27 11:46:29 -07:00
Pierre Carrier 10e1e62b8e
class-wc-geolocation.php: hide blog URL from third-party providers (#31941)
* includes/class-wc-geolocation.php: hide URL.
* Add changelog.
* Make phpcs happy.

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-06-24 17:34:29 -03:00
Dekadinious 2c721c7c88
Fixes issue #33335 (#33431)
* Fixes issue #33335

Check for an empty string instead of an empty variable.

* Update wc-product-functions.php

* Update wc-product-functions.php

* Changelog

* Fix cases when $term is false or empty array

Co-authored-by: Peter Fabian <peter.fabian.github@gmail.com>
2022-06-24 17:48:17 +02:00
RJ d2967e0ee8
Fixed missing wcpay setup task (#33590)
- task fill page was missing for the woocommerce-payments task
2022-06-24 17:06:43 +08:00
RJ 54b72dcae1
Fix: improve woocommerce-admin plugin deactivation notice message (#33592)
* Fix: improve wca deactivation notice message

* Update plugins/woocommerce/src/Internal/Admin/Loader.php

Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>

Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
2022-06-24 17:00:42 +08:00
RJ c9e0cccc19
fix payments banner experiment test (#33589)
test needed to be updated as the component did not call useExperiment directly anymore
2022-06-24 13:06:11 +08:00
Chi-Hsuan Huang 417b694e1e
Fix local site url in woocommerce readme (#33579)
* Fix local wp site url in woocommerce/README.md

* Add changelog
2022-06-24 09:32:27 +08:00
Chi-Hsuan Huang 49b07dd9a8
Update shipping task display logic (#33533)
* Update display shipping task logic

* Add changelog

* Update ReviewShippingOptions.php

* Update ReviewShippingOptions.php

* Update ReviewShippingOptions.php

* Update shipping task display logic

* Add doc comments for can_view

* Update comment

* Update shipping task display logic to prevent showing two task simultaneously
2022-06-23 15:56:19 +08:00
Chi-Hsuan Huang 93c15e9f7d
Switch to ESLint to fix admin lint command (#33577)
* Switch woo admin lint command from wp-script to eslint

* Add changelog
2022-06-23 12:00:28 +08:00
Chi-Hsuan Huang dcbae453f8
Update shipping recommendations display logic (#33529)
* Update shipping recommendations display logic

* Add todo comment

* Add changelog

* Render null for shipping recommendations if store only sells digital products

* Fix onboarding product type

* Update plugins/woocommerce-admin/client/shipping/test/experimental-shipping-recommendations.tsx

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-06-23 09:54:38 +08:00
nigeljamesstevenson 77a93cc7ad
Update e2e README port number, remove Nx install PreRequisite steps (#33558)
Update e2e README port number, remove Nx install
2022-06-22 19:00:28 -06:00
Ilyas Foo 9c4c3834a7
Fix payments settings banner experiment logic (#33549)
* Delegate payment experiment logic into its own hook and rearrange the checking logic to be before the experiment is called

* Changelog
2022-06-22 16:45:31 +08:00
David Stone c8cb9877a2
Show generic error when trying to process a checkout while offline (#30860)
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-06-21 17:02:14 -03:00
Paul Sealock a80462d594
Beta Tester: Prep for release (#33463) 2022-06-22 07:26:15 +12:00
Christopher Allford f6e065026e
Fixed Unit Test Suite (#33543)
This commit adds a missing `"test"` command
to the WooCommerce `package.json` file.
2022-06-21 12:11:43 -07:00
Johan de Jong ca524a7266
Add sort method to hide hidden columns in products sortable (#31866)
Co-authored-by: Jorge Torres <jorge@0xbad.com>
2022-06-21 15:26:43 -03:00
Mathias Reker ⚡️ ef8cf9f460
Ordered interfaces (#33488)
Orders the interfaces in an implements or interface extends clause.
2022-06-21 17:42:39 +02:00
David Marín 9095b65d0e
Add $transaction_id to payment_complete hooks (#28930)
Add $transaction_id to payment_complete hooks

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-06-21 11:21:26 -03:00
Michael P. Pfeiffer 958d083600
Fix broken design of Single Product template in block themes and on-sale badge being partially hidden (#33511)
* Fix broken design of Single Product template in block themes and on sale badge being partially hidden

* Update changelog to mention Twenty Twenty-Two explicitly.

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2022-06-21 16:26:40 +05:30
Néstor Soriano 3b089f97dc
[PHP 8.1] Fix code that throws deprecation notices in tests in PHP 8.1 (#31333)
* Fix phpcs errors and warnings

* Fix code that throw deprecation notices in PHP 8.1

The deprecation notices are about:
- Various "passing null to parameter (...) is deprecated"
- Usage of strftime
- Using "false" as if it was an empty array
- Mismatching return type of implemented interfaces,
  that's fixed by adding #[\ReturnTypeWillChange]

* Fix some more code that throw deprecation notices in PHP 8.1

* Small commenting/formatting fixes.

* Add changelog file

* Formatting.

Co-authored-by: Peter Fabian <peter.fabian.github@gmail.com>
2022-06-21 12:16:44 +02:00
Chi-Hsuan Huang e412d5912b
Migrate `@woocommerce/data` item store to TS (#33482)
Migrate item store to TS
2022-06-21 16:46:30 +08:00
Chi-Hsuan Huang 7068c78101
Fix JS lint errors (#33484)
* Fix @woocommerce/data lint errors

* Fix internal-e2e-builds lint error

* Fix lint errors
2022-06-21 16:37:34 +08:00
Chi-Hsuan Huang 8825e06e46
Fix feature flags (#33532) 2022-06-21 15:48:30 +08:00
Chi-Hsuan Huang 420ed1e81f
Add shipping-smart-defaults and shipping-setting-tour feature flags (#33531)
* Add shipping-smart-defaults and shipping-setting-tour feature flags

* Add changelog
2022-06-21 14:24:47 +08:00
Luigi Teschio a53b44f6ef
Update WooCommerce Blocks package to 7.8.3 (#33514) 2022-06-20 16:34:29 -03:00
Brian 820963d450
Adjust DKK Currency Symbol (#33509)
Update Danish currency symbol per CLDR R41.
2022-06-20 10:34:42 -07:00
Kamil cea8aaf53d
Remove legacy image sizes which were planned for removal into 4.6.0 (#32709) 2022-06-20 12:00:33 +02:00
saboanca 5948858476
Add extra hook in email setup_locale and restore_locale functions. (#33254) 2022-06-20 11:40:33 +02:00
Dharmesh Patel 3abb3dfa8e
Added local pickup handling in `get_tax_location()`. (#33330) 2022-06-20 11:29:11 +02:00
Vedanshu Jain 87ccf73da7
Convert null and '' to 0 before verification. (#33453)
During migration $wpdb->prepare would force null and empty values to be zero for %f placeholder. This was causing verification logic to fail, which is being addressed in this commit.

The alternative was to insert null values without running them via $wpdb->prepare, but that seemed less safer than converting to zero because it would have to done manually since $wpdb->prepare wouldn't support it.
2022-06-20 09:43:10 +02:00
Christopher Allford 71456382c4
Add Client Components Documentation To WooCommerce Core (#33507)
This commit adds documentation for WooCommerce's client component commands. This should make it easier to know what commands to run to work in these components.
2022-06-17 15:32:29 -07:00
Christopher Allford c0b76f70cc
Rename @woocommerce/admin-library (#33460)
This commit changes it to woocommerce/client/admin. This is an invalid NPM package name and an invalid Composer package name. This will prevent conflicts but also identify it as a component of Core.
2022-06-17 13:28:34 -07:00
Christopher Allford dc2c3449b2
Prepare `trunk` For WooCommerce 6.8 (#33506)
This bumps the version of WooCommerce to 6.8 and removes all of the changelog files from WooCommerce 6.7.
2022-06-17 13:05:31 -07:00
Chi-Hsuan Huang 244387f5d8
Add playwright e2e README.md (#33470)
* Add playwright e2e README.md

* jest -> Playwright

* Add changelog
2022-06-17 09:50:54 -07:00
Moon 8bed87d91e
Fix Admin performance with a large # of zipcodes (#33422)
* Uses WC_Data_Store directly to count the shipping zones to avoid any unncessary query to the D.B

* Add changelog
2022-06-16 13:52:30 -07:00
Moon dc70bdfae4
Remove two-col task list experiments (#33426)
* Remove two-col task list experiments

* Add changelog
2022-06-16 13:51:46 -07:00
jonathansadowski 626a409e83
Release automation: generate changelog during code freeze (#33046)
* Update code freeze script to generate changelog PRs

* Add changelog file

Co-authored-by: jonathan <jonathan@jonathans-MacBook-Pro.local>
2022-06-16 14:44:07 -05:00
Christopher Allford 5175a6820b
Rename woocommerce-legacy-assets (#33461)
In line with the fact that it's a component of WooCommerce rather than a standalone package, `woocommerce-legacy-assets` has been renamed `woocommerce/client/legacy`.
2022-06-16 11:53:48 -07:00
Heba Fareed 0893217227
Fix $item->product condition in coupons validation (#28754)
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-06-16 11:44:12 -03:00
Jorge A. Torres 6627fdb5ed
[redux] Coerce variable type of form field argument 'class' in woocommerce_form_field() (#33454)
Co-authored-by: hahn208 <208hahn@gmail.com>
2022-06-16 10:35:22 -03:00
RJ a78670bfec
Updated @automattic/tour-kit to 1.1.1 which has live resize functionality (#33452) 2022-06-16 15:49:03 +08:00
Chi-Hsuan Huang ea194237a3
Fix product tour TypeError when reading innerHTML (#33448)
* Fix product tour TypeError when reading innerHTML

* Add changelog
2022-06-16 14:02:28 +08:00
Ilyas Foo ced9207a5d
Remove obselete experiment calls (#33449)
* Remove woocommerce_test_experiment

* Remove woocommerce_tasklist_progression
2022-06-16 13:06:08 +08:00
Christopher Allford 6d0fc0d6ac
Expand Repository Development Documentation (#33423)
This commit reworks some of the documentation in the monorepo to better represent how to get started and develop projects in it.
2022-06-15 21:55:25 -07:00
AnnaMag 65cd33bee8
Settings: fix Tracks event when enabling/disabling advanced features settings. (#33305)
* Trigger the hook that record the track events
once the option settings are updated:navigation and analytics. Tracks do not include yes/no properties, so we record the latter as _disabled.

* Changelog

* Prevent reloading of page immediately after feature updates

* Remove feature specific code in tracks class

Co-authored-by: Joshua Flowers <joshuatf@gmail.com>
2022-06-15 14:58:49 -05:00
Corey McKrill bccc80366d
Update method for getting Reports API cache version number (#33353)
* Changes the frequency at which the Reports API cache can be invalidated via the cache version number to be at most once every 10 minutes, instead of with every change to the store.
* Changes the TTL of Reports API cache entries so that they expire after an hour instead of after a week.

The goal of these changes is to increase the chance that a request to the Reports API for store stats will result in a cache hit, thus avoiding expensive, slow queries. The reason for lowering the TTL is so that if multiple store changes are made within the new 10-minute frequency window, the cache data will only be stale for up to an hour. With #33325 users will be able to refresh entries in the cache manually if they think something is stale.

Closes #33315
2022-06-15 11:40:05 -07:00
Jorge A. Torres f0b9adc7ae
Make sure payment gateway title is a string before sanitizing (#33434)
Make sure payment gateway title is a string before sanitizing.

* Add changelog
* Drop type-hint in `validate_safe_text_field()`
* Update plugins/woocommerce/includes/abstracts/abstract-wc-settings-api.php

Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-06-15 10:49:11 -07:00
Joshua T Flowers 35a4d1ca32
Clean up unused remote inbox notifications option (#33373)
* Clean up unused remote inbox notifications option

* Add changelog entry

* Add comments to existing action hooks
2022-06-15 08:03:36 -04:00
Jorge A. Torres 4b63f34841
[COT] Implement metadata CRUD and `update()` method in COT datastore (#33026)
* Add `OrdersTableDataStoreMeta` to handle metadata for orders

* Add `OrdersTableDataStoreHelper` with various helper functions used in the COT datastore

* Pass some helper classes as args to the COT datastore

* Use `OrdersTableDataStoreMeta` for meta in COT datastore

* Minor fixes to columns definition in COT datastore

* First pass at update() in the COT datastore

* PHPCS fixes

* Remove duplicate `read_meta` calls.

* Register `OrdersTableDataStore` earlier to make container happy

* Do not hardcode table metadata in `OrdersTableDataStoreMeta`

* Correctly format decimals for storing in the db

* read() shouldn’t success on non-existing orders

* Rework persisting to db in OrdersTableDataStore

* Correctly handle some props in OrdersTableDataStore

* Add changelog

* Add missing TODOs

* Remove unused variables

* No need to query db before deleting meta in `OrdersTableDataStoreMeta`

* Simplify OrdersTableDataStoreMeta::update_meta()

* Explicitly enumerate columns in OrdersTableDataStoreMeta::get_metadata_by_id()

* Make COT metadata implementation more generic

* Do not use property_exists() to determine existence of meta value

* Move some methods over to DatabaseUtil and get rid of COT datastore helper

* Rename `CustomDataStoreMeta` to `CustomMetaDataStore`

* Make PHPCS happy

* Add unit test.

* Correct arg passed to persist_order_to_db()

* Remove comment

* Split conditional on multiple lines

Co-authored-by: vedanshujain <vedanshu.jain.2012@gmail.com>
2022-06-15 14:09:41 +05:30
Ilyas Foo 090822eabf
Update product task experiment names (#33428)
* Update product task experiment names

* Changelog

* Fix lint
2022-06-15 16:34:24 +08:00
Niels Lange c33d7cc632
Correct CLIRunner translations (#33247)
* Correct CLIRunner translations

* Adjust placeholder formats and translator comments

* Add changelog.

Co-authored-by: vedanshujain <vedanshu.jain.2012@gmail.com>
2022-06-15 12:54:39 +05:30
Chi-Hsuan Huang aac85ac301
Turn on experimental-product-tour feature flag (#33413)
* Turn on experimental-product-tour feature flag

* Add changelog
2022-06-15 09:50:37 +08:00
Corey McKrill 12cbb87e80
Add cache refreshing/debugging mechanisms to Report API endpoints (#33325)
Adds a new collection parameter to all Reports API endpoints that utilize caching, `force_cache_refresh`, which will cause the current request to bypass the cache, re-run the queries for the requested data, and overwrite the previous cache entry with the new results.

Note that this doesn't invalidate the entire cache, only the entry for the particular set of collection parameters and values specified in the request.

This also adds a way to include debugging information related to the cache in the API response. Modeled after the way the Query Monitor plugin adds such information, you can get this by including an `_envelope` parameter in your API request. The debugging info includes whether the cache has been disabled via filter (`should_use_cache`), whether the `force_cache_refresh` parameter was used, whether the returned data was a `cache_hit` or not, and an array of the query parameters that were actually used to create the cache key.

Closes #33221
2022-06-14 14:24:31 -07:00
Paul Sealock dc2977cea3
Merge pull request #33329 from woocommerce/add/admin-tester
Add WooCommerce Admin Test Helper
2022-06-15 07:31:21 +12:00
jonathansadowski 4ec3bef590
Update the changelog.txt and the stable tag in readme.txt for 6.6.0 (#33419) 2022-06-14 14:14:27 -05:00
Joel Thiessen 183ac65c82
Adding context property to tasklist tracks event, introducing LayoutContext (#33287) 2022-06-14 11:31:50 -07:00
Daniel Morell 143d86490d
Generalize photoswipe button event target (#27804)
* Generalize photoswipe button event target

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2022-06-14 15:05:43 -03:00
jonathansadowski 277fd78bca
Sync payment gateway titles fix (#33418)
* Introduce a 'safe_text' field that allows a reduced subset of HTML tags.

* Escape on input as well as output; generalize sanitization function.

* Set reasonable default rules.

* Guard against invalid callbacks (escaping/sanitizing) functions.

* Update plugins/woocommerce/src/Internal/Utilities/HtmlSanitizer.php

Co-authored-by: Peter Fabian <peter.fabian.github@gmail.com>

* Allow alt (accessibility) for img tags; allow class attributes for img and span tags.

* Allow class attr for p tags.

* Use safe_text for payment gateway titles.

* Make HtmlSanitizer available through Utils service provider.

* Update settings code to pull HtmlSanitizer as a service and to use the new sanitize() method.

* Remove `style` from list of allowed attributes.

Allowing arbitrary CSS rules through style could undo the intent of this change, since that would allow a range of positioning and sizing changes to be effected.

* Remove unusued import.

* If no (KSES) rules are specifed, then strip all tags (this is a safer default strategy).

* For better safety, only apply pre-processor callbacks; remove responsibility for trimming of strings.

Applying callbacks to a string after it ahs passed through wp_kses() could (potentially) undo the work done by that function, and result in unexpected tags in the sanitizer's output.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
Co-authored-by: Peter Fabian <peter.fabian.github@gmail.com>
2022-06-14 12:31:27 -05:00
Luigi Teschio 84ecebdad2
Update WooCommerce Blocks package to 7.8.0 (#33338)
* Update WooCommerce Blocks package to 7.8.1

Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
2022-06-14 11:24:41 -03:00
Ilyas Foo 27041efdc5
Add event tracking product page spotlight tour (#33400)
* Update WooStep to have name in meta

* Add useProductStepChange hook and use it to detect form value changes in product tourkit, added tracking for tour view, tour dismiss, tour complete, and step complete

* Add tour view, tour dismiss, tour completion track to old product walkthrough

* Changelog

* Fix test

* Add listener to publish button for product spotlight tour

* Add track for old walkthrough publish button
2022-06-14 16:19:32 +08:00
Chi-Hsuan Huang 94367ca559
Migrate `@woocommerce/data` onboarding store to TS (#33401)
* Migrate onboarding data store to TS

* Update deprecated-tasks.tsx type annotations

* Fix onboarding resolvers
2022-06-14 10:23:40 +08:00
Chi-Hsuan Huang 257e558530
Update product template descriptions (#33397)
* Update product template descriptions

* Add changelog
2022-06-14 10:22:57 +08:00
Chi-Hsuan Huang 8fb9664b7a
Fix product tour spotlight location (#33395) 2022-06-14 10:22:43 +08:00
Vedanshu Jain 3fd9ee99aa
Fix typos COT verification messages. (#33207)
* Fix typos in migration error messages.
2022-06-13 16:08:57 -03:00
mrleemon 22721e6a28
Fix typos in CLIRunner.php (#33231)
Fix typos in CLIRunner.php

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-06-13 11:30:24 -07:00
Adrian Duffell 1e03b68598
Update onboarding email marketing checkbox default to false (#33292) 2022-06-13 09:55:57 +08:00
Paul Sealock 0efd480581 merge conflicts 2022-06-13 12:47:00 +12:00
Paul Sealock b166d45986
WooCommerce Plugin: Update Webpack to 5.x (#33354) 2022-06-13 09:09:23 +12:00
Joshua T Flowers 935f915cb5
Update scrollbar hover styles in new navigation (#33313)
* Update scrollbar hover styles in new navigation

* Update contrast ratio

* Add Firefox scrollbar properties

* Fix scrollbar-color and scrollbar-width values

Co-authored-by: Matt Sherman <matt@jam123.com>
2022-06-10 12:24:02 -04:00
Kathy 483d62f1cc
follow up to #33182 swap .woocommerce-info and .woocommerce-message colors in twenty twenty (#33377)
* swap .woocommerce-info and .woocommerce-message colors in twenty twenty
2022-06-10 15:38:31 +02:00
Kathy 19bea3832e
First pass: Twenty Twenty One notice styles. Closes #29560. (#33379) 2022-06-10 11:37:06 +02:00
Adp5067 4c164c3247
Make the option 'woocommerce_tracker_ua' load on demand. (#33274) 2022-06-10 08:55:10 +02:00
Chi-Hsuan Huang 558e5e322e
Fix continue button is enabled when email is null in setup wizard (#33362)
* Fix continue button is enabled even when email is null in setup wizard

* Add changelog
2022-06-10 10:35:11 +08:00
Paul Sealock 4fa634ee0e merge changes 2022-06-10 12:26:26 +12:00
Paul Sealock 5054105972 try manual rebase conflict fix 2022-06-10 12:21:48 +12:00
Christopher Allford b7931409f2
Migrate From Nx to Turborepo (#33079)
This replaces all `nx` commands with `turbo` commands and removes Nx from the repository. All of the `project.json` files have been removed and any commands that broke with Turborepo have been adjusted.
2022-06-09 14:40:07 -07:00
Chi-Hsuan Huang a3d42be6b0
Fix setup wizard click button loading state (#33358)
* Fix setup wizard usage button loading state

* Add e2e tests for usage button loading state
2022-06-09 17:30:06 +08:00
Sakri Koskimies e80312eef0
Change attribute slug length requirement and add wc_create_attribute tests (#31795)
* Allow for 28-character attribute slugs
* Add wc_create_attribute tests
2022-06-09 10:51:38 +02:00
Ilyas Foo e3744709c7
Wrap product spotlight tour under ExPlat logic (#33361)
* Add experiment wrap

* Changelog

* Move experiment check to bottom to minimize explat calls
2022-06-09 16:21:28 +08:00
Néstor Soriano fe267f355e
Add a new ArrayUtil::select method (#33347)
This new method is syntactic sugar for array_map. It scans an array
of arrays and/or objects and selects one value from each using
an array key name, an object method, or an object property.
2022-06-09 08:40:40 +02:00
Néstor Soriano e822b97619
[COT] Add database transactions support for data synchronization (#33255)
* Add optional usage of database transactions for orders sync.

Includes a new setting in Advanced - Custom data stores to enable
or disable transactions usage and to select the transaction
isolation level.

* Improve the selection of data to be updated when syncing orders.

The SQL query that chooses records to be migrated to core tables
now explicitly excludes unchanged records based on the column mappings.

Also when syncing meta tables with single meta values, records for
which the value hasn't changed are now excluded from the update.

* Fix MetaToCustomTableMigrator to work with order addresses table.

* Add unit tests for db transactions on PostsToOrdersMigrationController

Also add the DynamicDecorator::call_original_method method
2022-06-09 08:39:56 +02:00
Chi-Hsuan Huang 04a763d389
Add product page spotlight tour (#33268)
* Add product-tour admin script

* Update class-wc-admin-pointers.php to show experimental product tour

* Remove unnecessary window.onload

* Replace add new button with Enable guided mode button for product editing

* Show tour when tutorial query = true

* Add logic to show new tour only when a user select the physical product template

* Update product tour last step button text

* Add auto-scroll effect

* Fix i18n text

* Use bottom-start placement and align the arrow to the left

* Update pnpm-lock.yaml

* Update product tour effects

* Add changelog

* Add doc comments & check for tour-kit

* Add focus elements to product tour and wait initial element for tour showup

* Use spotlight query param to toggle new product tour feature

* Update wait seconds

* Update border style for product description & short description when editor is focused

* Add experimental-product-tour feature flag

* Refactor product-tour and support html editor focus style

Co-authored-by: moon <moon.kyong@automattic.com>
2022-06-09 13:02:40 +08:00
Chi-Hsuan Huang 6858195510
Update webpack.config.js to ensure we use styles from build-style (#33357)
* Update webpack.config.js to ensure we use styles from build-style

* Add changelog
2022-06-09 10:45:36 +08:00
jonathansadowski 21e6eea3cc
Update ActionScheduler to 3.4.2 (#33351) 2022-06-08 14:23:57 -05:00
Chi-Hsuan Huang 5db5c8b110
Add tour kit component (#33229)
* Add tour-kit component

* Add @types/wordpress__viewport to @woocommerce/components devDeps

* Add tour-kit README.md

* Add primaryButtonText option to tour kit step meta

* Add changelog

* Remove unneeded style import

* Set position and z-index style for tour-kit

* Add disable primary button feature for tour kit

* Export TourKitTypes

* Update style-build config for @automattic/* packages

* Add @automattic/* deps for components

* Ignore fs in webpack.config.js

* Update tour-kit stories

* Add tour-kit tests

* Update tour-kit README.md

* Update tour-kit types

* Update webpack.config.js

* Update style.scss

* Add auto focus feature

* Update type doc
2022-06-08 17:16:31 +08:00
Paul Sealock ce796e1cd7 build zip for release 2022-06-08 14:14:45 +12:00
Paul Sealock 734cfebd8c Clean up eslintrc in favour of defaults 2022-06-08 14:03:16 +12:00
Paul Sealock 1aec706943 Run linter on all js files 2022-06-08 13:58:25 +12:00
Paul Sealock bab0bf8298 Run lint:fix on js 2022-06-08 13:39:59 +12:00
Chi-Hsuan Huang 62313708aa
Add `tasklist_cancel_load_sample_products_click` event track for product task (#33327)
* Add tasklist_cancel_load_sample_products_click event track for product task

* Add changelog
2022-06-08 09:39:14 +08:00
Paul Sealock 8a30e307b6 changelog 2022-06-08 13:33:59 +12:00
Paul Sealock 2dce7b5bba Remove duplicated src folder/ 2022-06-08 13:31:16 +12:00
Paul Sealock 979fa45627 downgrade to @wordpress/scripts 19.2.4 2022-06-08 09:14:50 +12:00
Néstor Soriano 6aa4b5cdae
Fix: error when creating products via REST API v1 (#33334)
* Fix root namespace indicator in parameter

For LookupDataStore::on_product_created_or_updated_via_rest_api.
This was preventing the v1 REST API endpoint for batch insert of
products from working.

Co-authored-by: barryhughes <3594411+barryhughes@users.noreply.github.com>
2022-06-07 10:51:17 -07:00
jonathansadowski eba6df8299
Fix warning on WC Pay subscriptions page with unset submenu item (#33339)
* Fix warning on WC Pay subscriptions page with unset submenu item

* Add isset check before iterating over submenu in task list
2022-06-07 12:50:34 -05:00
Jorge A. Torres c3f7687feb
Add charset collation to COT database schema (#33210) 2022-06-07 16:45:00 +02:00
Chi-Hsuan Huang a2813267eb
Fix script version parameter for async chunks (#33332)
* Fix webpack script version parameter for JS chunks
* Fix webpack script version parameter for CSS chunks
2022-06-07 21:35:04 +08:00
Barry Hughes 1bca9327ac
Fixes for the WP CLI Updater (#33264)
* After running db update callbacks, update the `woocommerce_db_version` option.
* Remove dead code.
* Add tests for `wp wc update`.
2022-06-07 13:20:28 +02:00
Paul Sealock 0ed7c90d1b remove temp admin folder 2022-06-07 15:55:52 +12:00
Paul Sealock 475521ea0b Move plugin.php and readme 2022-06-07 15:55:26 +12:00
Paul Sealock b17e51fde8 Split build step into two 2022-06-07 15:37:58 +12:00
Paul Sealock c70e9e1333 Update wp-scripts 2022-06-07 15:33:20 +12:00
Paul Sealock 6ded9053b6 Move admin tester folders to root 2022-06-07 15:18:37 +12:00
Paul Sealock 54c847abb6 Copy git ignores to beta-tester 2022-06-07 15:14:21 +12:00
Paul Sealock dd712f4911 Copy eslint ignores to beta-tester 2022-06-07 15:13:14 +12:00
Paul Sealock bedd27a2eb Declare and install beta-tester dependencies 2022-06-07 15:10:36 +12:00
Paul Sealock 87005ff9ba Move beta tester temp files to Beta Tester plugin 2022-06-07 14:53:01 +12:00
Josh Betz f04e0761a6
Add individual analytics leaderboard endpoints (#33185)
Add individual analytics leaderboard endpoints

Register routes for each of the individual leaderboards.

These leaderboards can be pretty expensive to generate. If you only need
to data from one of them, it can be a pretty significant performance
boost to avoid generating all the leaderboards.
2022-06-06 07:48:30 -05:00
Joshua T Flowers 12625ae615
Add purchase task to experimental task lists (#33178)
* Add purchase task to experimental task lists

* Add changelog entry

* Add purchase header

* Update logic around purchase products list strings

* Add purchase illustration

* Fix up task title tests

* Handle PR feedback

* Fix theme title in purchase task
2022-06-06 07:58:34 -04:00
Deiva Magalhaes c4e068be3b
Product review page in WooCommerce Core (#32763)
Introduce a dedicated admin screen for better management of product reviews.

Co-authored-by: Fulvio Notarstefano <unfulvio@godaddy.com>
Co-authored-by: Adriano Castro <72993300+acastro1-godaddy@users.noreply.github.com>
Co-authored-by: Adriano Castro <adrianostanley@gmail.com>
Co-authored-by: Adriano Castro <acastro1@godaddy.com>
Co-authored-by: Ashley Gibson <agibson@godaddy.com>
Co-authored-by: Ashley Gibson <99189195+agibson-godaddy@users.noreply.github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
2022-06-05 10:45:28 -07:00
Christopher Allford bb320a935a
Removed `@woocommerce/notices` Internal Prefix (#33283)
Since we're exposing the package in some form,
we cannot rename it since that would break backwards
compatibility.  This commit changes it back.
2022-06-03 16:05:26 -07:00
Moon 5a71268a1d
Remove WCA installation merge test (#33303)
* Remove unnecessary test

* Add changelog
2022-06-03 14:57:57 -07:00
jonathansadowski 35b58245af
Remove changelog file for cherry-picked PRs #33180 and #33300 (#33299)
* Remove changelog file for cherry-picked PR #33180

* Remove changelog file for cherry-picked PR #33300
2022-06-03 11:14:41 -05:00
Joep Schuurkes 7e54b8aea0
Add e2e tests to check shipping costs consistency in cart and checkout (#33208)
* Add e2e tests to check consistency in shipping costs for cart and checkout pages

Goal of these tests it to check if the cart and checkout pages are
consistent in calculuating shipping costs. Three tests added:
- shipping available to country with states
- shipping available to country without states
- no shipping available (fails, see issue #33205)

Reason to add these tests is PR #25916, which reverted PR #25128,
because the original PR worked for the cart page, but not for the
checkout page.

* Update e2e-core-tests changelog

* Skip failing e2e-core-test
2022-06-03 10:01:04 -06:00
Albert Juhé Lluveras 2b85008ae5
Fix broken design of Single Product template in block themes when product had no reviews or additional info (#33308)
Fix broken design of Single Product template in block themes when product had no reviews or additional info
2022-06-03 08:37:30 -07:00
Joshua T Flowers 21f7cea2b6
Add woo install timestamp to server experimental assignment requests (#33300)
* Add woo install timestamp to server experimental assignment requests

* Add changelog entry
2022-06-03 08:25:10 -04:00
Moon 29ddd17e68
Deprecate wcAdminAssetUrl and WC_ADMIN_IMAGES_FOLDER_URL (#33290)
* Fix incorrect URL for the wcAdminAssetUrl and deprecate both wcAdminAssetUrl and WC_ADMIN_IMAGES_FOLDER_URL

* Remove unused wcAdminAssetUrl var

* Remove use of wcAdminAssetUrl

* Add changelog

* Ignore hook PHPCS error -- they are pre-existing
2022-06-02 15:01:37 -07:00
Barry Hughes ea365f9f1a
Bump version number. (#33296) 2022-06-02 14:06:11 -05:00
Joshua T Flowers bec9e92b32
Add total payments volume rule processor for inbox notifications (#33192)
* Add method to get total sales for a timeframe

* Add total payments volume rule processor

* Use start and end dates for total sales method

* Add method to get start and end dates from timeframe

* Update processor rule to use timeframes

* Fix up method calls

* Add tests for timeframes

* Add tests around getting total sales by date

* Add changelog entry

* Use revenue query instead of custom query for total sales

* Update since tag on hook
2022-06-02 08:38:06 -04:00
Tung Du 7de6d18b2e
Fix: Twenty Twenty-Two integration (#32840)
* fix: Twenty Twenty-Two integration

* fix the width for checkout page. remove unnecessary account page width style

* add changelog entry
2022-06-02 11:04:27 +01:00
Chi-Hsuan Huang 5d076cc7d4
Fix obw free extension rules for the marketing task with php 8 (#33291)
* Fix obw free extensions api for marketing task with php8

* Add changelog

* Fix wcpay cbd rule
2022-06-02 13:13:44 +08:00
Hugo Derre c0619dc597
Add : "name" and "id" attributes of input html tags can now be different in wc-admin-settings (#32728)
Support specifying settings fields where the name and IDs can be different.
2022-06-01 15:16:23 -07:00
Fernando be041e0d38
Add/edit products: add new Tracks props (#33177)
* Add props to `product_add_publish

* Add props to `product_update`

* Add changelog

* Add validation to description prop

* Add validation to purchase_note

* Add validation to short_description

* Removed debugger

* Fix `get_dimensions`

* Add validation to upsells

* Changed `cross-sells` and `upsells` checks

* Fix description tracking

* Fix `description_value`

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-06-01 14:44:18 -03:00
louwie17 e02bdd98a0
Remove order/product count from wcSettings (#33064)
* Remove orderCount and publishedProductCount setting and make use of data stores

* Add test

* Add changelog

* Make use of orders data store instead of items data store

* Add users param to reports customers API params to allow filtering by user_id

* Fix invalidateResolution call that was misspelled
2022-06-01 14:15:09 -03:00
Joel Thiessen ddafa8e380
Tasks chaining side panel (#33124) 2022-06-01 10:10:20 -07:00
Roy Ho deed99313a
Remove unused contributors script (#33239)
* Remove unused contributors script

* Add changelog entry
2022-06-01 05:43:54 -07:00
Christopher Allford 112b9ac67a
Prefixed Private JS Packages (#33218)
In order to ease the identification of private packages within the monorepo, this adds an `internal-` prefix to all of the current private packages. This makes it immediately clear when reviewing `packages/js` what is and isn't a private package.
2022-05-31 15:42:00 -07:00