Commit Graph

305 Commits

Author SHA1 Message Date
Lourens Schep 25d6b6d528 Add reminder bar for task list experiment 2022-03-22 12:28:58 -03:00
louwie17 4bff4d1302 Fix php notice when selecting paid theme (https://github.com/woocommerce/woocommerce-admin/pull/8493)
* Add initial E2E tests for purchase task

* Update paid theme logic to remove PHP warning and keep the correct price

* Fix php unit tests

* Address some PR feedback

* Add changelog

* Include the purchase task e2e test

* Disable test

* Delete purchase E2E test file
2022-03-18 16:05:38 -03:00
RJ d9714b55c3 Update webpack 4 to webpack 5 (https://github.com/woocommerce/woocommerce-admin/pull/8476)
* updated webpack to 5

* fix dependency extraction config

* port unminify.js to webpack 5

* updated packages webpack version

* changelogs

* Updated @wordpress/custom-templated-path-webpack-plugin

- also removed Terser from package.json

* Upgraded storybook config to webpack 5
2022-03-18 18:59:05 +08:00
Chi-Hsuan Huang 89e7d145f4 Fix `next_week_start` logic (https://github.com/woocommerce/woocommerce-admin/pull/8468)
* Fix next_week_start logic

* Add changelog

* Update function docs for definitions of week end and week start
2022-03-18 12:18:16 +08:00
Chi-Hsuan Huang 4de940111c Remove `is_primary` column from the `wp_wc_admin_notes` table (https://github.com/woocommerce/woocommerce-admin/pull/8474)
* Remove is_primary column from the wc_admin_notes table

* Add changelog
2022-03-18 09:17:35 +08:00
Joshua T Flowers 611903ef5d Separate onboarding concerns into separate classes (https://github.com/woocommerce/woocommerce-admin/pull/8280)
* Separate onboarding concerns into separate classes

* Fix up onboarding product types

* Fix up references to profile data option

* Fix up call to allowed themes

* Move onboarding features to internal namespace

* Remove old onboarding redirect

* Fix failing tests

* Add changelog entry

* Move inernal classes to the new src-internal folder

* Fix lint error

* Add deprecated class for Onboarding

* Add empty construct method

* Remove some of the unnecessary static functions and make sure OnboardingTasks still gets initialized

* Fix missed changes during rebase

* Fix tests

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2022-03-17 17:10:43 -03:00
Tomek Wytrębowicz ae89e6ae20 Suppress `lint:js` warnings in CI and GitHub PRs (https://github.com/woocommerce/woocommerce-admin/pull/8020)
- Add returned type annotations to `packages/admin-e2e-tests/src/elements/*.ts` and `packages/admin-e2e-tests/src/*.ts`.
- Remove unused vars from `packages/admin-e2e-tests/src/*.ts`.
- Simplify `unknown` type union.

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-03-17 12:13:37 +01:00
Chi-Hsuan Huang 6d139e063d Fix industry tab not clickable after going back (https://github.com/woocommerce/woocommerce-admin/pull/8469)
* Fix industry tab not clickable after going back

* Add changelog

* Add e2e test for testing industry tab going back

* Add changelog

* Add navigate to fix the test
2022-03-17 17:39:50 +08:00
Moon 2ea4d92c30 Translate dates in NewSalesRecord note (https://github.com/woocommerce/woocommerce-admin/pull/8426)
* Translate dates

* Add changelog

* Add test

* Fix broken tests
2022-03-16 14:03:43 -07:00
louwie17 b2e83899b3 Add/8269 rest api docs (https://github.com/woocommerce/woocommerce-admin/pull/8429)
* Internalize all WooCommerce Admin main API controllers

* Internalize all report and report stat controllers

* Make function public and label as internal to fix PHP unit tests

* Add changelog
2022-03-16 14:46:48 -03:00
Chi-Hsuan Huang a9fe13e80b Add capability for ExPlat integration to authenticate WPCOM users (https://github.com/woocommerce/woocommerce-admin/pull/8428)
* Add @wordpress/api-fetch to explat/package.json

* Export auth exPlat utils

* Support request assignment as wpcom user

* Add experiments proxy api for js

* Update error response

* Add changelog

* Update pnpm-lock.yaml

* Change error type

* Update explat/README.md

* Update includes/class-experimental-abtest.php

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

* Fix get explat /assignments

* Fix url & add comment to assignment.ts

* Fix cors issue

* Fix php test

Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
2022-03-16 11:03:10 +08:00
Jacob Sewell 463394f3db Create lookup_notes method to bypass woocommerce_note_where_clauses filter. (https://github.com/woocommerce/woocommerce-admin/pull/8387)
* Add args_to_where_clauses() and lookup_notes() methods to Admin\Notes\DataStore.
For use by internal code to bypass woocommerce_note_where_clauses filter.

* Changelog for 8385/8387.

* Add some linter whitelist notation to preexisting warnings in class-wc-test-notes-data-store.

* Add unit tests for the differences between lookup_notes() and get_notes().

* Minor text fix in changelog for 8385/8387.

* Better explanation in pagination tests in test_lookup_notes_versus_get_notes().

* All Notes created by WC_Tests_Notes_Data_Store should have source and name values.

* Add tearDown method to WC_Tests_Notes_Data_Store to delete test-created Notes.
2022-03-15 14:24:09 -05:00
louwie17 f37af20b5f New task list version 1 (https://github.com/woocommerce/woocommerce-admin/pull/8457)
* Allow for easy task component switch

* Add past tense feature addition with cross out

* Add visible option for task lists and make use of new feature config

* Fix lint errors

* Fix lint errors

* Fix css lint

* Fix js unit tests

* Address PR feedback

* Add js tests for task list changes

* Add php tests for updated logic

* Add changelog

* Update copy

* Make snooze test a little more robust
2022-03-15 14:40:22 -03:00
Fernando 9a704ad1e2 Remove class `ExtendedPayments`. (https://github.com/woocommerce/woocommerce-admin/pull/8461)
* Removed class `ExtendedPayments`

* Add changelog

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-03-15 09:10:40 -03:00
louwie17 8d4471fce4 Fix paid themes (https://github.com/woocommerce/woocommerce-admin/pull/8412)
* Add support for paid themes

* Fix lint errors

* Add changelog

* Refactor get_products logic and add unit tests

* Add comment
2022-03-14 17:31:03 -03:00
Joel Thiessen 8465c10917 Display WCPay task when installed via subscriptions option on profiler (https://github.com/woocommerce/woocommerce-admin/pull/8445) 2022-03-14 12:44:55 -07:00
Jacob Sewell 2a7df822b3 Avoid get_notes() in Notes::possibly_delete_survey_notes() (https://github.com/woocommerce/woocommerce-admin/pull/8206)
* Query for admin survey note_ids directly in Notes::possibly_delete_survey_notes().

* Add get_notes_with_type( $note_type ) method to Automattic\WooCommerce\Admin\Notes.
Name selected for consistency with preexisting get_notes_with_name( $name ) method.

* Use new get_notes_with_type() in Notes::possibly_delete_marketing_notes().

* Use new get_notes_with_type() in Notes::possibly_delete_survey_notes().

* Correct copy-pasta error querying for MARKETING notes instead of SURVEY notes in possibly_delete_survey_notes().

* Only delete actioned notes in possibly_delete_survey_notes(), which was the previous behavior.

* Changed get_notes_with_type() to get_note_ids_by_type() in Notes data store.

* Changelog for 7987/8206.

* Add missing method name in changelog for 7987/8206.
2022-03-10 18:57:29 -06:00
berislav grgičak a2a53ab6c2 Fix legend item width (https://github.com/woocommerce/woocommerce-admin/pull/8442)
* Fix legend item width

* Add testing instructions

* Add changelog entry

* Fix changelog

* Add changelog
2022-03-10 15:09:45 +01:00
louwie17 c65d43a35e Cleanup Loader.php and move it to Internal namespace (https://github.com/woocommerce/woocommerce-admin/pull/8416)
* Seperated Asset, page, and translation logic into seperate classes out of Loader.php

* Move user, and assets logic out of Loader.php

* Move Loader to Internal and move page helper functions to PageController

* Fix unit tests

* Add changelog
2022-03-09 10:04:34 -04:00
Fernando f5316d02af Make individual note classes internal (https://github.com/woocommerce/woocommerce-admin/pull/8398)
* Moved `WooSubscriptionsNotes`

* Moved `WooSubscriptionsNotes` deprecated

* Moved `WooCommerceSubscriptions`

* Moved `WooCommercePayments`

* Fix `WooCommerceSubscriptions`

* Fix `WooSubscriptionsNotes

* Fix `WooCommercePayments`

* Moved `WelcomeToWooCommerceForStoreUsers

* Add use `Note`

* Moved `UpdateStoreDetails`

* Moved `UnsecuredReportFiles`

* Moved `TrackingOptIn`

* Moved `TestCheckout`

* Moved `SetUpAdditionalPaymentTypes`

* Moved `SellingOnlineCourses`

* Moved `RealTimeOrderAlerts`

* Moved `PersonalizeStore`

* Moved `PerformanceOnMobile`

* Moved `PaymentsRemindMeLater`

* Moved `OrderMilestones`

* Moved `OnlineClothingStore`

* Moved `OnboardingPayments

* Moved `NewSalesRecord`

* Moved `NavigationNudge`

* Moved `NavigationNudge`

* Moved `MobileApp`

* Moved `MigrateFromShopify`

* Moved `MarketingJetpack`

* Moved `ManageStoreActivityFromHomeScreen`

* Moved `ManageOrdersOnTheGo`

* Moved `MagentoMigration`

* Moved `LaunchChecklist`

* Moved `InstallJPAndWCSPlugins`

* Moved `InsightFirstSale`

* Moved `InsightFirstProductAndPayment`

* Moved `GivingFeedbackNotes`

* Moved `FirstProduct`

* Moved `FirstDownlaodableProduct`

* Moved `EUVATNumber`

* Moved `EditProductsOnTheMove`

* Moved `DeactivatePlugin`

* Moved `CustomizingProductCatalog`

* Moved `CustomizeStoreWithBlocks`

* Moved `CouponPageMoved`

* Moved `CompleteStoreDetails`

* Moved `ChoosingTheme`

* Moved `AddingAndManangingProducts`

* Moved `AddFirstProduct`

* Removed `OnboardingTraits` trait

* Moved `EmailNotification`

* Fixed notes

* Add changelog

* Fix lint error

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-03-08 10:55:27 -03:00
Chi-Hsuan Huang 1335fe4a1a Fix long notes are not replaced with shorter notes (https://github.com/woocommerce/woocommerce-admin/pull/8401)
* Add possibly_update_note to replace long notes with shorter notes

* Add changelog

* Refactor possibly_update_note
2022-03-08 12:07:14 +08:00
Chi-Hsuan Huang 9aba93d127 Update all js packages with minor/patch version changes (https://github.com/woocommerce/woocommerce-admin/pull/8392)
* Update all js packages with minor/patch version changes

* Add changelog

* Fix packages/data types errors

* Update data/CHANGELOG.md

* Fix puppeteer version

* Fix packages/data > countries error types

* Make data key optional in RestApiError
2022-03-08 10:11:12 +08:00
Joshua T Flowers 834307e155 Merge payment gateway suggestion classes into single source of truth (https://github.com/woocommerce/woocommerce-admin/pull/8252)
* Rename route to payment gateway suggestions

* Create separate payment gateway suggestions controller

* Move payment gateway logic into feature class

* Merge payment gateway information into single source of truth

* Filter out WCPay client-side

* Fix up frontend

* Redirect to payment settings page on install

* Add test around showing installed gateways

* Remove check for marketplace suggestions at the endpoint level

* Fix up payment gateway conflicts after rebase

* Handle PR feedback

* Optimistically dismiss the payment gateway suggestions

* Add changelog entry

* Add square_image support for new API param

* Fixed lint error

Co-authored-by: Lourens Schep <lourensschep@gmail.com>
2022-03-07 09:15:06 -04:00
Chi-Hsuan Huang ac660167a0 Reintroduce emphasis on inbox note action button (https://github.com/woocommerce/woocommerce-admin/pull/8411)
* Reintroduce emphasis on inbox note action button

* Add changelog

* Remove actioned note gray color style
2022-03-07 17:14:49 +08:00
Chi-Hsuan Huang be7e73d484 Use integers for add_menu_page priority (https://github.com/woocommerce/woocommerce-admin/pull/8399)
* Use integers for menu page priority

 In wordpress >= 6.0, the seventh parameter passed to add_menu_page() should be an integer representing menu position.

* Add changelog

* Fix Analytics & WcPayWelcomePage menu positions
2022-03-07 17:12:24 +08:00
Chi-Hsuan Huang 3dff2fe11e Fix inbox letters truncator to support multi characters (https://github.com/woocommerce/woocommerce-admin/pull/8404)
* Install grapheme-splitter

* Support multi-characters Unicode letters for inbox html truncator

* Fix truncateRenderableHTML length compare

* Change note to immutable

* Add changelog

* Use hasChildNodes() to check if we should call truncateElement

* Add tests for truncate()
2022-03-07 12:09:26 +08:00
Chi-Hsuan Huang 86fc8b62e5 Switch to pnpm (https://github.com/woocommerce/woocommerce-admin/pull/8349)
* Add pnpm-workspace.yaml

* Add missing dependencies & replace file: with workspace:* in
package.json

* Replace "npm" with "pnpm"

* Replace "npx" with "pnpx"

* Remove package-lock.json

* Add pnpm setup action to github workflows

* Update webpack babel exclude path

* Upgrade woo e2e and fix e2e test command

Update e2e.yml

Use pnpm run e2e:docker-up in e2e.yml

* Remove unused docker-compose.yaml

* Replace lerna with pnpm commands

Update publish commands

* Exclude _locutus_shared_bc.js in babel.config.js

* Add .npmrc to set enable-pre-post-scripts=true by default

* Fix storybook babel config

Update babel.config.js

* Add changelog

* Update pnpm-lock.yaml

* Replace pnpx with pnpm exec

* Update pnpm-lock.yaml

* Remove js-tests/package-lock.json

* Fix @woocommerce/tracks -> workspace:*

* Update pnpm-lock.yaml

* Add @woocommerce/experimental to onboarding/package.json

* Add "@woocommerce/component" to onboarding/package.json

* Update pnpm-lock.yaml

* Use || instead of && for "test:watch"

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

* Fix packages/number "clean" command

* Add root: true to .eslintrc.js to enforce it to use the root config file

* Exclude packages/**/node_modules from babel transpiling

* Fix js-tests build config

Co-authored-by: RJ <27843274+rjchow@users.noreply.github.com>
2022-03-04 12:01:16 +08:00
Francesco 1ace2bbf1e add: `@woocommerce/block-data` in Webpack deps extraction (https://github.com/woocommerce/woocommerce-admin/pull/7911) 2022-03-02 10:31:30 -06:00
Moon 5d55b9b625 Redirect customers back to the payment task after enabling an offline gateway (https://github.com/woocommerce/woocommerce-admin/pull/8389)
* Redirect customers back to the payment task page after enabling an offline payment

* Add changelog

* Make hasPlugins property boolean

* Remove unnecessary type checking

* Fix the comparison logic
2022-03-01 17:45:44 -08:00
RJ d2205a6faf Stop showing actioned inbox items (https://github.com/woocommerce/woocommerce-admin/pull/8394)
* Stop showing actioned inbox items

- revert of https://github.com/woocommerce/woocommerce-admin/pull/7983/

* Trigger rerun of CI
2022-03-01 21:08:29 +08:00
louwie17 b871cbf09b Fix/8251 woocommerce payments task list logic (https://github.com/woocommerce/woocommerce-admin/pull/8332)
* Allow the support of multiple task lists with overlapping tasks

* Add filter by task ids

* Revert getTaskListById call

* Fix notices

* Move prefix event to task and task list classes instead

* Fix track events and extended task list

* Fix php unit tests

* Remove the seperate task list classes as this was unnecessary.

* Fix tests

* Remove unneeded allowed-tasks

* Change onboarding task list redux store structure

* Add extra id for handling hidden param for experimental task lists

* Fix lint errors

* Fix forgotten change

* Add changelog
2022-03-01 08:34:18 -04:00
louwie17 212d1c6e96 Remove the use of preloaded countries (https://github.com/woocommerce/woocommerce-admin/pull/8380)
* Remove the use of preloaded countries and make use of country data store instead

* Fix shipping task

* Add changelog

* Fix lint errors
2022-03-01 08:33:41 -04:00
Adrian Duffell f43e4caf4b Fix view logic for Setup additional payment providers task (https://github.com/woocommerce/woocommerce-admin/pull/8391) 2022-03-01 17:06:20 +08:00
RJ f306cc2ba5 Enable Typescript checking on ./client folder (https://github.com/woocommerce/woocommerce-admin/pull/8372)
* Copied .tsconfig into ./client to enable ts checking

- Made sub-repos composite typescript packages where necessary

* Prevent tsc from transpiling ./client

 - we use webpack for transpiling so no need for this

* Added tsc resolution path for @automattic/explat-client

- Seems like there's a type export issue (?) with @automattic/explat-client and @automattic/explat-client-react-helpers
- adding the node_modules/@automattic/explat-client path in tsconfig seems to help TS resolve this using the source .ts files
- found answer here: https://github.com/microsoft/TypeScript/issues/42873
- should figure out what's actually wrong with the type exports and fix that there instead

* Removed mandatory checking from webpack

- removed this for now as it will block all development until all type inconsistencies are fixed
- for now, run the optional ts:check task either in console or vscode for highlighting type errors

* Added vscode tasks for typescript checking

* Patch @automattic/explat-client-react-helpers

- this changes the installed code in node_modules (post-installation) for @automattic/explat-client-react-helpers so that it exports the necessary type interfaces required by us
- attempted unsuccessfully to override type exports using declare module
- not too sure how to fix this internally by other means
- have to investigate what fixes to propose to @automattic/explat-client-react-helpers team

* changed tests in ./client to use ts-jest instead of babel-jest

- rewrote jest config to use ts-jest instead of babel-jest
- set ts errors to warnings instead so that tests don't fail on type errors
- created new tsconfig for ./packages/js-tests so that build and ts-check are separate, as js-tests need to be built for commonjs
2022-03-01 12:19:07 +08:00
louwie17 1c6b18c05a Remove unused data endpoints param (https://github.com/woocommerce/woocommerce-admin/pull/8379)
* Remove unused data endpoints param

* Add changelog
2022-02-28 18:51:14 -04:00
Fernando 77fb10c53e OBW: fix copy on Business Details when "WooCommerce Shipping" is not listed (https://github.com/woocommerce/woocommerce-admin/pull/8324)
* Fix wc-shipping copy

* Fix method `createInstallExtensionOptions`

* Fix tests

* Add changelog

* Add WCTax logic

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-02-25 18:26:44 -03:00
Jaclyn Chen cb9e6b34df Fix hidden notes in `admin/notes` when the user is not in tasklist experiment (https://github.com/woocommerce/woocommerce-admin/pull/8328)
* Fix hidden notes from tasklist experiment.

* Add changelog.

* Use PR number instead of issue number in the changelog.
2022-02-25 08:09:49 +08:00
louwie17 ed2a1eaae2 Updated changelog with cherry picks (https://github.com/woocommerce/woocommerce-admin/pull/8347) 2022-02-23 08:59:49 -04:00
Chi-Hsuan Huang e8ce945d0e Implement MailChimp API request threshold for MailchimpScheduler (https://github.com/woocommerce/woocommerce-admin/pull/8342)
* Implement MailChimp API request threshold for MailchimpScheduler

Fix class-wc-tests-mailchimp-scheduler.php

Fix class-wc-tests-mailchimp-scheduler.php

* Add changelog

* Fix class-wc-tests-mailchimp-scheduler.php

* Fix class-wc-tests-mailchimp-scheduler.php
2022-02-23 09:37:00 +08:00
Moon 1c2bc9843c Use WC_VERSION as cache buster for assets (https://github.com/woocommerce/woocommerce-admin/pull/8308)
* Use WC_VERSION as cache buster

* Add changelog
2022-02-22 10:51:53 -08:00
berislav grgičak e2dfe225b8 Increase chart selection to 10 and allow color overriding (https://github.com/woocommerce/woocommerce-admin/pull/8258)
* Increase selection limit to 10

* Add filter for overriding chart colors

* Add filter documentation

* Update chart story

* Add testing instructions

* Changelogs

* Remove broken changelog entires

* Update changelogs

* Fix changelogs

* Add filter example

* Improve filter example
2022-02-22 09:01:14 -04:00
Chi-Hsuan Huang 9c49667dde Fix Google Listings plugin is always shown in free features despite already activated (https://github.com/woocommerce/woocommerce-admin/pull/8330)
* Add is_visible rule for google-listings-and-ads to not display it if it's already activated

* Add changelog
2022-02-21 17:46:25 +08:00
Chi-Hsuan Huang c05ed7777a Update dependencies to support react 17 (https://github.com/woocommerce/woocommerce-admin/pull/8305)
* Upgrade dependencies to support react17

Update pkg

Update @wordpress/api-fetch and gridicons

* Update test snapshots

* Update SnackbarList with latest react-spring

* Mock data.dispatch for task-list-item.test.tsx

* Remove '@wordpress/components/src/visually-hidden/style' import

wp-components has included it

* Update interpolateComponents import path

* Fix display-options test

* Add changelogs

Update changelogs

* Add @automattic/explat-client-react-helpers back

* Update webpack.config for explat-client-react-helpers

Update webpack config comment

Fix grammar
2022-02-21 10:34:25 +08:00
louwie17 42625174d9 Have free subscriptions adhere to cbd industry (https://github.com/woocommerce/woocommerce-admin/pull/8323)
* Make sure the free subscriptions does not show when cbd industry is selected

* Add changelog and fix productTypes not being defined

* Fix lint issue

* Fix lint error
2022-02-18 10:23:37 -04:00
louwie17 7c6a1f3b5b Fix payment task conflicts (https://github.com/woocommerce/woocommerce-admin/pull/8321)
* Fix payment logic of payment tasks between current task list and experimental one.

* Revert testing changes

* Fix linting

* Add changelog
2022-02-18 09:59:39 -04:00
Moon 718bac6981 Prompt a modal to save any unsaved changes in OBW (https://github.com/woocommerce/woocommerce-admin/pull/8278)
* Add a modal to show when unsaved changes are detected

* Add functions to track value changes from the steps

* Warn unsaved changes for the store details

* Add styles for the unsaved modal

* Warn unsaved changes for the Industry

* Warn unsaved changes for the Product Types

* Warn unsaved changes for the Business Details

* Add changelog

* Add testing instructions.

* Sort array values before comparison

* Use only the array values to compare the diff

* Catch rejected promise on continue

* Set initial value to an empty object

* Fix failing tests
2022-02-17 11:15:11 -08:00
Fernando ce0f73aa9b Refactor `MerchantEmailNotifications` (https://github.com/woocommerce/woocommerce-admin/pull/8304)
* Refactor `MerchantEmailNotifications`

* Rename `NotificationEmail`

* Add changelog

* Add folder `Notes` to `Internal`

* Moved folder and the namespace was renamed

Co-authored-by: Fernando Marichal <contacto@fernandomarichal.com>
2022-02-17 14:33:19 -03:00
rjchow 99a382c649 Fixed typing errors in Stepper component after typescript conversion 2022-02-17 10:35:39 +08:00
Ilyas Foo d590b1116f Fix WCPay in core texts and promo slug (https://github.com/woocommerce/woocommerce-admin/pull/8296)
* Fix texts and change promo slug

* Changelog
2022-02-16 11:10:59 +08:00
RJ ab1cbfb6f2 Added tracks test for PaymentGatewaySuggestions (https://github.com/woocommerce/woocommerce-admin/pull/8306) 2022-02-15 10:30:46 +08:00