* Improve has_price filter so it can matches when the price record does not exist or it's empty/null
* Get the exact variation ids of those ones that do not have price
* Add changelog files
* Fix linter errors
* Leverage strategy API to defer scripts from header rather than placing in footer
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add virtual section to the product variation template
* Add changelog file
* Let the toogle block to use inverted value to be checked
* Fix virtual toggle to be inverted
* Add changelog file
Co-authored-by: Joel <dygerati@gmail.com>
Co-authored-by: Thomas Shellberg <6723003+tommyshellberg@users.noreply.github.com>
Co-authored-by: Nima Karimi <73110514+nima-karimi@users.noreply.github.com>
* Add support to downloads block to use the context postType
* Register the downloads block into the ProductVariationTemplate
* Add changelog files
* Fix compilation error
* Fix download block init function
* Show themes first if no extensions
* Empty search load discover page
* Show three items per row if not dividable by four
* Update search per page to 8 for large screens
* Show 8 items on large screens
* Prevent same tab click
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix function name
---------
Co-authored-by: github-actions <github-actions@github.com>
- Aims to make those skeleton loaders more accurately represent this size and shape of the content that will replace them.
- Refactors the code so that components are responsible for hosting their own skeleton code, attached to an `isLoading` variable, making it easier to stay consistent as changes are made in future.
* Add variation switcher hook for easier use across multiple components
* Add unregister function for validation
* Add changelogs
* Remove stray console
* Add unRegisterValidator function
* Add edit button to each variation to redirect to the single variation page
* Add changelog file
* Fix blocks and plugin registration
* Add router redirection
* Fix css conflicts with the prev experience
* Fix linter errors
* Add changelog file
* Create downloads menu component
* Add the menu to the downloads section
* Create upload-files-menu-item component
* Add upload-files-menu-item to the downloads menu
* Create media-library-menu-item component
* Fix media library menu item zindex conflict with the media upload modal
* Create insert-url-menu-item component
* Add insert-url-menu-item to the downloads menu
* Add support for digital product when product-virtual-downloadable feature is enabled
* Add changelog files
* Remove non needed style
* Fix linter errors
* Fix redirection logic
* Keep drop zone on to of the table
* Avoid duplicate files
* Stringify download ids before persist them
* Fix summary block property value under SimpleProductTemplate
* Fix linter error
* Update Action Scheduler to 3.6.4
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Create DeleteVariationMenuItem to be added to the Header's MoreMenu
* Move registration menu item fills to each product/variation page
* Export RemoveConfirmationModal from the product editor package
* Request for variation deletion
* Show notice when deleting variation
* Redirect to parent product page after deleting the variation
* Add tracking event
* Manage isRemoving state under RemoveConfirmationModal
* Add changelog files
* Fix linter error
* Fix delete variation modal title
* Add tracking events
* Use the right prop to get the variation name
* Add name and parent_id to the ProductVariation type definition
* Add changelog file
* Feedback modal should get the correct product id when editing a variation
* Fix rebase conflicts
* Fix unit test
* Add variation switcher in footer for variation page
* Add productId to make sure template is updated correctly
* Don't show bar when less then 2 variations.
* Add class for when page is scrolled to bottom
* Add changelogs
* Add tracks
* Fix lint error
* Fix css lint issues
* Prevent global attribute terms from being automatically selected
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add downloads section
* Create and register the downloads block
* Conditionally remove the upload button from the media upload component
* Create upload image component
* Add media uploader component to the downloads block
* Add downloads table
* Add remove file feature to the downloads table
* Set downloadable to false when there are no download files
* Add support to remove uploaded file
* If the file has a custom name added by the user, we show it first. The actual file name is then shown in a second line.
* Add changelog files
* Fix linter error
* Address feedback from comments
* Fix allowed media types
* Register the new feature flag product-virtual-downloadable
* Hide the downloads section behind the feature flag product-virtual-downloadable
* Update editor settings after sync blocks with template
* Get allowedMimeTypes from the editor settings
* Fix linter errors
* Handle partially onboarded accounts in WooPayments task
Being completed only after completely finishing the onboarding process.
* Add changelog
* Fix PHPCS errors
* Ensure HPOS is disabled if ENABLE_HPOS is set to '0'
* update spacing and changelog
* log ENABLE_HPOS value for GitHub action
* remove log ENABLE_HPOS value for GitHub action
* updates to HPOS using REST API
* update spacing
* code tidy up
* workflow and global-setup updates after review
* update workflow for api tests
* workflow updates
* delete .github/workflows/pr-build-and-e2e-tests-non-hpos.yml
* update workflow
* update api setup for HPOS
* updates to workflows for api references and setup updates
* add in ENABLE_HPOS check
* update API tests BASE_URL
* updates after review
* update error text
* remove extraneous variable names
* Add changelog
* Add dedicated PW config and global setup files
* Add step to download chromium
* Specify config and env var
* Fix trivial whitespaces
* Disable Slack notif for now
* Re-enable Slack summary
* Simplify getting major, minor version numbers
* Use single line for response wait
* Add description to the Variation details section
* Add Image section block to the Single Variation page
* Add support to the checkbox block for changing non boolean properties and extend it to use the entity context
* Register the product-variation-visibility block into the ProductVariationTemplate
* Null is a valid value but not updafined
* Fix type definitions
* Add changelog files
* Fix linter errors
* Add changelog file
* Change onValue and offValue for checkedValue and unchackedValue for the checkbox block to avoid event naming conflicts
* Set multiple value dynamically into the media uploader component
* Prevent uploading multiple files when multiple is set to false
* Remove cover label when multiple is set to false
* Fix DropZone min height in Image section
* Fix rebase conflict
* Fix linter error
* Update blocks with postType context
* Add tax class
* Pass context into get_tax_class
* Add parent option
* Add changelog
* Update changelog
* Add isRequired attribute to regular price block for use in variations
* Add additional condition to avoid error in date time picker
* Add changelog
* Fix lint errors
* Update theme properties
* Fix theme array properties
* Update filtered urls to use admin_url() instead of home_url()
home_url() is used for front-end requests; admin_url() should be used for wp-admin urls
* Remove "valid" theme check
* Slight tweak to the color palette values
The theme showcase actually uses some more complex logic to pick two out of the 5 colors to represent the theme. We could probably manually copy these as two values instead of what I'm doing here.
* Removed unused color palette values
Really this is probably the simpler approach. Might revisit this later. Also added a total_palettes value so we can track that and show "+X" in the theme preview
* Add extra palettes number
If there are more than 4 palettes, we'll show the number of extras as we do in the WP.com theme showcase.
* Tighten gap between theme name and type
There was too large of a bottom margin on the theme info div.
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
* Remove allowed_theme check from activate_theme api
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* add: UI work for task completed flow
* added spinner for intro page loading
* add: save ai generated theme id to options
* resolve rebase conflict
* fixed tests
* Skip invalid translation format
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix shipping blocks ids into ProductVariationTemplate
* Add support to postType context to product-shipping-class-field block
* Add support to postType context to product-shipping-dimensions-fields block
* Add changelog files
* Remove advance section from the inventory section in the ProductVariationTemplate
* Add support to postType context to product-sku-field block
* Add support to postType context to product-toggle-field block
* Add support to postType context to product-inventory-quantity-field block
* Add support to postType context to product-radio-field block
* Fix inventory blocks ids into ProductVariationTemplate
* Add changelog files
* Initial changes needed to get product variation to load in its own form
* Allow the publishing of an individual variation
* Address some PR feedback and do some general cleanup
* Update template with new attribute name
* Add changelogs
* Update label of note field and allow for optional param in summary block
* Remove helpText in variation note field
* Fix PHP lint errors
* Make editor type more abstract
---------
Co-authored-by: Lourens Schep <lourensschep@gmail.com>
* Use themes REST API
* Add changefile(s) from automation for the following project(s): woocommerce
* Use browse_all.href and set default value to /:admin-dir/themes.php
* Fix lint
* Fix tests
* Fix tests
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Replace mshot image with preview editor frame in transitional screen
* Add changelog
* Fix test
* Use current xstate to check if it is transitional page
* Create 'generic' and 'product-fields' and separate blocks between the two
* Refactor 'BlockRegistry' to include new directory structure
* Increment README
* Add param documentation
* Add changelogs
* Lint markdown
* Add block directory doc
* Fix jest test
* Update handbook reference
* Remove background, primary_border, secondary_border from the API schema -- they are not used
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
---------
Co-authored-by: github-actions <github-actions@github.com>
Restored `woocommerce_show_addons_page` filter, which is used to add or not add the Extensions menu item.
Changed the method we use to hide the extra Extensions submenu item we add to WooCommerce as a temporary measure, to ensure the My Subscriptions page still works. Using the superior `hide_submenu_page` method borrowed from Jetpack.
- A permanent notice in Settings - Advanced - Legacy API
- A dismissable admin notice only if the Legacy API is enabled
(disappears if it gets disabled)
* strtotime(): Passing null to parameter #1 () of type string is deprecated PHP 8
* feedback more succinctly
* generate changelog
* use suggested change
* add indentation
* Rename title
* Remove common-tasks section as it's currently made redundant by template API documentation
* Create index for reusable blocks doc
* Update reference to the handbook
* Add references to new documentation to the handbook
* Add changelog
* Update README.md
* Remove homepage template prompt
* Add changefile(s) from automation for the following project(s): woocommerce
* Set template1 for the default homepageTemplate
* Fix lint error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update intro banner background image
* Remove unused graphic
* Add site icon and title
Also updated the intro banner background CSS
* Fix typo
* Remove assembler hub button -- not used here
* Fix image pos and import the correct image
* Change banner to offline when the user network goes offline
* CSS fixes
* Redirect to users to themes.php on Browse all themes clicked
* Change banner text, title, and button text depending on the network and jetpack status
* Add active theme design -- still needs API to get the active theme
* Add color variations
* Update info card margin
* Update info card margin
* Separate out ColorPalettes component
* Separate out ThemeCard
* Update site-title font color
* Update margin between banner p and button
* Update theme card row-gap
* Remove use of color palette border color
* Lint fixes
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix errors after rebase
---------
Co-authored-by: Chris Runnells <chris.runnells@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
* Add new context values
* Implement design with A.I change warning modal
* Add count-active-theme-mods endpoint
* Add count-active-theme-mods selector in the frontend
* Set mods_count correctly
* Fetch activeThemeHasMods and customizeStoreTaskCompleted
* Use activeThemeHasMods and customizeStoreCompleted
* Add changefile(s) from automation for the following project(s): @woocommerce/data, woocommerce
* Use correct APIs to check template, pages, and styles modifications
* Fix hasModifiedPages resolve error
* Assign hasErrors on fetchIntroData errors
* Add changefile(s) from automation for the following project(s): @woocommerce/data, woocommerce
* Ignore TS error
* Fix css lint errors
* Fix broken test
* Fix broken test
* Revert changes -- no longer needed
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Support using category_id and tag_id in wc_get_product()
* add changelog file
* add unit tests for searching products by category slug, category id, tag slug, and tag id
* Add changefile(s) from automation for the following project(s): woocommerce
* remove the `unset` for `category_id`
* appease the linter
* rename tag_id to product_tag_id so that we don't interfere with WordPress's native use of tag_id
* rename category_id to product_category_id for consistency
---------
Co-authored-by: helgatheviking <507025+helgatheviking@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Fix: when the HPOS tables are created, HPOS was always disabled.
After the fix HPOS will be disabled only if the creation of the
tables fail. Additionally, failure to create the tables will be logged.
* Add changelog file
* Allow e2e tests to use dotfiles for configuration
* Fix lint errors
* Fix lint errors
* Linter strikes again
* Again
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* HPOS: Add a recurring event to check for unsynced orders
Adds an event that will get scheduled when HPOS data sync gets enabled.
The event will run every 6 hours and check for unsynced orders. If it
finds any, it will queue up the data syncing batch processor.
Fixes#39626
* Add button to sync orders immediately
* Add changefile(s) from automation for the following project(s): woocommerce
* Wrap AS function calls to avoid errors in unit tests
* Use WC_Queue methods instead of AS functions
* Add a filter to customize the sync check time interval
* Ensure retrieved pending sync count is not a cached value
* Change sync button style to link
* Formatting fixes
* Fix unit test
* Add BatchProcessingController dependency to DataSynchronizer
* Add background sync functionality to DataSynchronizer
* Tweaks to watchdog scheduling in batch processor
* Adds a filter to modify the amount of time the watchdog schedule
gets delayed when calling the scheduler using `$with_delay`
* Adds a check to ensure the scheduler doesn't overwrite an existing
scheduled event. This is because the scheduler was getting called
multiple times in a request, first without `$with_delay` (so the event
would run right away) and then again with `$with_delay`, so that the
event would then be delayed by an hour. The result was that the event
was always scheduled for an hour later, even when we want it to run
right away.
* Improve query arg for running sync via UI
* Remove sync check from COTController, add message about background sync
* Abstract the removal of background sync events
* Remove accidental test code
* Add changefile(s) from automation for the following project(s): woocommerce
* Ensure bg sync event is not scheduled when in continuous mode
* Add missing @since comments on new filter hooks
* Add caching to check for scheduled bg sync events
* Use constants for bg sync modes
* Add unit tests
* Switch from init hook to shutdown
* Switch bg sync settings from filters to options
* Update unit tests
* phpcs fix
* Tweak "Background sync is enabled" message
Only show this if it is enabled while real-time sync is disabled.
Otherwise the message could be confusing to users who just check the
"Compatibility mode" box, since background sync doesn't have any UI.
---------
Co-authored-by: github-actions <github-actions@github.com>