Commit Graph

7971 Commits

Author SHA1 Message Date
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