Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Bart Kalisz <bartlomiej.kalisz@gmail.com>
Co-authored-by: Adrian Moldovan <3854374+adimoldovan@users.noreply.github.com>
Coupon metadata keys `product_ids` and `excluded_product_ids` are stored by WooCommerce as a comma-saparated list of values, but apparently some plugins mistakenly re-store these as serialized arrays. This pull request changes the database metadata read code so that it supports both comma-separated lists and serialized arrays.
Fixes#40569
Log messages can be modified via the `woocommerce_logger_log_message`
filter hook on a per-handler basis, but if the message is modified for
the first handler, the subsequent handlers were receiving the modified
message instead of the original. This simply ensures each handler
receives the original message instead.
Fixes#47126
* Use DOM API to create Order Attribution inputs
* Add changelog entry
* Delete unnecessary changelog
---------
Co-authored-by: Tomek Wytrębowicz <tomalecpub@gmail.com>
* Update useLaunchYourStore hook to accept enabled parameter and only enable it in homescreen
* Add changelog
* Fix type
* Change isHomescreen function to variable
* Add the ProductAttributesLookup\CLIRunner class
* Fix the restoring of the lookup table usage option
* Improve the progress bar of the regeneration command
* Add changelog file
* Fix existing unit tests
* Add linter exception for TODO comment
* Fix example in CLI runner
* Fix: get_lookup_table_info was returning data as strings.
* Show count of lookup table rows after the "regenerate" command finishes.
* Improve error message
* Fix the report name sent to woocommerce-test-reports workflow
* Add test type
* Test change
* Remove test type
* Merge artifacts to keep allure-results
* Overwrite artifacts if one already exists with the same name
* Test changes to trigger tests
* Fix allure-results and .state paths
* Filter tests for faster feedback
* Debug artifacts content
* Use name instead of pattern
* Use name instead of pattern
* Don't use an intermediate path
* Use artifact name and path instead of only pattern
* Use artifact name and path instead of only pattern
* Use artifact name and path instead of only pattern
* Remove testMatch filter to run all tests
* Revert test change
* Add changelog
* Add template ID for variations
* Add changefile(s) from automation for the following project(s): woocommerce
* Update 48325-fix-prepare-variation-boejct
* Add changefile(s) from automation for the following project(s): woocommerce
* Update 48325-fix-prepare-variation-boejct
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add tests for ProductPage
* Add tests for ProductVariationPage
* Add test for product_tab_click event
* Add test for product_editor_feedback_bar_turnoff_editor_click event
* Add test for product_dropdown_option_click event
* Add test for product_add_view track
* Changelogs
* Changelog
* Lint
* Add product_edit_view test and falsey test
* Fix test name
* Ensure onsubmit event that triggers ajax save on tax table is bind to the correct button
Unblock the button busy state after saving
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
* Update changelog entry
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: André Kallehauge <3846700+kallehauge@users.noreply.github.com>
* Add (Experimental) suffix to experimental blocks
* Add comments reminding to update feature flags doc
* Update feature flag doc
* Add changelog
* Provide links to all feature flags
* Add JS flag for Product Filter: Rating (Experimental)
* Bring back linting in PHP file
* Update block references
* Update variation names
* Update tests
* Update test
* Add notification that block is not available in inserter to block references doc
* Add missing feature flag
* Remove information about block not being exposed in inserter from block references
* Update block references
* Add a step to install patterns when during the CYS flow
* Add changefile(s) from automation for the following project(s): woocommerce
* Add feature flag to the install patterns function
* Fix changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Select the next block after deleting one
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint error
* Check if next block client is defined
---------
Co-authored-by: github-actions <github-actions@github.com>
* Only run layout effect after product is resolved
* Fix edit variable product test
* Add changelog
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Remove template matching from front-end
* Create 'woocommerce_rest_get_product' filter to allow extensions to change the product when it's fetched through the REST API
* Stop defaulting to 'standard-product-template' product template and handle defaults only in getLayoutTemplateId function
* Use created hook to determine and persist the product template ID when it's not defined.
Also introduce 'match_fn' in ProductTemplate to allow extensions to provide robust ways of matching the template
* Add changelog
* Fix tests
* Remove outdated tests
* Fix issue in filter because $product can be false and move API change to v3
* Add comments to continue statements
* Small refactor
* Only send layout template id to useLayoutTemplate after product is loaded
* Revert front-end changes
* Remove match_fn and create filter to allow extensions to determine the product template id
* Avoid loading layout template before product is loaded
* Create woocommerce_product_editor_determine_product_template filter and use it
* Update changelogs and remove unused code
* Remove _product_template_id for products that were created with the new product editor.
* Use only id to find productTemplate
* Turn hook into experimental
* Remove deprecated tests
* Rename filter
* Add more typings to useEntityRecord
* Use hasResolved boolean to check whether product has been resolved
* Add changelog
* Add 'variation' to ProductType
* Don't default to the standard-product-template for variations
* Update changelog
* Accept null in getLayoutTemplateId
* Fix edit variable product test
* Rename hook
* Revert changed logic to avoid regressions
* Increment useProductTemplate logic
* Default to standard-product-template instead of undefined when no matches
* Re-import Features class
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
* Ensure attribute slugs are properly sanitized when setting
* Update approach to avoid breaking functionality in WP Admin UI
* Add changelog file
* Add unit test
* introduce ProductFormTemplateProps type
* pull and set the default product form template
* render the PFT when it exists
* render a temporeary form templates selector
* changelog
* rollback TS global changes
* fix typo
* Prevent ProductGallery block from being registered on the post or page editor
* Add product gallery to widget blacklist
* Add changefile(s) from automation for the following project(s): woocommerce
* Update changelog
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* introduce super super base product form template
* introduce ProductFormsController controller
* initialize PFT (product form template)
* changelog
* do not use clas prop to store controller
* show temporarely the Product Form CPT in the UI
* migrate also when plugin is installed
* eslinting
* minor code refactoring
* check $hook_extra param is defined
* introduce $product_form_templates private prop
* eslinting
* bump simple template version
* rename class method
* pick the action when plugin action