* Allow changelog in build zip
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: remove orphaned components
* Marketplace: add country to search query
* Add changefile(s) from automation for the following project(s): woocommerce
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
* Use HTTP request to track in cron jobs (action scheduler jobs)
* Pass complete data to logger
* Track coreprofiler_store_extensions_installed_and_activated when plugin installation is complete
* Add changelog
* Update plugins/woocommerce/src/Admin/PluginsInstallLoggers/AsyncPluginsInstallLogger.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Include start_time in completion data
* Update plugins/woocommerce/includes/tracks/class-wc-tracks-event.php
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix variable naming convention
---------
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Accept arguments for the TinyContent getContent method.
Used to fetch the plain text version of the description.
* Add a class to the loading message content
* Set the max description length as global constant
* Create a MagicButton component and use it
* Get plain text description instead of HTML
* Return full category hierarchy (Parent > Child)
* Add method to return all available categories on the product edit page
* Helper function to generate product data instructions for the prompt
* Helper function to select category checkboxes on DOM
* Create component to display a list of suggestion items as pills
* Add product category suggestions to product edit page
* Use the AI package to get text completion
* Add tracks
* Add changelog
* Fix merge conflict
* Remove NoMatch state for category suggestions
* Get available categories using WC REST API
* Suggest new categories
* Run separate prompts for existing and new category generation
* Fix overflow in suggestion pills
* Don't include existing selected categories in prompt
* Add util to encode html entities
* Exclude "Uncategorized" category from product data
* Allow excluding properties from the product data instructions
* Create category from suggestion if it doesn't exist
* Show suggestions as links instead of pills
* Ask for feedback after suggestion selected
* Decode html entities in available categories results
* Don't encode html entities when comparing available categories
* Change feedback box style
* Suggest only one category
* Remove log
* Show feedback box after generating suggestions
Instead of showing it after a suggestion is selected
* Fix typo
* add: url navigation to cys
* bugfix for url not updating
* url handling for design-with-ai
* fixed url syncing so that it's working with @woocommerce/navigation
* changed useLocation to useQuery in assembler-hub save-hub
* Record plugin api and install failures to coreprofiler_install_plugin_error track
* Add changefile(s) from automation for the following project(s): woocommerce
* Change to trigger GH jobs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update help menu themes link
Update plugins/woocommerce/includes/admin/class-wc-admin-help.php
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Fix __experimentalReapplyBlockTypeFilters is not a function
* Add changefile(s) from automation for the following project(s): woocommerce
Update changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix wp-router dependencies issue
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix customize your store task header button (#40033)
* Fix customize your store task header button
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Checks ran after closing and opening the PR. One failed but it passed after re-run. Checked and appeard the old anchors were not used in other places so merging this one - thanks!
* Custom WooPayments task header content
when action incentive is available.
* Add badge prop to experimental TaskItem component
, update task list components, docs, storybook, and tests
* Add badge property to OnboardingTasks/Task abstract class
* Add `woocommerce_admin_woopayments_onboarding_task_badge` filter
* Use the filter to display the badge from server
* Add changelog entries
* Update filter to use return existing badge
instead of an empty string
* Update task header to also check for the incentive in wcpaySettings
* add: made look and tone ai completion api call more robust
- added tracks and tests for invalid ai response
* removed some redundant stuff
* parameterised prompt for safety
* minor fixes
* Add ProgressBar component to @woocommerce/components
* Add changelog
* Remove html.wp-toolbar in fullscreen mode
* Add base style
* Add Tell us a bit more about your business page
* Fix merge conflict issues
* Send BUSINESS_INFO_DESCRIPTION_COMPLETE event when continue button is clicked
* Remove duplicated style import
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
* Lint fix
* Add 'Look and Feel' and 'Tone of voice' pages';
* Use correct classname
* Minor changes
* Textearea color should be gray-900 after the user enter text
* guide font weight should be 500
* Fix layout shift when a choice is selected
* Fix choices width for tone of voice page
* Use context value for the default
* Revert button margin top
* Fix default selection
* Add X button
* Decrease the margin by 20px to accommodate the height of the close button
* Add close action
* Include @woocommerce/ai package
* Add AI service
* Use AI service
* Parse JSON from in function
* Fix assignLookAndTone event type
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/components/choice/choice.scss
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/services.ts
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Log when AI API endpoint request fails
* Add spinner when user clicks the continue button
* streamlined unnecessary isRequesting context and forwarded close event
* pnpm-lock changes from trunk
* lint fixes
* ai package test passWithNoTests
* changelog
* reset pnpm-lock to trunk
* Dev: update pnpm-lock.yaml and jest preset config (#40045)
* Update pnpm-lock.yaml
* Update jest-preset config to fix unexpected token error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
This is necessary because the layout of WooCommerce > Extensions pages adjusts the page height (to compensate for the larger header). On systems with scrollbars set to always-visible, this results in a ~1px overflow of the inner content and double-scrollbars are visible. This CSS mitigates that.
WooCommerce store alerts shown on the Marketplace page are mis-aligned on account of the CSS that applies to the Marketplace. This change re-positions them and, as a bonus, aligns their left and right edges with the rest of the page content, improving the design.
* Update tour-kit to have a optional skip button and custom secondary button label
* Add changelog
* Add onboarding tour
* Update layout and resiable-frame for onboarding tour
* Update onboarding tour style
* Update resizable handler
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* tweak the wording for HPOS in Settings / Features / Advanced
* order features in Advanced Settings and move HPOS to the top
* emphasize the need to sync
* add a row_class attribute to settings fields
* fix padding between HPOS settings belonging together
* add changelog file
* update wording in a test
* Update plugins/woocommerce/src/Internal/DataStores/Orders/CustomOrdersTableController.php
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Update plugins/woocommerce/src/Internal/DataStores/Orders/CustomOrdersTableController.php
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* simplify the ordering callback -- props to @jorgeatorres! ☺️
* more consistent phrasing
---------
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
The external @wordpress/router package is not available in these versions, so we need to bundle it with the plugin. This is a temporary fix until we can drop support for WP 6.2 and below.
* dev: added docs for core profiler
* lint
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update api core tests readme
The example .env provided in the API Core tests readme is obsolete. It needs to reference API_BASE_URL instead of BASE_URL due to recent changes.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add product_options_add tracking event to add variation options
* Add product_options_edit tracking event to variation options
* Add product_options_update tracking event to variation options
* Fix set default attribute when editing it
* Add changelog file
* Add product_options_add_button_click tracking event
* Get attribute options from the terms prop instead of options, this ensures to get the updated values when the user edits the options
* Add Variation options section back
* Add changelog file
* Test for WooPayments active first since it is less expensive
* Guardrails to avoid double menu badge
* Avoid fetching incentives when no dimissals
* Fix handling of incentives API error and caching
* Prevent incentives fetching if were fetched less than an hour ago
* Add changelog entry
* Remove the 1-hour threshold cache validation
* Cache if the store ever used WooPayments
* More inline docs
* Optimize customize store preview frame resize performance
* Add changefile(s) from automation for the following project(s): woocommerce
* Set isOversized to false to fix frame oversize issue
---------
Co-authored-by: github-actions <github-actions@github.com>
Do not remove "sale date from" when the sale is still active, as in some legislations it's mandatory to show the start and end date of sales, and developers can get it from this field.
Closes#34696
* Update PageController.php to prevent PHP warning when menu items have no position set
Update PageController.php to prevent PHP warning when menu items have no position set. This can occur when a user has permission to view WordPress admin pages but does not have permission to administer WooCommerce.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make sure alert.id and action.id are defined
* Copy id from db to action
* Add changelog
* Add error message when something goes wrong while triggering note action
* Rename changelog
* Add @wordpress dependencies for customize store task
* Update webpack config to bundle wp edit-site package instead of using external
* Add customize-store task list item fill
* Update CustomizeStore task to load editor scripts and settings
* Update customize store routing path
Use /* since we want to match any path that starts with customize-store
* Add assembler-hub
* Ignore some wp packages from syncpack for customize store assembler hub
We need to use specific versions of these packages for the customize store
"@wordpress/interface", "@wordpress/router", "@wordpress/edit-site"
* Add changefile(s) from automation for the following project(s): woocommerce
* Tweak style
* Use CustomizeStoreContext and send xstate event
* Update assembler-hub style
* Fix nav width
---------
Co-authored-by: github-actions <github-actions@github.com>
- `ProductListContextProvider` provides `setIsLoading` function as well as `isLoading`.
- `Discover` uses these values from context, instead of keeping a loading state in itself.
- `FeedbackModal` calls `maybSetTimeout` when `isLoading` changes. If `isLoading` isn't truthy, and snackbar hasn't already rendered, it sets a timeout of 5 seconds to show it.
- Removed wrapping <WooFooterItem> from around Footer component, so it's no longer a child of the WooCommerce Admin `.woocommerce-layout__footer` footer.
- Removed the `position: relative` from `.woocommerce-layout__footer`. It needs to be `position: fixed`.
- Added FooterContent component to Footer, to allow the layout we want.
- Changed use of context. This now only has states for the selected tab and loading state.
- We use this context in `Tabs` and `Content` to keep track of which tab is selected, and set the selected tab.
- We also use it in `Discover` and `Extensions`, which both report loading state to the context. This allows us to use it to only render the snackbar when loading is complete.
- Extensions: moved `productList` and `setProductList` and logic for getting product list from the context provider to a state in this component. We don't need to share the list of products in the context.
- Renamed `ProductListContext`, `ProductListContextProvider` and `productListContextValue` to more generic `MarketplaceContext`, `MarketplaceContextProvider` and `marketplaceContextValue`.
- Renamed a constant and created constants for API paths.
- Only shows snackbar after content has loaded, and after a timeout. We set a date `marketplace_redesign_2023_last_shown_date` in local storage to ensure we only show one snackbar.
### Changes:
- [ ] Remove the "Venezuelan bolívar" currency (VEF)
- [ ] Remove the "Bs F" symbol (VEF)
- [ ] Update the "Bolívar soberano" currency to "Venezuelan bolívar" (VES)
- [ ] Update the "Bs.S" symbol to "Bs." (VES)
### Justification:
The official name of Venezuela's currency is Bolivar (Bs.). However, as we have had a couple of reconversions in recent years, temporary epithets have been used to distinguish the different monetary cones with a practical sense in the transition period. This is the reason why Bolivar Fuerte (Bs.F) and Bolivar Soberano (Bs.S) was used.
However, the Bolívar Fuerte (monetary cone) went out of circulation on December 3, 2018 and the Bolívar Soberano (monetary cone) started to be called only Bolívar (Bs.) since February 2019, after a reasonable period of time had passed for the population to get used to the change of monetary cone.
This came into effect with Resolution No. 19-02-01 published on February 14, 2019 by the Central Bank of Venezuela (BCV, Banco Central de Venezuela), where it can be read:
[...] _as of the effective date of this Resolution, the price of goods and services and other monetary amounts shall be expressed only in the monetary scale in effect as of August 20, 2018, making mention of "bolívares" or the symbol "Bs."_
### References:
Resolución N° 19-02-01 del Banco Central de Venezuela (February 14, 2019)
http://www.bcv.org.ve/system/files/documentos_juridicos/resolucion_cese_doble_expresion_precios_bienes_y_servicios_definitiva.pdf
* Initial set up and migration for the BlockTemplate
* Migrate remaining fields to the new SimpleProductTemplate
* Remove re-usable functions and clean up
* Add interfaces
* Add changelogs
* Remove unused id from block attributes
* Update changelog
* Address refactor suggestions
* Fix lint errors
* Add tests
* Address PR feedback
* Extend from BlockContainerInterface instead of BlockInterface
* Temporary solution to avoid extra queries
after dismissing an incentive. We will prevent doing anything else, including order queries, if there is a dismissed incentive.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Save changes
* Remove restriction from the variations dropdown to let users create multiple attributes with the same name
* Add support for autogenerate slug in the create attribute endpoint
* Add a tooltip to specify the slug of the attribute when there are more than one listed in the dropdown list
* Add changelog files
* Revert filtering to the prev implementation
* Add review suggestions
* Add return description to the generate_unique_slug function description
- In the status report (server PHP version display)
- In the abstract CSV exporter (fputcsv function)
- In the legacy REST API controllers (get_raw_data function)
- In the wc_setcookie function
- In the wc_round_tax_total function
Also remove the infrastructure for WP and PHP minimum requirement notices
* Update Yoast PHPUnit Polyfill to 2.0
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
-Change "Requires PHP":
- In woocommerce.php
- In readme.txt
- In plugins/woocommerce-docs/woocommerce-docs.php
- In packages/js/create-product-editor-block/plugin-templates/$slug.php.mustache
- Change "testVersion" in phpcs.xml:
- In the root of the repository
- In plugins/woocommerce
- In plugins/woocommerce-beta-tester
- Change "require-php" and "config-platform-php" in composer.json
- Update composer.lock with more modern versions of some of the dependencies
- Remove the admin notice about the upcoming bump for PHP 7.3 users in class-wc-admin-notices.php
* Update Jetpack label and description
* Replace Jetpack with Jetpack Boost for treatment group
* Add changelog
* Append plugin_name param to Jetpack Connection page URL
* Use the correct experiment name
* Add id, description, title, and area to block template methods
* Add block template registry and controller
* Remove errant die
* Add new template properties to existing test templates
* Add new template method tests to custom block template tests
* Add template registry tests
* Add template controller tests
* Add tests around template transformer
* Use template instance for registration
* Add changelog entry
* Fix tests for block controller not be initialized by container
* Remove is_connected condition from can_view
To display WooPayments task as completed if applicable rather than an uncompleted payments task.
* Add changelog entry
* Fix failing disable test
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix daily failing
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
We were hitting the WCCOM API directly from the front end. However,
that limits of in terms of caching and reducing the load on WCCOM.
To prevent that, we added a REST API endpoint. This endpoint
fetches discover page content from WCCOM and puts in a transient.
This is actually how the page works in the previous version. So
we were able to reuse a lot of the code.
- Removed duplicate `Search` styles from `header.scss`.
- Removed 10px top padding from `Header`. Applied it to title, meta and search containers instead.
- Deleted duplicate search button style from `header.scss`.
- Swapped round order of search component and header meta div so tab navigation order is correct.
- Added focus style to search component.
- Reduced footer side padding on mobile.
- Changed `.woocommerce-marketplace__header-title` page title to an h1 for accessibility.
- Removed top margin from product cards – the css grid handles the gap.
- Removed margin from `.woocommerce-marketplace__product-card__description`.
- Reduced font weight of price in product cards.
- Set margin below product list header.
- Removed right margin from tab buttons – css grid handles the gap.
- Increased top padding of `.woocommerce-marketplace__content`.
Addressing linter error.
To ensure they have an implementation of the get_order_key function.
Visits to the order_received page with the id of a refund result in a fatal error.
As an alternative to #39406, this tries to solve the same issue in a
simpler way: break the "thank you" message out into its own small
template file and just include it in more places, so that no matter
the context, the order confirmation screen will always say thank you,
acknowledging that the order data has been received.
* Update beta tester build step
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Store transactional meta in HPOS tables.
* Add transaction to the list of legacy meta, since we have getters for it, but its not stored in custom table.
* Add unit test.
* Unit test fixups + mark payment tokens as non internal for datastore.
* Use correct filename for HPOS.
* Mark payment_tokens as internal and update getter/setters accordingly.
* Fix indentation.
* Address PR review feedback.
* Revert behaviour of code that was using nullish coalescing operator.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Auto create variations and move product to variable when adding variation options
* Delete unused components
* Add tour to variation options
* Remove unneeded options
* Add changelog
* Fix types
* Fix lint errors
* Fix broken tests
* FIlter out option tags when not included in attributes
* Don't invalidate variations data when no new variations are created
* WC_REST_Telemetry_Controller: add `first_used` and `installation_date` meta fields for WCTracker.
* Add `installation_date` parameter to the endpoint parameter collection.
* Update implementation with unit tests.
* Update comments in the test class.
* Auto fixes from phpcbf.
* Attempt fixing lint errors in the tests.
* Set the installation date with the same date format as the pre-existing `last_used`.
* Add changelog.
* Fix an issue where the lack of installation date in the request still sets the field to the current date.
* Attempt fixing lint errors with phpcbf.
* Initial BlockTemplate implementation
* Initial BlockTemplate tests
* FIx undefined array key errors
* Fix linter errors (except for missing docs ones)
* Get as simple array
* Unit test updates for get_as_simple_array()
* Remove inner content (not used currently)
* Rename attrs to attributes
* Move name out of data array
* Move id out of data array
* Move order out of data array
* Move attributes out of data array; remove data array
* Add doc comments to Block
* Add doc comments to BlockTemplate
* Add doc comments to BlockContainerInterface and BlockContainerTrait
* Doc comment updates.
* Add doc comments to BlockTest
* Add doc comments to BlockTemplateTest
* Add BlockInterface
* Remove key consts from Block
* Move implementations to internal
* Clean up interfaces
* Do not have BlockInterface extend BlockContainerInterface
* FIx case in namespace declaration
* Add exceptions to add_block doc
* Rename BlockTemplate to BlockBasedTemplate
* Rename block-based template vars in tests
* Fix missing get_parent on block containers
* Changelog
* Add get_block_by_id to BlockBasedTemplateInterface
* Rename get_block_by_id to get_block
* Rename get_as_simple_array to get_as_formatted_template
* Rename child blocks to inner blocks
* Rename BlockBasedTemplate to BlockTemplate
* Move validation to separate method
* Move namespace to be non-product editor specific
* Rename get_as_formatted_ methods to get_formatted_
* Rename BlockBasedTemplateTest to BlockTemplateTest
* Add ability to use a custom block generator with add_block
* Add check that block belongs to root template in internal_add_block_to_template
* Fix up code docs related to $block_creator
* Fix code doc linting errors in tests
* Add test for a buggy block creator implementation
* Add test for an invalid block creator
* Rename internal_add_block_to_template to cache_block
* Add add_block_container() method
* Fix linting issue.
* Fix minor issues in ContainerInterface with get_root_template() and get_parent()
* Add block template with abstract blocks and templates (#39630)
* Make block template abstract and protected add block methods
* Create block abstraction and generic block
* Remove add_block from container interface
* Update tests for generic and custom blocks
* Add tests around custom block templates
* Fix up lint errors
* Fix errant comment for add_block
---------
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Tour: reconfigure to work with new layout
- Started Reconfiguring the existing tour to work with the new layout and components.
- Updated step content based on design
- Implemented PR feedback
- Removed task list for MVP
# Conflicts:
# plugins/woocommerce-admin/client/marketplace/components/tabs/tabs.tsx
* Create and register product-variation-items-field block
* Create variations-table component
* Use variations-table component in variation-items block
* Remove last border bottom from the variation options list
* Add changelog file
* Add changelog file
* Autoload test helpers and exclude from test suites.
This avoids loading order problems, and eliminates warnings (about HposTestCase) not containing any tests.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Compare props to set changed array between post and order data.
* Use correct classname so that props can be set.
* Also clear cache after update and before backfill.
User Menu: Create component and add to header
- Create initial component design
- We may need to return to implement the helper connection URLs once those are in place.
- Some PHPCS errors still exist - this is to be expected for now.
# Conflicts:
# plugins/woocommerce-admin/client/marketplace/stylesheets/_variables.scss
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: raicem <unalancem@gmail.com>
- Changed classNames in `Search` component.
- Moved styles from `header.scss` to `search.scss`.
- Deleted `HeaderSearch` and `HeaderSearchButton` components, no longer needed.
- Removed wrapper element around search form.
- Corrected marketplace API address in `Search` component.
- Using state to remember search term, instead of getting value of search input.
- Added condition to clear search input if Escape is pressed while it's focused.
- Not running search if search term is falsy.
- Changed label of "Extensions" tab to "Browse" – we'll do this for the moment, as we have repetition with the page title `Extensions`.
- Reset layout to allow full width
- Added Footer & IconWithText components
Add temporary placeholder components
All components here are temporary and can be removed/replaced when their relevant PR is ready.
Add marketplace footer component
The component is added using a SlotFill to use the existing WC Admin footer and utilise full width correctly.
Setup initial content area layout
Update tab styles
Setup styling to match latest design
Finalise footer, wide layout, and tidy styles
- Applies the wide layout from latest MVP design
- Applies the correct footer links to titles
- Some general style tidying
Organise styles and setup variables
Swap to using CSS Grid for layouts
Update breakpoints
Restructure style naming and update to core styles
Add translation in some places
In-app marketplace search component. Cleaned up the commit history of this branch. Copied changes from these commits:
e9828422706176817e511778980005222aa36cc5
9ca2ae351c97fcd27ecd77a1464c2a9ca16de040
e47815705f3854bf50ff48d7975b7cf2f541614b
976811c458e67ae7fa107c8bf8554fdc3e809d85
46eafdf49fe39c12dee77d6ce0885bdeda527dea
Deleted unused import.
* Do not run code in tracks debug unless WC_ABSPTAH is defined.
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
* Also avoid registering scripts if Woo is not installed.
---------
Co-authored-by: github-actions <github-actions@github.com>