* Add e2e tests for virtual orders and refactor test names
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Optimise setup and teardown
---------
Co-authored-by: github-actions <github-actions@github.com>
* Redirect to intro page when accessing the transitional page if no customized
* Remove only
* Add changefile(s) from automation for the following project(s): woocommerce
* Check if the task is completed
* Add transition screen class
* Remove unused import
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add sharding to Blocks e2e tests
* Changelog
* Push a change to Blocks README to trigger tests
* Fix syntax
* Fixed again
* Try again
* Trying to get the shard number
* Shard names
* fix E2E test
* use wordpress 6.5 as test env
* update util
* fix Mini Cart Block E2E test
* add editor dependency
* fix E2E tests
* fix E2E tests
* fix E2E tests
* restore global setup file
* fix E2E tests
* fix global setup
* try now
* try now
* fix E2E test
* fix E2E test
* fix mini cart E2E test
* add changelog
* complete all the jobs
* update playwright
* fix E2E tests
* fix E2E test
* try now
* fix E2E test
* not show welcome guide for the post editor
* update configuration
* fix guest storage state
* fix E2E tests
* check now
* fix E2E tests
* fix command
* improve selector
* use WordPress 6.5 beta 2
* use WordPress 6.5 beta 3
* fix canvas use
* wait for button
* fix E2E test
* fix E2E test
* fix product button
* fix product collection tests
* fix wp build link
* use beforeEach
* fix E2E tests
* use WordPress RC2
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* trigger CI
* fix E2E tests
* fix E2E tests
* fix E2E test
* fix E2E tests
* add timeout
* Fix flaky locator assertions
...by replacing them with dedicaed auto-waiting ones.
* Apply correct use of waitForRequest/Response and remove where unnecessary
* Remove obsolete waitUntils
* Fix accidentally isolated test
* Replace saveTemplate with core's saveSiteEditorEntities
* Fix findProductRow util
* Restore necessary request waiters
* Use activateTheme util instead of cli call
* Remove unused import
* Fix request destructured call
Request properties cannot be destructured (todo: create upstream issue)
* Revert some waitForRequest changes
These need to be investigated for heavy bleeding from side-effects
* Fix failing cart checkout test
* Set navigation timeout to 10s
We need this so that API like page.goto or page.waitForURL doesn't take 100 seconds (global timeout) to throw.
* Do not close the page in the page fixture override
The page will be closed anyway, and by closing it explicitly in the teardown phase of the fixture we create a flaky race condition where the page might be closed before the action/navigation timeout is reached, resulting in "page closed!" error instead of, e.g. "locator.fill timed out".
* Revert product collection tests due to conflicts
* Try fixing E2E test
* Remove some random change
* Revert to programmatic blur 🤷
* Fix additional checkout fields test
* Add a waitForRequest safety check in case it's debounced
* Fix price filter test
* Fix flaky visitTemplateEditor util
* Remove obsolete code from global setup
* Revert "Fix flaky visitTemplateEditor util"
This reverts commit 227336f265.
* update to WordPress RC3
* Add waitForCustomerDataUpdate function
* Don't wait for requests and use data store instead
* Try with new wait condition
* Re-add wait condition
* Wait for customer update in guest checkout test
* Add changelog
* fix lint error
* fix some E2E tests
* disable welcome guide
* remove beforeAll
* add timeout
* add another timeout
* increase timeout
* Add call to waitForSiteEditorFinishLoading when editing the theme template
* remove timeout
* remove not necessary comment
* clean changelog
* Add changefile(s) from automation for the following project(s): woocommerce-blocks, woocommerce
* remove changelog
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Karol Manijak <20098064+kmanijak@users.noreply.github.com>
Co-authored-by: Thomas Roberts <thomas.roberts@automattic.com>
Co-authored-by: Albert Juhé Lluveras <contact@albertjuhe.com>
* don't show draft product in featured products block
* updated the code to show only published product in featured products block
* Update plugins/woocommerce/src/Blocks/BlockTypes/FeaturedProduct.php
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
* added a changelog file
---------
Co-authored-by: Albert Juhé Lluveras <aljullu@gmail.com>
* Add get_action_url method to LaunchYourStore task
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add transitional page tests
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add spacing between the title and the rest of the pattern
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove duplicated blockgap
* Add spacing
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure that shipping can be disabled independent of Local Pickup
* Fix PHPCS issues
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* bump husky, remove remnants from blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* add @playwright/test to syncpack
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* update pnpm-lock.yaml
* add github-label-sync to syncpack
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Add a filter for the items to apply coupons array.
* Add changefile(s) from automation for the following project(s): woocommerce
* Add filter docbloc.
* Add since tag in filter docbloc.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add missing allowed inner blocks to Single Product block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove unnecessary attribute from Single Product block template
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix "add_action" accepted args
Fixing the "add_action" accepted args on the examples
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'coming-soon' page
* Add coming soon page when user hits the core profiler page.
* Added coming soon page selector under Page setup
* Move coming soon page logic to launch your store feature class
* Conditionally add coming soon select
* Move coming soon page creation logic to WooCommerce Home
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix layout issue -- add align-items for flex items
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Disable woocommerce/product-regular-price-field when product type is variable
* Disable woocommerce/product-sale-price-field when product type is variable
* Disable woocommerce/product-sku-field when product type is variable
* Disable Track stock quantity toggle when product type is variable
* Disable woocommerce/product-radio-field when product type is variable
* Disable woocommerce/product-shipping-class-field when product type is variable
* Disable woocommerce/product-shipping-dimensions-fields when product type is variable
* Add changelog files
* Fix php linter
* register the `metadata` attribute for all blocks
* bind value attribute with the nane product entity
* changelog
* add a ToDo note
* rename edit component fn to NameBlockEdit
* changelog
* restore @ts-export line
* fix eslint issue
* fix eslint issue
* Add Shipping phone number to the order preview panel
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Update plugins/woocommerce/src/Internal/Admin/Orders/ListTable.php
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
---------
Co-authored-by: Paulo Arromba <17236129+wavvves@users.noreply.github.com>
* Don't show publicly non-queryable taxonomies
The main enhancement involves adding a visibility filter to the taxonomies query. Now, the query considers the `publicly_queryable` property of each taxonomy. Only taxonomies marked as publicly queryable are included in the final list returned by the `useTaxonomies` hook. This change ensures that the Product Collection block's taxonomy controls only display taxonomies relevant and accessible to the public, enhancing both the usability for content creators and the relevance of taxonomy selections for site visitors.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: initial E2E tests loading page
* add more cases
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Since we don't need it to be _perfectly_ stable,
we can just set the `queryId` to the instance ID
on every component mounting. This is fine and
won't mark the attribute as dirty unless a
collection block is added, deleted, or moved
in just the right way. The exception to this
is collection blocks in sync patterns.
In this case the ID cannot change
because it can cause update loops in some
cases that freeze the browser.
* Update the copy for the fonts opt-in modal
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Attempt to determine order type from HPOS side too in `PostsRedirectionController`
* Add changelog
* Simplify redirect logic
* Linter hates short ternaries
* Update the CYS feedback survey design
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix typo
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add skeleton spec
* Add missing await
* Update customer role in test env setup
* Split specs
* Add tests for user creation
* Added tests for users deletion
* Fix API tests after env setup customer role change
* Fix API tests after env setup customer role change
* Add update customer steps
* Update user edit tests
* Updated comment
* Products: Avoid fatal during variation search
Most product types' data objects store `WC_Product_Attribute` objects in
their attributes property, whereas Product variation data objects store
an associative array of key/value pairs in their attributes property.
This is problematic because it means a fatal error can be thrown when
code assumes that a product's attributes are objects with methods rather
than simply strings. Ideally, attributes would work the same everywhere,
but it would be challenging to fix that in the codebase without breaking
backcompat. So instead, in this PR, we are simply adding some logic in
the `find_matching_product_variation` method to ensure that we're not
trying to retrieve a variation of a product object that is already a
variation.
* Fix linting issue
* Make sure the woocommerce_admin_customize_store_completed is marked as complete whenever global styles are updated by the user.
* Check for the WP_Post object before attempting to access the content property
* Mark the cys task as completed when modifying a template or template_part
* Unify the mark as complete methods and update the hooks.
* update docblock
* remove unnecessary ()
* Add changefile(s) from automation for the following project(s): woocommerce
* Ensure the woocommerce_admin_customize_store_completed option is marked as complete whenever the user updates their styles in the editor
* Fix lint errors
---------
Co-authored-by: Alba Rincón <alba.rincon@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Consolidate and move password protected product test
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Move test to non side effect and remove remaining empty test file
---------
Co-authored-by: github-actions <github-actions@github.com>
* Removed return statements from conditions in `WC_Admin_Marketplace_Promotions::fetch_marketplace_promotions`. With these, if the marketplace gets a good response from the API and then later a bad or empty response, it fails to update the promotions transient, meaning that notices and menu bubbles may persist in stores after we've removed them from the API. We check the dates of promotions, so they should disappear when they expire, but it's a good idea to clear this data if the API returns an empty response or if there's an error fetching it.
* Changelog.
* Add changefile(s) from automation for the following project(s): woocommerce
* Removed duplicate changelog file.
* Add changefile(s) from automation for the following project(s): woocommerce
* Removed duplicate changelog file.
---------
Co-authored-by: github-actions <github-actions@github.com>
* New filter to set a custom precision value for the WC calculations
* Add changelog and docblock.
* Add since tag.
* Add since tag.
* Add prefix + correct version.
* Better filter name
---------
Co-authored-by: Yordan Soares <contacto@yordansoar.es>
* CYS - Core: fix: not mark step as completed when the user switches theme
* Add changefile(s) from automation for the following project(s): woocommerce
* trigger CI
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add gap between quantity field and add to cart button when stacked
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add specificity to quantity
---------
Co-authored-by: github-actions <github-actions@github.com>
Add an index to the zone_id column of woocommerce_shipping_zone_locations.
Remove the separate index on location_id. Shipping zone locations are read by zone_id when a ShippingZone is read from the database. The zone_id is also used in join statements with the shipping zones table. So an index would improve performance there. The separate KEY for the location_id column is not needed as the primary key for the table already creates an index automatically.
* Fix the color of the toggle control in the assembler
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove the hook for updating update_plugins transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com plugins.
* Remove the hook for updating update_themes transient with data fetched from Woo.com
This prevents the WP core from updating Woo.com themes.
* Remove the class hand hooks used for updating the API response of WP.org with update URI's from Woo.com.
* Add change log file.
* Add update_plugins and themes transient update hooks back while removing the package from Woo.com extensions.
When a Woo hosted plugin has an update, this will allow showing the update message but block the ability to update.
* Adding a hook to modify the plugin update notification on plugins.php.
When a Woo.com hosted plugin has an update available it will show a message to install Woo Marketplace plugin, if it's not installed.
* Utility class for Woo Marketplace plugin.
* Check wether the Woo marketplace plugin is already installed before modifying update notice.
* Update docblocks.
* Add status end point for wccom-site API.
* Check the existence of marketplace plugin only after the plugins are loaded.
* Add WP.org plugin api response updater back to core.
* Function to identify if the market-place plugin is installed.
* Update status API response with installation status.
* Update the status variable push to store admin frontend with information about market-place plugin.
* Styles for woo-connect-plugin component.
* Component for displaying the message to install Woo Connect plugin based on the installation status.
* Add Woo Connect plugin notice to my-subscriptions page.
* Add Woo connect plugin message to discover page.
* Add Woo Connect install/download urls to constants file.
* Add a modal for asking the user to install Woo Connect plugin.
* Update strings with constants.
* Show the Woo Connect modal when user updating plugins without Woo Connect installed.
* Show Woo Connect install notifications only when the site is connected.
* Update plugin management page messaging.
* Update notification on connect screen.
* Update notifications on plugin management page.
* Remove additional spacing in Plugin Install Notice and spacing in the discover page results and the notice.
* Use notice component instead of Card.
* Minor improvements to readability.
* Add translation support for messages displayed on plugins.php.
* Update woo connect plugin installation URL (#45127)
* Ad functions for generating WooConnect plugin install URLs.
* Make WooConnect install url to available to marketplace components.
* Make WooConnect install url to available to marketplace components.
* Link install buttons to install URL with access_token and secret.
* Update Woo Update Manager download url.
* Show admin notice to install Woo Update Manager on plugins.php.
* Adding the view for admin notice for installing woo_update_manager.
* Show woo update manager installation notice on WC admin pages and make the notice dissmisable.
* Update the install url for Woo Update Manager by adding the product ID and introduce a filter to override the product ID.
* Change the plugin name to Woo Update Manager.
* Change the download url for woo update manager
* Fix the margin below the Woo Update plugin install notice.
* Rename Woo Connect to Woo Update Manager.
* Rename wccom-site status endpoint response variables based on plugin name changes.
* Update the plugin main file name for Woo Update Manager.
* Updating the download URL.
* Updating css class names and file names from `woo-connect-plugin` to `woo-update-manager`.
* Change wooConnect variables to wooUpdateManager.
* Rename WC_Helper_Plugin to WC_Woo_Update_Manager_Plugin and remove references to market place plugin.
* Extract and reuse the logic for creating the signature.
* Use WC built-in method to check if the current page is a WC page.
* Add source parameter for installer.
* Update text copies based on flows for in-app Woo Update Manager install message.
* Update admin notice based on the flows.
* Update connect store message.
* Update the text based on the latest flow and show a different message when WUM is installed but not activated.
* Use html text for install notice message.
* Implement the bubble showing number of updates available on WooCommerce -> Extensions menu. Add one to available Woo.com updates if WUM is not installed or activated.
* Update install url to new structure.
* Update download url for WUM.
* Add a method to get the id of the WUM.
* Remove WUM from available to install list of extensions on my-subscriptions tab.
* Remove the hard coded ID of the Woo Update Manager and use the slug to get the ID of the plugin based on update-check response.
* Fixing the notice generated due to empty body.
* Update CTA and image for the not connected screen.
* Increasing the left margin of the install notice to match admin notices.
* Add close button to modal with message to activate WUM.
* Add install/activate notice to Browse and Themes tabs.
* Add the view for showing admin notice for activating the plugin.
* Update plugin name on install admin notice.
* Show install or activate admin notice based on the context.
* Update comment
* Make the linked text shorter in plugin update message.
* Generate a signed auto-install URL for woo hosted plugins without helper API (#45313)
* Generate a signed auto-install URL for woo hosted plugins without helper API
* Use product slug in auto-install URL instead of product id.
* Update activate Woo Update Manager modal buttons.
* Change install url from Woo Update Manager ID to slug.
* Allow defining the menu title and page title separately for when adding menus and sub menus in WooCommerce Admin.
* Set the page title separately for WooCommerce Extensions menu.
* Fix the update count issue.
* Update the download URL for Woo Update Manager.
* Update the download link for WUM in admin notices.
* Show WUM admin notices on WC Admin pages only when the site is connected.
* Remove additional slash in plugin admin url.
* Add wum-installed parameter to the connect URL (#45702)
* Add wum-installed parameter to the connect URL
* Send status of Woo Update Manager installation on connection init.
* Revert "Add wum-installed parameter to the connect URL"
This reverts commit 4c55038b03.
---------
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Fix lint errors.
* Fix lint error.
* Fix lint errors.
* Fix js lint issues.
* Update Woo Update manager admin notice.
---------
Co-authored-by: Muhammad Anas <anastts.pk@gmail.com>
Co-authored-by: Denis Dvali <denis.dvali@automattic.com>
* Use WC built-in ActionScheduler
* Calling `WC_Admin_Marketplace_Promotions::init` immediately from `WC_Admin` constructor. `WC_Admin` is only instantiated in an admin request. If we init marketplace promotions from `woocommerce_init`, we'll be too late to add the callback for the scheduled action that fetches promotion data.
* Changed transient life to 12 hours to match frequency of ActionScheduler action.
* Changelog.
* Updated `fetch_marketplace_promotions` to replace the transient every time it runs. This allows more frequent changes.
* Added filter to allow promotions to be suppressed.
* Fix indentation
* More indentation fix
* Clearing scheduled action if `woocommerce_marketplace_suppress_promotions` filter returns "true".
* Running `clear_scheduled_event` on `init`.
* WP_CLI check
* We were including and instantiating `WC_Admin_Marketplace_Promotions` from the `WC_Admin` constructor. But `WC_Admin` is only instantiated during `is_admin` requests. We also need to respond to cron requests. So we're now including the class from `class-woocommerce.php` if the context is admin or cron, and instantiating it on `init`. This fixes the error in Scheduled Action `action failed via WP Cron: Scheduled action for woocommerce_marketplace_fetch_promotions will not be executed as no callbacks are registered.`
* Linter errors.
* Enhance append_bubble() method
* introduce SCHEDULED_ACTION_INTERVAL
* Make linter happier
* Linter errors.
---------
Co-authored-by: Remi Corson <1649788+corsonr@users.noreply.github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* CYS: Fix Header/Footer template parts disappear
* Add changefile(s) from automation for the following project(s): woocommerce
* show pattern list only when the site editor is ready
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update Action Scheduler to 3.7.3
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Rating filter: fix misaligned count
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix broken CSS classes and update JS unit snapshots
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* removes the star font
The WooCommerce font can hold many other icons there isn't the reason to load a font for a single icon
* updates custom templates stylesheets
* adds woff2 font format to themes customized stylesheets
* fix the star font size diff
* removes WooCommerce.eot and SVG file that are no longer needed and updates the template style in order to import from font.scss
* Optimized font import
Unifies the import of fonts by extending it to the twenty-twenty-three theme
* Add changefile(s) from automation for the following project(s): woocommerce
* Add changefile(s) from automation for the following project(s): woocommerce
* Svg font minification (WooCommerce.svg)
* Add changefile(s) from automation for the following project(s): woocommerce
* "star" font phasing out
The font family 'star' was replaced in all files. However, it continues to remain physically in the repo but not in the style files
* Removes the `.eot` font file since nowdays it's completely useless
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show modal when the task is completed
* Go to the assembler when the theme was already customized
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add is_read property to note data
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unnecessary type casting
* Fix boolean typecasting in DataStore and Note classes
* Restoring the original `isset( $note_row->is_read )` condition. I believe it's there for notes without this property.
* WC_Admin_Tests_Notes_Data_Store::test_read to account for return type of `get_is_snoozable`.
---------
Co-authored-by: Simran <simran.kaur@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
The plugin is installed and activated if it's not installed already
and either the Legacy REST API is installed in the site
or there's at least one webhook that uses the Legacy REST API
code for the payload (disabled webhooks also count).
Also the WC_Admin_Notices::remove_notices method is added.
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Add the ability to extend/modify the steps in the product tour
* Remove unused import
* Add changefile(s) from automation for the following project(s): woocommerce
* Add data validation
* Correct import order
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix margins and make the 3rd question not required
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Conditionally show status on homescreen
* get lys link in status
* refactor launch-store folders
* remove unused function
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Disable the feature flag from the CYS.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix unrelated failing e2e test for the 'Get paid' page
* Revert "Fix unrelated failing e2e test for the 'Get paid' page"
This reverts commit d388fce212.
* Fix potential flaky test
* Revert "Fix potential flaky test"
This reverts commit 77fa2813f2.
* Temporarily remove the Can visit the WooPayments Connect page instead of setup task for supported countries test
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: elazzabi <ahmed.el.azzabi@automattic.com>
* Pass 'Sponsored' detail down to product cards from API
* Style a "Sponsored" label
* Stripe on top of sponsored products
* Add 'blob' next to sponsored listings
* Fix indentation bug
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.tsx
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Apply suggestions from code review
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Add missing close parenthesis following linter changes
* Make linter happier about hex colors (still needs variablising)
* Fix margins around vendor name
* Fixed height of product stripe
* Linting
* Moved color to variable and calculated alpha using Sass functions
* Update plugins/woocommerce-admin/client/marketplace/components/product-card/product-card.scss
* Update plugins/woocommerce-admin/client/marketplace/stylesheets/_variables.scss
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Remi Corson <remicorson@gmail.com>
* Ensure the 'Didn’t find a theme you like' text is displayed exclusively at the bottom of the themes card
* Limit the display of the CYS design banner to the Themes screen.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the sample badge to dummy products on the main products list.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Deprecate DataSourcePoller
* Deprecate and move all rule processors and transformers
* Lint
* More deprecation
* Remove extra line
* Update deprecated class to not produce too many messages by limiting to unique messages
* Changelog
* Update all dependency uses, move TransformerService and TransformerInterface to Transformers package
* More dependency update
* Changelog
* Fix wrong file reference
* Lint markdown
* Lint markdown
* Add unsaved file
* Delete unused file and more lint
* More lint
* Ugh ignore faulty lint rule
* Rename variables for lint
* Update the woo.com theme link to include the back url
* Encode url to avoid losing the path param
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Prepare test cases
* Shorten out the test description
* Add first test in a post with dummy expect
* Verify all content is displayed
* Add the test in Product Archive and Home Page
* Add changelog
* Add tag to Beanie product
* Switch to Beanie which is on sale to verify on sale badge
* Add comments to explain the expects
* Adjust the expected content
* Switch to lower case in expect
* Switch from woocommerce/product-summary to core/post-excerpt
* Adjust products.sh
* Improve method waiting for products to show so it;'s deterministic
* Refresh locators in template
* Remove unnecessary check
* Eslint disable: expects are extracted to function so disable eslint compaining there's no expect
* Adjust other test after amending products setup
* Change the verify happening in a wrong place
* Tests adjustments
* Revert Blog Home template before performing a test
* Fix other tests
* Change checkbox label to be inline-flex to limit the width to the content
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Fix changelog entry
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create and register the woocommerce/product-select-field block
* Replace the tax class radio group block by woocommerce/product-select-field block
* Hide tax fields when taxes are disabled
* Hide tax fields when taxes are disabled in product variations
* Add changelog files
* Fix linter errors
* Return formatted cost and sales price for MarketingCampaigns.
* Display formatted cost and sales number in Campaigns card.
* Use price formatting.
* Format decimal places based on currency.
* Add changelog.
* Fix type issue is useCampaigns.test.ts.
* Use wp_strip_all_tags to respect currency symbol positioning settings.
Without wp_strip_all_tags, the result contains <bdi> element, and it causes browser to show the currency symbol in unexpected unwanted position.
* Fix PHP linting issue.
* Fix tests in useCampaigns.test.ts.
* Use html_entity_decode to remove dangerouslySetInnerHTML usage.
* Remove unneeded code formatting in Campaigns.tsx.
* Add explanation comment for `get_formatted_price`.
* Fix PHP lint error.
* Use map instead of filter to get price format.
* Add code comment.
* Get currency info based on user locale or default locale.
* Use locales in locale-info.php instead of currency-info.php.
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* Code formatting and fix code comment.
* Fix lint errors.
---------
Co-authored-by: Bartosz Budzanowski <bartosz.budzanowski@automattic.com>
* CYS - Core: install font when user clicks opt-in
* remove debugger
* CYS - Core: fix wp-admin page visible when click on start designing
* Add changefile(s) from automation for the following project(s): woocommerce
* use sendEvent instead of redirect
* Add changefile(s) from automation for the following project(s): woocommerce
* not show wp-admin after the click on the dialog button
* use sendEventToIntroMachine
* fix font installation
* fix eslint error
* fix install font phase when the iframe is not loaded
* remove not necessary async
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add basic wp dropdown component
* use getAdminLink
* Add styling based on state
* Add changefile(s) from automation for the following project(s): woocommerce
* update store page only text
* Add better 'for now' comment
* translate links
* remove private repo link from comment
* lint
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use theme color to style the theme badge component
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix linting errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Ensure field is on schema before sanitizing/validating against it
* Sanitize the key as a text field if we don't know what it is
* Add changelog
* Revert "Sanitize the key as a text field if we don't know what it is"
This reverts commit 9f5071051c.
* Revert "Ensure field is on schema before sanitizing/validating against it"
This reverts commit 109fbe766c.
* Omit unknown items in sanization
* add test doc block
---------
Co-authored-by: Nadir Seghir <nadir.seghir@gmail.com>
* Add dummy Force Page Reload control to Inspector Advanced Control
* Add enhancedPagination attribute that decides if client side navigation is enabled
* Consume the enhancedPagination attribute
* Force client side navigation when incompatible blocks detected
* Dummy util to detect incompatible blocks
* Detect incompatible blocks in the Editor
* Switch to WordPress Interactivity package in Product Collection
* Add initial implementation of the incompatible blocks detection in frontend
* Remove leftover
* Revert to using internal version of interactivity API
* There's no Interactivity store config available in the internal Interactivity implementation so remove it
* Disable client side navigation if the incompatible block is detected
* Add default attribute value
* Switch from enmhancedPagination attribute to forcePageReload
* Fixed some misclicked line order change
* Switch from enhancedPagination to forcePageReload in PHP code
* Apply the correct filter
* Fix the incorrect condition to detect incompatible block
* Initial implementation of orange dot to bring attention
* Cleanup
* Remove the orange dot indicator
* Refactor checking for unsupported blocks
* Add changelog
* Fix PHP lint errors
* Bring back empty line at the end of pnpm-lock
* Bring pnpm-lock.yaml file to original state
* Fix incorrect function call
* Add visibility description to function
* Switch private method to public
* More linted fixes
Fires an action after a customer has logged in, and their guest session id has been deleted with its data migrated to a customer id. This hook gives extensions the chance to connect the old session id to the customer id, if the key is being used externally.
Fixes#44852
Updates the markup used to generate the Refunds page so that it is valid, semantic HTML, which in turn fixes an alignment issue.
Fixes#45213
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
Adds a new filter to the legacy Active Product Filters widget that allows the attribute names to be modified.
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Disable block interactions within the editor
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Pass isPreview prop to inner blocks of the Product Filter block
* Add logic to render preview block when in Preview mode
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - fix warning
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* add snapshot tracking
* add changelog
* address feedback
* Add changefile(s) from automation for the following project(s): woocommerce
* update changelog
* Add changefile(s) from automation for the following project(s): woocommerce
* remove the extra changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add get_action_url for Payments task
* Check if plugin active before redirecting to connect page
* Add changelog
* Fix linting issues
* Point payments task to welcome page when WCPay incentive active
* Point WooPayments installed task to Connect page
* Rename WooPayments to payments
* Add from query arg
* Adjust payments task URL logic to account for suggestions logic
* Fix for partially onboarded accounts
* Replace Get paid with WooPayments
* Add new test for unsupported countries
* Add missing api definition
* Add missing baseURL
* Maybe change order of tests to fix failing test
* Revert changes to package.json (error in push)
---------
Co-authored-by: Vlad Olaru <vlad@pixelgrade.com>
Co-authored-by: oaratovskyi <oleksandr.aratovskyi@automattic.com>
* Update the transitional page.
* Update icons
* Remove unnecessary div class
* Update the styles for the transitional page.
* remove the editor param
* conditionally display the survey button
* Additional layout changes
* Streamline the classes for the icons
* Import brush and tag from wordpress/icons
* delete the custom icons from Woo as they already exist on wordpress/icons and can be imported from there.
* Update styles for adding support to mobile view.
* Update the lesson-plan icon.
* Add changefile(s) from automation for the following project(s): woocommerce
* Update e2e tests to account for the changes made to the transitional page.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Install and activate the TT4 before any other step on the loader
* Show the loader while activating the theme
* Try running steps together in parallel
* Try to run install and global styles in the same function
* Handle when the active theme returns null
* Add changefile(s) from automation for the following project(s): woocommerce
* Add retries and types to fix lint errors
* Fix lint errors
* Fix more lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS - Core: fix wp-admin page visible when click on start designing
* Add changefile(s) from automation for the following project(s): woocommerce
* not show wp-admin after the click on the dialog button
---------
Co-authored-by: github-actions <github-actions@github.com>
Since the product collection block uses the interactivity router,
it reloads the page in the background and replaces sections
with a `data-wc-navigation-id` set. This adds the attribute
to the count block so that it can also live reload regardless
of where it is in the tree.
* Disable checkout menu when checkout block is default
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add additional-checkout-fields-test-helper wp-env plugin
* Ensure Checkout page waits for email to be visible before filling
* Handle additional fields in checkout page utils
* Add test for filling additional checkout fields
* Add additional check for gov-id validation
* Close context used for plugin-checking
* Update types for additional fields to be key/value objects
* Check billing gov-id is different to shipping one
* Move additional fields plugin to inline with checkout tests
* Use additional fields plugin from local dir
* Await email input to check Checkout block is loaded
* Add test to verify error message shows when leaving a field blank
* Update comment
* Add test for checking/unchecking checkboxes
* Update check in additional field test plugin
* Change fields multiple times in one test
* Add server-side validation tests
* Get exact matches for checkout form fields
* Remove unnecessarily translated strings
* update hook in test plugin to compare to confirmation gov id
* Fill in gov ID confirmation field
* Register a field of each type in each location
* Don't validate field unless both are filled
* Fill additional fields and check their values
* Fill additional fields
* Check select values in order confirmation
* Change the values of all field types multiple times
* Make checkout wait until not calculating before submitting
* Update tests to use all additional field types
* Blur after editing select box
* Add customer area checks
* Check shipping isn't calculating before submitting
* Add merchant-side tests for additional checkout fields
* Ensure customer data is done updating before submitting
* use waitForFunction to check for updating shipping
* Add changelog
* Ensure fields are blurred before pressing button
* Update validation error check
* Add test for logged out shopper
* make specific function to wait for checkout to be finished updating
* Add test to ensure fields are saved across orders
* Add sanitize and validate callbacks to gov id fields
* Make purchase type select field required
* Add sanitization test
* Use experimental function in test plugin
* Add standalone sanitization filter test
* Update testing plugin to use new and renamed filters
* Fix typo
* Move empty value test to logged out shopper block and check empty val
* Update tests to include tests for new validation/sanitization filters
* Add verifyAdditionalFieldsDetails function to checkout page
* Use new verifyAdditionalFieldsDetails function to improve readability
* Update second test to use new function to improve readability
* Update third test to improve readability
* Update fourth function to improve readability
* Update fourth test to improve readability
* Update guest shopper test to be more readable
* Update helper function to only return value not assert
* Remove check causing test to fail in CI
* Make check for guest shopper same as logged in
* Move guest shopper tests to their own file
* Ensure unchecking checkbox works OK
* Adding accessible markup to sale price. See #31099
This PR adds accessible markup to the sale price.
A user who only uses screen reader software can now hear and understand the original price as well as the current price.
This is important for accessibility.
Full issue: https://github.com/woocommerce/woocommerce/issues/31099
* Improving sale price string formatting & localization #31099
This PR merges in feedback from the WooCommerce team.
* Improving string translation & output. Giving RTL languages more customization with the price in the translatable string.
* Formatting regular price & sale price at the top and then inserting into the HTML below. This prevents some sloppy logic where you might print out a blank del or ins tag.
* Swapping esc_html & sprintf #31099
Reversed the esc_html() and sprintf(). This is intentional because if translations accidentally include some HTML, that could break things.
Also, stripping HTML tags in $formatted_regular_price so that the end result in the screen-reader-text span is just plain text.
* Adjusting white space #31099
Mostly removing white space for the lint checker
* Adding translator comments #31099
Adding translator comments for lint
* Add changelog
* Fix some PHPCS violations
* Fix unit tests
* Adjust E2E test
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* `wc hpos diff` command enhancements
* Add support for partial backfills to LegacyDataHandler
* Add unit tests
* Add support for partial backfills to `wp wc hpos backfill` CLI tool
* Add changelog
* Augment update_order_from_object() with args parameter
* Implement update_order_from_object() for HPOS
* Simplify partial backfill logic in LegacyDataHandler
* Move prop name validation to legacy data handler
* Apply changes to order before passing to backfill functions
* Simplify update_order_from_object() in HPOS datastore
* Simplify order update from object across datastores
* Undo change
* Minor fix for CPT version (which only takes order differences into account)
* Improve readability around ‘woocommerce_orders_table_datastore_should_save_after_meta_change’ filter
* Commit docblock suggestion
* PHPCS fixes
* Enhance unit test
* Add remove custom field for the new product editor
* Add changelog file
* Show add button when the custom fields are empty
* Ensures to always convert the metas into a string array since it can be anything
* Add changelog file
* Switch from "invoice" to "order details" in our emails.
* Revise default order details email subject text.
* Revise default order details header text.
* Bring E2E check up-to-date with latest text revision.
* Update API tests to match order detail email changes.
* Fix typo
---------
Co-authored-by: Jorge Torres <jorge.torres@automattic.com>
* Bump woocommerce-sniffs to 1.0.0 for WPCS 3.0 support
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add json config files to ci changes config
* Add admin config to Woo plugin ci config
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Show the "Design your own" banner when editing a theme which is not TT4
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint errors
* Pass the active theme to the context
* Fix lint errors
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add totalValue filter
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Remove nowrap to prevent text overflow
* Start docs for ‘totalValue’ filter
* Fix *.md lint issues
* Ignore .md lint errors for now
* Update code example and add screenshots
* Fix failing JS unit tests
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix - #33503
Added ISO code along with the string. So it can be searched by using country code.
* Fixing linting issues
Added space with single quote to fix linting issue.
* fix linting issues
* add changelog file
* use emdash for separating data
* update test to new format
* include ISO code in settings test fixture
---------
Co-authored-by: daniyal.ahmad1992@gmail.com <daniyal.ahmad1992@gmail.com>
* Update html-product-attribute-inner.php
Add a new filter `woocommerce_admin_terms_metabox_datalimit` to change the value of data-limit. See #37548 for more context.
* Update html-product-attribute-inner.php
* Creating a changelog file again
* update @since tag
* tweak changelog file wording
---------
Co-authored-by: Saif H. Hassan <67080558+Babylon1999@users.noreply.github.com>
* Introduce the new 'Design your own' button in the themes screen.
* unify the SCSS margins
* Add double quotes for woocommerce-marketplace__sub-header
* Add the CYS banner to the marketplace.
* Ensure each child in a list should have a unique 'key' prop
* Update the NoAIBanner component to direct users to the CYS flow.
* Add the customizeStoreDesignUrl const
* Ditch navigateOrParent
* Add the 'Browse the WordPress.org theme directory to discover more' link.
* Ensure the warning Modal is displayed whenever the user clicks on the 'Design your own' button and their current active theme is not TT4
* Remove the unnecessary fragment
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set field IDs
* Validate post code only when it is actually required
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unused import
* Update test snapshot
* Update test snapshot
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update mercado copy
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create woocommerce/product-custom-fields block
* Register woocommerce/product-custom-fields block
* Add product-custom-fields block to the simple product template
* Create useCustomFields hook
* Create empty state
* Create CustomFields component
* Add custom fields table
* Add custom field remove button
* Hide the custom fields table base on the toggle value
* Remove non list features
* Add changelog files
* Fix linter errors
* Fix empty state styles
* Fix php linter error
* Remove context from the woocommerce/product-custom-fields-toggle-field block definition since it is not used
* Change url for the Read more about custom fields
* Register metaboxhidden_product user meta as a user rest field
* Create useMetaboxHiddenProduct to manage the user metaboxhidden_product meta field
* Create woocommerce/product-custom-fields-toggle-field block
* Register woocommerce/product-custom-fields-toggle-field block
* Create product-custom-fields feature flag
* Hide custom fields behind the product-custom-fields feature flag
* Add changelog files
* Get default postcustom user meta value when the metaboxhidden_product does not exist yet in the user object
* Fix the CYS Opt-in modal buttons and checkbox styles
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add product archive header template and re-hook
Moves the product taxonomy archive header into its own template file,
creates a related output function, and then re-hooks the new template
back into the archive-product.php file in the same place, via the
'woocommerce_before_main_content' hook, priority 40.
This is so that this template part can be removed/unhooked via the
'remove_action' function, which is a cleaner approach than template
overrides or additional style changes.
Resolves: #33672
* add product archive header template changelog
* bump template versions
* bump template versions correctly
* add a new hook in the archive-product.php template for the header template
* fix: make the dropdown hidden by default
* fix: price clause
* fix: variable name in attribute clause generator
* chore: changelog
* fix: flashing issue for dropdown has selected items
* Prevent invalid price range selection in Product Filter Price block
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* changed filter by attribute filter options order
In filter by attribute, order of the filter conditions "ALL" and "ANY" reversed as requested.
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
* Add changefile(s) from automation for the following project(s): woocommerce-blocks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add the PluginInstaller class
* Add changelog file
* Fix linting issues
* Changes in the installer:
- Allow installS from the WordPress.org directory only
- If the installer name is WooCommerce, throw if the caller is not
in 'includes' or 'src' in WooCommerce core
- Remove two unnecessary includes
- Check if WP plugin upgrader classes already exist before
executing the includes for them
- Get the installed plugin info using the plugin_info method
of the plugin upgrader class
* Remove the get_installed_plugin_info method as it's no longer used
* Log plugin install only on sites with WooCommerce active
* Show the default header and footers as the first option
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* CYS: improve font installation with the async job
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add LYS task default values
* Add changelog
* Add unit tests
* Init LaunchYourStore task only when feature flag is enabled
* Add action to woocommerce class
* Remove WCAdminHelper use
* Add lys options to permission list
* Set launch-status option
* Fix woocommerce_store_pages_only
* Use WC_Install::is_new_install() instead
* Use woocommerce_newly_installed action
* Check if feature flag is enabled
* Use singleton WooCommerce object in tests
---------
Co-authored-by: Adrian Duffell <9312929+adrianduffell@users.noreply.github.com>
* Set initial vlaue of Created filter for New Arrivals collection
* Add changelog
* Remove a check for products in tests as they may not really be displayed
* Adjust the New Arrivals test
* Adjust the tests logic after the change
* Bring back previous formatting
* Bring back function closure removed by mistake
* Unskip Mini Cart i18n test
* Install language packs before each i18n-related test suite
* Delete translations.sh
* Add changelog
* Replace deprecated WP-CLI command
* Remove obsolete WP-CLI command
* Support div setting type
* Add wc_settings_general_site_visibility_slotfill slotfill
* Add site visibility setting section
* Add placeholder
* Rename div to slotfill_placeholder
* Add comment
* Fix component name
* Add changefile(s) from automation for the following project(s): woocommerce
* Use unique id
* Rename option names
* Put LYS settings behind launch-your-store flag
* Move Site Visibility header to component
* Lint fixes
* Lint fixes
* Use woocommerce-settings scope
* lint fix
---------
Co-authored-by: github-actions <github-actions@github.com>
This PR short-circuits wp_delete_post() so that when HPOS is authoritative, any attempts to delete the backup post are not successful (which could also end up deleting the HPOS order). This only applies to non placeholder posts, as placeholder posts won't trigger the cascade of operations that might be problematic here.
Fixes#42746
* improve logic to ensure that the font is active
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Set default width after logo update
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add subquery for simple products
* Update query to make use of product lookup instead
* Add changelog
* Revert change
* Update PHP tests and fix lint errors
* Move subquery out to its own variable to make it more readable