Commit Graph

9 Commits

Author SHA1 Message Date
Chi-Hsuan Huang ea58ae339a
Add core profiler "Welcome to Woo!" page (#37952)
* Add core profiler - welcome to woo page

* Add changelog

* Update checkbox styles

* Update copies

* Add test

* Add enable prop to window.wcTracks type

* Add tracks

* Add explat changelog

* Fix import

* Update default tracking value

* Update copies

* Fix test

* 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)

* use actions.choose instead of branching inside action 

- https://stately.ai/docs/xstate/transitions-and-choices/guarded-actions#the-choose-action
- makes it so that the machine model is serializeable
- todo: in the distant future i wonder if it might be tidier to have tracks be its own actor that just receives the same events that this machine does, that way it's just standalone instead of mixing up tracks with the implementation

* use dispatch instead of useDispatch

- decouples the implementation of the handler from the react component
- makes the handler testable on its own if needed
- makes the state machine testable without relying on external dependencies

* decoupled remaining function calls

* Fix lint error

* Fix style lint

* address xstate console warnings

- .withConfig() is a function call that returns a new object every invocation so we need to wrap it in useMemo to keep it stable

* Add optInDataSharing is false test

* Fix lint

---------

Co-authored-by: rjchow <me@rjchow.com>
2023-05-03 15:54:28 +08:00
Jacob Sewell 0142c16cd8
Add/33331 wcadmin install timestamp explat default (#33574)
* Add preloadOptions.woocommerce_admin_install_timestamp to wcSettings.admin definition in explat client.

* Add woo_wcadmin_install_timestamp to explat client queryArgs.

* Add checking for woo_wcadmin_install_timestamp in request args to explat fetch tests.

* Changelog for 33331/33574.
2022-07-11 11:59:41 -03: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 33ce73f47f
Fix explat fetchExperimentAssignment response (#33425)
Fix fetchExperimentAssignment response
2022-06-15 10:18:45 +08:00
Chi-Hsuan Huang 2c97db867e Update woo.explat to check fetchExperimentAssignment params 2022-05-03 17:01:07 +08:00
Chi-Hsuan Huang 6c8ee08f19 Add a safeguard for ExPlat assignment requests to make sure a user either has an anon_id defined and not empty 2022-05-03 17:01:07 +08:00
Chi-Hsuan Huang d45606293c Fix js package lint errors 2022-03-29 16:07:08 +08:00
Chi-Hsuan Huang 0530ee122c Fix explat assignment-test.js for node >= 16 2022-03-22 11:24:59 +08:00
Christopher Allford d2d8d78be1 Moved WCA Packages
This commit moves all of the packages in
`plugins/woocommerce-admin/packages` to their
new home in `packages/js`.
2022-03-18 14:25:26 -07:00