* Update useLaunchYourStore hook to accept enabled parameter and only enable it in homescreen
* Add changelog
* Fix type
* Change isHomescreen function to variable
* Add tests for ProductPage
* Add tests for ProductVariationPage
* Add test for product_tab_click event
* Add test for product_editor_feedback_bar_turnoff_editor_click event
* Add test for product_dropdown_option_click event
* Add test for product_add_view track
* Changelogs
* Changelog
* Lint
* Add product_edit_view test and falsey test
* Fix test name
* Add a step to install patterns when during the CYS flow
* Add changefile(s) from automation for the following project(s): woocommerce
* Add feature flag to the install patterns function
* Fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Select the next block after deleting one
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
* Check if next block client is defined
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix crash when currentTemplate is null
* Redirect to the proper section after installing fonts or patterns
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add unit test for pageview on non-embedded layout component
* Add tracks test for payments welcome page
* Add test for task completion track
* Update completion track to use get_json instead for more accurate coverage
* Changelog
* Lint
* Add test for tasklist item click
* Change test name
* CYS: Fix crash homepage
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Show popover when the user clicks on the pattern
* Add changefile(s) from automation for the following project(s): woocommerce
* fix errors
* add documentation
* fix calculation
* improve performance
* remove not necessary else branch
* restore pnpm-lock
* improve function naming
* fix label
* improve logic
* remove dispatch
* remove console.log
* fix setLogoBlockIds
* CYS - BlockToolbar: Add Delete button
* fix import
* no show toolbar
* fix build
* not allow click on no blocks placeholder
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not necessary comment
---------
Co-authored-by: github-actions <github-actions@github.com>
* Change the modal condition to check if the theme is a block theme
* Only switch to TT4 if the theme is not a block theme
* Remove unnecessary code
* Add new Intro cards when the theme is customized
* Redirect to the customizer if the active theme is a classic one
* Update the "Start designing" link depending on the type of theme
* Fix lint errors
* Fix more lint errors
* Fix tests
* Remove only
* Add tests for the customize button
* Update copy
* Fix lint errors
* Try to fix tests
* Fix tests
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove commented out css code
* Fix tests
* Remove unused
* Add margin to the cards
* Change active theme has mods by customize task completed
* Add events to the new intro page
* Fix color palette tests
* Remove unused 'fetchActiveThemeHasMods' function
This fixes the "select( 'core' ).getCurrentThemeGlobalStylesRevisions() is deprecated since version 6.5.0" warning
* Revert allowing any block theme in the assembler
* Prevent other block themes to go to the assembler
* Fix linting errors, restore test
* Remove only from test
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Add the `Want more patterns` opt in message when tracking is not allowed
* Add notice for offline user
* Add new internal endpoint to fetch patterns
* Introduce a new step in the state machine to synchronously fetch patterns in the flow
* Remove unnecessary initialization
* Add new endpoint to check the patterns PTK availability
* Add `isPTKPatternsAPIAvailable` to context
* Add patterns opt in tracking message to homepage section
* Add tests
* Fix linting errors
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix typo
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: Ensure that toolbar appears only when the homepage sidebar is open
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Ensure that toolbar appears only when the homepage sidebar is open
* use usequery hook instead of navigation API
---------
Co-authored-by: github-actions <github-actions@github.com>
* Replace classnames with clsx within woocommerce-blocks.
* Undo unnecessary change to getClassnames const.
* Replace classnames with clsx within woocommerce-admin.
* Add changelog.
* Update the pnpm lock file
* Address lint.
* Address lint errors for the block-library.
* show notice on WC core about subs expired
* add notice in wc core my subscription page
* dismiss subscription notice
* add rest api for dismiss subscription notioce
* dismiss notice permanently
* code refactor
* fix issue in expired subs
* not showing expiring subs notice if expired sub notice render
not showing expiring subs notice if expired sub notice render
* fix lint
* added changelog
* update comment
* fix js lint
* update response
* added new endpoint for notice
* update the endpoint URL
* update the endpoint URL
* show notice after one month
* add css class for refactor
* fix lint
* Add missing callback after the merge
* check plugin is installed on current site
* add comments, and fix missing price
* fix lint
* remove unnecessary duplicate asset load
* fix notice so that it only trigger dismiss API on notices close
* localize the renew product price
* track events in the wc settings page
* Use the correct field product_regular_price instead of product_price
* Add missing period in the notice message
* add nonce to the dismiss notice API
* extract dismiss notice API call to different code
* extract expired and expiring component to 1 component
* add track events for tsx components
* fix nonce checking
* fix lint
* fix lint
* enrich the button and hyperlink url to contains the product_id of expiring / expired subscription
* fix lint
* fix lint
---------
Co-authored-by: Akeda Bagus <akeda.bagus@automattic.com>
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Add woopayments/test-orders-count endpoint
* Load test order count
* Call deleteTestOrders
* Remove test code
* Use wc_get_orders to retrive test orders
* Add changefile(s) from automation for the following project(s): woocommerce
* typecast deleteTestOrders
* Type removeTestOrders input
* Remove woopayment activation check -- do not need as we are using wc_get_orders
* Add tests for test order count and delete endpoints
* Delete test class
* Add tests for test order count and delete endpoints
* Lint fixes
* Lint fixes
* Lint fixes
* Remove unused import
* Fix timing issue with counting test orders
* Add hasWooPayments guard
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: rjchow <me@rjchow.com>
* Temp commit
* Clean up unused codes and streamline logic
* More cleanups and add comment
* Better naming and fix logic
* Rename and comment
* Changelog
* Changelog
* Lint
* Moved leap year utils to date package, added tests
* Moved functions to utils, add tests
* Add more test
* Fix changelog
* Add status-completed endpoint
* Use new status-completed endpoint
* Add changefile(s) from automation for the following project(s): woocommerce
* Revert back unwanted changes
* Cache /wc-admin/launch-your-store/survey-completed call
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
* Highlight the pattern when the user hovers it
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - Assembler: improve feature flag check
* Add changefile(s) from automation for the following project(s): woocommerce
* improve logic
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
* Highlight the pattern when the user hovers it
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS: Add shuffle button
* CYS - add shuffle feature
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: allow to the user to move the pattern
* add feature flag
* Add changefile(s) from automation for the following project(s): woocommerce
* use WooCommerce feature flag approach
* hide scrollbar on the body
---------
Co-authored-by: github-actions <github-actions@github.com>
* Lazy load the PluginArea and the ModalEditor
* Remove repeated product request when editing a specific product
* Fix linter errors
* Add changelog files
* Fix linter errors
* Refactor the block editor to remove some extra rerenders
* Defer the publish button processing
* Defer the tab content render 500ms to reduce the total blocking time
* Fix linter errors
* Fix unit test and tabs unexpected rerender
* Fix linter errors
* Reduce the defered time to 300ms
* Fix get product url when the product has been duplicated since the new copy does not have permalink
* Fix the invalid unregistration of wc-admin-more-menu in the product page
* Fix compilation errors
* Fix the issue that the React-powered admin routing page added after initialization could not be displayed.
* Delay showing admin `NoMatch` to reduce the chance of flashing error message when route page is added after initialization.
* Add JS tests for the `NoMatch` page in the admin.
* Add changelog
* Add redirect to LYS on homescreen when lysTaskOpen is present
* Typos
* Fix lint issues
* Fix lint issues
* Add changelog
* Fix lint issues
* Fix lint issues
* Use isDashboardShown in effect
This required adding a check to ensure query is not an empty object
* Imporve the jankiness by moving catch-all logic to layout
* use an effect to set the session value to no
* lint
* lint
* Fix tests
* Try preventing redirects from WP menu click
* Revert "Try preventing redirects from WP menu click"
This reverts commit 8ef6dcf4dd.
* Add Skip button to Design With AI steps.
* Add changefile(s) from automation for the following project(s): woocommerce
* Use window.location.href to redirect instead.
* fix css linter errors
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Luigi Teschio <gigitux@gmail.com>
* Simplify final step in CYS when entering from Entrepreneur Signup.
* Add changelog.
* Update plugins/woocommerce-admin/client/customize-store/transitional/index.tsx
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Show My Home button as primary button only on Entrepreneur flow.
* Use 'customize_your_store_entrepreneur_home_click' tracks event instead.
---------
Co-authored-by: Ivan Ottinger <ivan.ottinger@automattic.com>
* Show WordPress logo when entering Design With AI from Enterpreneur signup flow.
* Update logo on Assembler Hub.
* Really need to force it.
* Add changelog.
* Newline.
* Newline.
* Fix rebase error.
* Fix double import.
* Remove !important.
* add subscription expiry message on plugin list
* Update changelog
* fix lint
* refactor code
* update product price meta
* add tracks event for enable autorenew and renew subscription notices in plugin lists
* fix lint error
* check product price is set or not
* check product price is set or not
* added translator comment
* fix typo
---------
Co-authored-by: prahesa.setia <prahesa.kusuma.setia@automattic.com>
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add 'shared with you' badge
* Improve spacing where multiple badges span multiple lines
* Decrease font size of badges per new designs
* Include 'Manage on Woo.com' only for non-shared subscriptions
* Made TypeScript happier
* Add changefile(s) from automation for the following project(s): woocommerce
* Addressing linter errors.
* Allow unusually-long email addresses of sharers to wrap
* Switch wordWrap for overflowWrap
Modern browesers interpret the former as an alias of the latter, including allowing the use of 'anywhere'. But the current version of https://www.npmjs.com/package/csstype only recognises 'anywhere' as valid for overflowWrap. Switching it prevents compilation errors, still exhibits the correct behavior.
* Prettier linting
* Update plugins/woocommerce/changelog/46229-add-wccom19063-in-app-shared-by-badge
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
* Use pointer as cursor for status popovers
* Don't focus-within the status badge popover on load (prevents ugly link focus issue)
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Support for Business Services in in-app marketplace ()
Contains the changes from:
#46530#46725#47048#47135#47183#47227#47352#47452
* Update plugins/woocommerce-admin/client/marketplace/README.md
Fix documentation punctuation
---------
Co-authored-by: Raja Sekar Manimaran <raja.sekar.manimaran@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Michal Iwanow <4765119+mcliwanow@users.noreply.github.com>
Co-authored-by: Dan Q <dan@danq.me>
* mutate the original instance of the block array
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable the save changes button until changes are made
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix broken test
* Test
* Remove test code
* Tmp fix - fix broken test
* Fix incorrect comparison
* Remove test code
* minor refactor -- re-use setting
* Remove use of loadash isequal
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update to pnpm 9.1 and fix a mini css bug
* Add changefile(s) from automation for the following project(s): @woocommerce/tracks, @woocommerce/product-editor, @woocommerce/onboarding, @woocommerce/number, @woocommerce/notices, @woocommerce/navigation, @woocommerce/internal-js-tests, @woocommerce/extend-cart-checkout-block, @woocommerce/expression-evaluation, @woocommerce/explat, @woocommerce/experimental, @woocommerce/eslint-plugin, @woocommerce/dependency-extraction-webpack-plugin, @woocommerce/date, @woocommerce/data, @woocommerce/customer-effort-score, @woocommerce/currency, @woocommerce/csv-export, @woocommerce/create-woo-extension, @woocommerce/create-product-editor-block, @woocommerce/components, @woocommerce/api, @woocommerce/ai, @woocommerce/admin-e2e-tests, woocommerce-blocks, woocommerce-beta-tester, woocommerce, woo-ai
* temporarily disable swallowing build output to diagnose issue with perf workflow
* Ignore some type issues that commonly resurface when deps slightly change
* Fix persistent type issues that have recurred many times
* Add more ignores
* Fix lint issue
* Revert change to swallow build error
* Improve access of the config that needs updated build dir.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Freemium: update marketplace product card label
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Adding padding to the copy link
* Add changefile(s) from automation for the following project(s): woocommerce
* Tmp fix - fix broken test
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update toolbar store link
"Preview store" when coming soon mode is enabled
"View store" when the site is set to live
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove hover background
* Add changefile(s) from automation for the following project(s): woocommerce
* Tmp fix - fix broken test
---------
Co-authored-by: github-actions <github-actions@github.com>
* Replace Options.php usage with LaunchYourStore controller
* Add changefile(s) from automation for the following project(s): woocommerce
* Catch error, but ignore it
* Tmp fix - fix broken test
* Lint fixes
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix event when starting the no AI flow
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rename filter options in Orders Analytics.
* Sort filter options in labels in Orders Analytics.
* Change filter labels to singular.
* Wider label column to accommodate label change.
* Rename filter options in Variations Analytics.
* Change filter options to Attribute, Category and Product in Variations Analytics.
* Revert "Change filter options to Attribute, Category and Product in Variations Analytics."
This reverts commit b3ca5d5807.
* Change "Add a Filter" to "Add a filter".
* Add changelog.
* Add changelog.
* Refactor getAvailableFilterKeys and getAvailableFilters into one function.
* Add code comment and remove unneeded code.
* Code refactor getAvailableFilters.
This is done by starting from allFilterKeys, and filtering with allowMultiple or not yet active.
With this, we don't need to have `inactiveFilterKeys` and "Ensure filters that allow multiples are always present."
* Fix tests and lint issues.
* Simplify code with Object.entries.
* Fix error when the repeating the prompt
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Import colors.native scss variables
* Add changelog
* Refactor WCPay banner and cleanup
We introduce a new WCPayConnectCard onboarding component and
remove/cleanup all other WCPay surface components.
This component uses the new design, updated payment methods icons
and WCPay logo.
* Add changelog
* Upgrade the WCPay payments settings banner
* test: Fix WCPay payments settings banner tests
* Update the WCPay welcome page to use the WCPayConnectCard component
* Update the Payments task page to use the WCPayConnectCard component
* Fix copy for payments settings methods CTA buttons label
* Add changelog
* Further cleanup of no-longer-used WCPay surfaces
* Consolidate onboarding component icons for single sources
* Minor cleanup
* test: Fix WCPay payments settings banner test
* test: Fix payments tasks page tests
* Add apiFetch middleware to add X-Wc-Product-Editor header to all requests from product editor
* Use productEditorHeaderApiFetchMiddleware
* Update name of header
* Utility function to check header
* Changelog
* Changelog
* Fix logo position after saving on the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - set flowType when the state machine is instantiated
* remove not necessary code
* Add changefile(s) from automation for the following project(s): woocommerce
* fix action
* improve logic
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - AI Flow: hide X button on the entrepreneur flow
* CYS - AI flow: keep persisted query param when redirect
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Allow having two different in-app connect messages based on WooCommerce.com Update Manager installation status.
* Revert to older message.
* Update connect message icon.
* Prevent showing the red badge when site is not connected.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - set flowType when the state machine is instantiated
* remove not necessary code
* Add changefile(s) from automation for the following project(s): woocommerce
* fix action
* improve logic
* Add changefile(s) from automation for the following project(s): woocommerce
* CYS - AI Flow: hide X button on the entrepreneur flow
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - set flowType when the state machine is instantiated
* remove not necessary code
* Add changefile(s) from automation for the following project(s): woocommerce
* fix action
* improve logic
* Add changefile(s) from automation for the following project(s): woocommerce
* remove not necessary guards
---------
Co-authored-by: github-actions <github-actions@github.com>
* Change "Origin" column name to "Attribution" in Analytics.
* Rename "Origin" column to "Attribution" in Orders Analytics report download.
* Add changelog.
* Fix UI for add filter popover in Analytics.
* Make character casing consistent for filters.
* Add changelog.
* Add changelog.
* Change filter label to sentence case.
* Display channel column in Orders Analytics UI.
* Set $data to false to not use cache.
For development purpose.
* Get channel info from order meta and put into extended_info.
* Set channel in order item level.
* Replace channel with get_origin_label in extended_info.
* Remove unnneeded channel in orders_data.
* Display origin instead of channel in table.
* Fix lint errors.
* Query order meta table based on HPOS.
* Remove code for development purpose.
* Add changelog.
* Fix code comment.
* Guard against null values.
`_wc_order_attribution_utm_source` can be null when the order is created via web admin.
* Set default origin label to "Unknown".
This default is the same as found in `output_origin_column` function in plugins/woocommerce/src/Internal/Orders/OrderAttributionController.php.
* Support server side report download.
This is needed when there are more than 25 records in the Orders Analytics report.
* Fix failed test.
* Fix lint error.
* Simplify code.
We loop through $orders_data instead of $order_attributions data. This is because $order_attributions may not have attributions data for some orders.
By looping through $orders_data, it would automatically cater for "Unknown" data from get_origin_label function call, and we don't need to specify "Unknown" as default value for origin.
* Change "channel" to "attribution" object in controller.
This is because we need more than one piece of information, so we need it to be an object with properties like `origin`, `device` etc.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Change `origin` string to `attribution` array in Orders DataStore.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Change origin string to attribution object.
* Fix indexing after changing from origin string to attribution object.
* Change from origin string to attribution object in table.js.
* Simplify code.
To make code shorter and easier to read, instead of long horizontal code.
* Fix lint errors.
* Fix failed test.
* Fix lint error.
* Fix retrieving origin in CSV export.
* Use $wpdb->postmeta; cosmetic change.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Cosmetic change.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* Sanitize order IDs by using absint.
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
---------
Co-authored-by: Kader Ibrahim S <kader.ibrahim.s@a8c.com>
* add a woo.com connect notice in the plugin list for unconnected store
* add an extra notice string for store that runs outdated woo plugins
* add connect page hyoerlink to the plugin notice
* add changelog
* add comment for maybe_show_connect_notice_in_plugin_list()
* fix linter error
* use installed local woo plugin as the counter of extra notices
* only show woo connect notice in the woocommerce settings page
* add woocom connect notice component
* add woocom connect notice component to the content component
* add extra notice in the woocom connect notice component based on the local woo plugins count
* persist dismissal of woo connect notice in the wc admin settings page
* update changelog
* use update-check-public for unconnected stores
* use information from update-check-public API to determine notice show logic
* re-show dismissed connect woocom notice after 1 month
* add re-show notice logic for react admin page of woo connect notice
* fix identation
* differentiate local storage key for notice dismissal
* move woo connect notice script to different file
* rename to connectnotice
* fix linter issue
* fix linter issue
* update woo.com to woocommerce.com
* update woo.com to woocommerce.com in comment
* capitalize the WooCommerce.com
Co-authored-by: Leif Singer <leif@automattic.com>
* capitalize WooCommerce.com
---------
Co-authored-by: Leif Singer <leif@automattic.com>
* Update coming soon page link to template editor
* Add changelog
* Hide coming soon link when current theme is classic theme
* Remove line change
* Add type
* Make LYS preview frame resizable
* Add changelog
* Refactor site-preview.scss: Remove components-resizable-box__container styles
* Set z-index to 2 to preview container to fix resizing handler on max size
* Make room for the handle on the left side