Commit Graph

51950 Commits

Author SHA1 Message Date
RJ 00952e8b95
add: core profiler fetch extensions (#38270)
add: fetch extensions and countries from API for core profiler

- prefetch it once in the machine init so that it's instant when used later
- fetch it again in preExtensions state and store it to context
- added prefetch for getCountries as well
2023-05-18 10:50:59 +08:00
Moon baf7714dfa
Add onboarding/plugins REST endpoint (#38174)
* Remove unused $job_id argument

* Support WP_Upgrader argument -- helps for testing

* Minor refactor to support a custom logger in install_plugins

   * Support a custom logger in install_plugins
   * Support swapping out WP_Upgrader impl.
   * Added woocommerce_plugins_install_async_callback callback to call install_plugins with a custom logger from action scheduler

* Add a new REST endpoint for onboarding plugins

* POST /wc-admin/onboarding/plugins/install-async -- queues plugin installs to action scheudler
* GET /wc-admin/onboarding/plugins/scheduled-installs/:job_id -- returns current status of given job id

* Remove WP_Upgrader support -- not using it

* Add changelog

* Fix phpcs errors

* Call complete

* Update test to wait 1 sec before checking the action scheduler

* Remove test that requires waiting an async action

* Add test for 404 status

* Add status field

* Remove woocommerce_plugins_install_async_callback action -- no longer used

* Call run-in-background endpoint with blocking=false to simulate a background process

* Update plugins/woocommerce/src/Admin/PluginsInstallLoggers/AsynPluginsInstallLogger.php

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

* Update plugins/woocommerce/src/Admin/PluginsInstallLoggers/PluginsInstallLogger.php

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

* Update plugins/woocommerce/tests/php/src/Admin/API/OnboardingPluginsTest.php

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

* Update plugins/woocommerce/tests/php/src/Admin/API/OnboardingPluginsTest.php

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

* Update plugins/woocommerce/tests/php/src/Admin/API/OnboardingPluginsTest.php

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

* Update plugins/woocommerce/src/Admin/PluginsInstallLoggers/PluginsInstallLogger.php

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

* Fix incorrect logger name

* Add max_execution_time setting

* Remove test code

* Skip failing test -- hard to test as the function uses site url and test env does not actaully have a running WP

* code format

* Revert background process changes

* Add install and activate endpoint

* Update plugins/woocommerce/src/Admin/PluginsInstallLoggers/AsynPluginsInstallLogger.php

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

* Update plugins/woocommerce/src/Admin/API/OnboardingPlugins.php

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

* Require activate_plugins permission

* Add test to check for permissions

* Update install and activate schema

* Fix: import AsyncPluginsInstallLogger correctly

* Fix: add missing comments

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2023-05-17 19:08:00 -07:00
Paul Sealock 600b19c6f8
Monorepo Utils: Consolidate checking environment to use isGithubCI (#38310)
* use isGithubCI

* Add basic tests for isGithubCI and fix failing existing test.

---------

Co-authored-by: Sam Seay <samueljseay@gmail.com>
2023-05-18 10:42:09 +12:00
Paul Sealock b7d17f3d8d
Code Freeze CLI Add changelog to code freeze action (#38264)
Add changelog CLI to code freeze action
2023-05-18 10:41:46 +12:00
Ron Rennick d8eee11eb2
Fix TT3 styles and typography in the single product's attributes table (#37895) 2023-05-17 16:37:49 -03:00
nigeljamesstevenson eebd3ed285
Reduce flakiness of `create-variable-product` and `create-coupon` specs (#38321) 2023-05-17 13:25:27 +01:00
rodelgc db10af9583 Apply timeout to all tests 2023-05-17 15:31:28 +08:00
rodelgc 043bfa1943 Add explicit waits 2023-05-17 15:20:02 +08:00
rodelgc fd5bc2a420 Replace deprecated page methods.
Blur and wait for autosave.
Add a few explicit waits.
2023-05-17 15:19:18 +08:00
Maikel David Pérez Gómez 470ecd0e7d
Fix validation behavior (#38194)
* Create ValidationContext

* Add ValidationProvider to the product editor

* Add new validation to the name block

* Add new validation to the Save button

* Store validations within a useRef instead of useState to improves re-renders

* Create find first visible and invalid element function

* Add focus first invalid element feat when submitting

* Integrate autofocus with name block

* Migrate sale-price block to the new validation system

* Add changelog file

* Migrate regular-price block to the new validation system

* Migrate schedule-sale block to the new validation system

* Migrate inventory-quantity block to the new validation system

* Migrate shipping-dimensions block to the new validation system

* Remove old validation hook

* Add validation to the save-draft button

* Add validation to the preview button

* Expose validation hooks to be used outside of the package

* Make sure the product is in fact saved before calling the onPublishSuccess
2023-05-17 01:01:30 -04:00
rodelgc 3be1f45f2e Merge branch 'trunk' into e2e/increase-timeouts 2023-05-17 12:52:49 +08:00
rodelgc 77d75b1a34 Set timeout within test 2023-05-17 12:18:49 +08:00
Moon 3db18516e6
Update RIN Transformers doc with examples. (#38176)
* Update transformers doc with examples

* Add changelog
2023-05-16 19:13:56 -07:00
Chi-Hsuan Huang dcbfbe2748
Cleanup task list and re-organize file structure (#38271)
* Deprecate onboarding task snooze APIs

* Cleanup task list and organize tasks file structure

* Add changelog

* Fix lint

* Fix tests

* Remove two-columns check logic

* Fix mock path
2023-05-17 09:54:31 +08:00
Joshua T Flowers 5b50bbc442
Wrap selected items in experimental select control (#38284) 2023-05-16 15:15:26 -07:00
rodelgc e077c4c027 Replace deprecated page methods 2023-05-17 03:07:08 +08:00
rodelgc f2108a81ae Increase spec timeout to 3m 2023-05-17 00:45:07 +08:00
James Collins 8dc16fa48d
Re-assign existing webhooks during user deletion (#37814)
Co-authored-by: James Collins <james@om4.com.au>
Co-authored-by: Nestor Soriano <konamiman@konamiman.com>

Includes UI detailing how many webhooks are assigned to each of the users being deleted, and explaining how the re-assignment works.
2023-05-16 16:23:10 +02:00
rodelgc 35ba63403a Update readme 2023-05-16 20:41:23 +08:00
rodelgc 319c8038f7 Add changelog 2023-05-16 20:38:56 +08:00
rodelgc 83c0e3e393 Increase spec timeout to 2m 30s 2023-05-16 20:37:54 +08:00
rodelgc 8d4066aff5 Increase default timeout to 2m 2023-05-16 20:37:40 +08:00
Maikel David Pérez Gómez 4b3479595b
Only register blocks when user navigates to the product edit page (#38303)
* Remove block registration from within the Editor component

* Expose the initBlocks function to be used outside of the product package

* Register blocks within the ProductPage component

* Add changelog files

* Unregister blocks when product page gets unmounted
2023-05-16 07:41:26 -03:00
Joshua T Flowers 35e1fed2f9
Wait for editor changes to be debounced before closing modal (#38262)
* Wait for editor changes to be debounced before closing modal

* Handle PR feedback
2023-05-16 04:41:43 -03:00
Chi-Hsuan Huang 8d249841b9
Fix `get_options` deprecation notice (#38289)
* Fix get_options deprecation notice

* Add changelog

* Remove duplicates
2023-05-16 09:36:20 +08:00
Paul Sealock 5013232b9e
Add Changelog Auto Add workflow for development (#38311)
* add basic workflow for testing

* better name
2023-05-16 13:13:31 +12:00
RJ 38dc82b4b1
dev: add core profiler state machine tests (#38154)
dev: added tests for core profiler state machine

- added tests to demonstrate model based testing with @xstate/test
2023-05-16 08:56:39 +08:00
RJ 8cd0f2f997
dev: added types for resolveSelect where applicable (#38241) 2023-05-16 08:55:50 +08:00
Corey McKrill 5a3e0b1a67
Introduce missing button element classes for the account orders and downloads (#37933)
Ensures button styles are consistent in the front end UI.
2023-05-15 17:18:11 -07:00
Sam Seay f943bebc15
Don't generate singletons for Octokit and GraphQL until they're used at runtime. (#38268)
* Move API instance generation into functions to ensure they don't run on import.

* Dont use extraneous variables, call singleton fns directly.

* Get rid of accidental change
2023-05-16 10:41:37 +12:00
Paul Sealock e860e1f21f
Code Freeze CLI: Replace PHP script with TS (#38233) 2023-05-16 10:33:53 +12:00
nigeljamesstevenson 06006619b3
Update test timeout to 90 seconds, and suggest using `DEFAULT_TIMEOUT_OVERRIDE` in E2E README (#38288) 2023-05-15 20:12:39 +01:00
Maikel David Pérez Gómez 332094e87d
Update shipping class block to match new designs (#38301)
* Change the section title from Shipping fee to Shipping class

* Replace the radio buttons with a regular dropdown

* Add changelog files
2023-05-15 13:06:48 -04:00
Christopher Allford dedf728d51
Support PHPUnit Tests In `wp-env` (#38265)
You can now run unit tests with `test:unit:env` after using
`env:test` to start the environment.
2023-05-15 09:47:50 -07:00
“Chris ad5c577abe Merge branch 'trunk' into fix/tt3-attributes-table 2023-05-15 14:25:41 +03:00
“Chris f1b1df93d1 Bump order-again template 2023-05-15 14:25:18 +03:00
“Chris 66c5a16e2e Bump template versions 2023-05-15 14:24:27 +03:00
“Chris ee74bc6873 Merge branch 'trunk' into add/tt3-comp-button-classes 2023-05-15 14:23:19 +03:00
Vedanshu Jain 2d6e433e05
Fix the child order upshifting when parent order is deleted (#38199) 2023-05-15 16:03:35 +05:30
nigeljamesstevenson c190f971b1
skip k6 api batch update when batch create fails (#38282) 2023-05-15 11:16:11 +01:00
Moon 0bf6859383
Add Business Location page to the core profiler (#38019)
* Add core profiler - welcome to woo page

* Update checkbox styles

* Add tracks

* Update default tracking value

* Update copies

* using invoked promise instead of useState

- take advantage of xstate's built ins for side effects instead of  useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)

* add: core profiler scaffolding using xstate

* Add navigation and progress-bar components

* fix css lint error

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/woologo.tsx

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

* Update plugins/woocommerce-admin/client/core-profiler/components/progress-bar/progress-bar.tsx

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

* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/navigation.tsx

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

* Remove var from __ function

* Use woocommerce prefix for classnames

* Fix css lint error

* Fix broken tests

* Add business location page

* Remove unwanted changes from rebase

* Remove unwanted changes from rebase

* Redirect to Woo Home on exit

* Add tracks

* Fix js lint error

* Add loader page

* Support meta value from nested states

* Use navigateTo

* Add tests for getCountryStateOptions

* Use Country type from navigation package

* Rename useStages to getLoaderStageMeta

* Add changelog

* Move progress from 20 to 80

* Fix xstate warning

* Fix broken pnpm lock

* Fix eslint errors

* Update plugins/woocommerce-admin/client/core-profiler/services/country.ts

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Update plugins/woocommerce-admin/client/core-profiler/index.tsx

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>

* Save country to option

* Fix jslint error

* Update plugins/woocommerce-admin/client/core-profiler/services/country.ts

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

* Update plugins/woocommerce-admin/client/core-profiler/style.scss

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

* Fix eslint error

* Use decodeEntities directly

* Update comment for artificial 3 seconds wait

* Disable Go to my store button when country is empty

* Style for mobile devices

* Style updates for the country dropdown

* Fix js lint error

* Update country dropdown border color

* Style the loader

* Fix css lint

---------

Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>
2023-05-15 04:56:47 +08:00
rodelgc e729c776b9 UPdate readme 2023-05-13 16:48:55 +08:00
rodelgc e4845842cb Default to 90 sec 2023-05-13 16:48:49 +08:00
rodelgc 9f592117a1 Add changelog 2023-05-13 16:14:54 +08:00
Ron Rennick f6b5913d32
Add HPOS specific k6 test suite (#37665)
* Add HPOS specific k6 test suite

* revert unintntional partial revert of #37719

---------

Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
2023-05-12 16:25:51 -03:00
Faisal Alvi 8e9ff0d7f5
Fix/37601 Add `aria-describedby` to Select options button (#37880)
* Add `aria-describedby` to select options button

* add a changelog

* update the chnagelog file

* fix type

* fix the function name

* remove `aria-describedby`s if with value

* suggestions implemented

* Minor PHPCS fixes

---------

Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
2023-05-12 16:16:38 -03:00
louwie17 0ea5205672
Move template addition to feature flag (#38276)
* Remove template from product type and move to feature flag

* Add changelog

* Fix lint errors
2023-05-12 13:28:57 -03:00
Ron Rennick 71f3a8c40d
Do not call login if user is already logged in (#37850) 2023-05-12 13:27:10 -03:00
Ron Rennick 36202d744d skip k6 batch update when batch create fails 2023-05-12 13:20:11 -03:00
Vedanshu Jain e45dbd7301
Compute if any order is pending, when deciding to process next migration batch (#38165)
We change the behavior of how we decide whether to continue or stop the migration. Earlier, when deciding, we were counting all pending orders which was slow especially on large sites, and will continue to get slower as the migration processes. However, now we will only fetch if there is any order that needs migrating to decide whether to go ahead with the migration or not, which should be much faster then calculating the total count.
2023-05-12 16:34:05 +02:00