* Add manage stock section to product inventory section
* Fix up h4 styles in form sections
* Check if stock management is enabled in store settings
* Fix up more styles in form
* Extract inventory validation and add new validation rules
* Add changelog entry
* Add changelog entry
* Remove sku related validation
* Add initial rich text editor component
* Use fixed toolbar and add base formatters
* Add link as formatter option
* Fix up references to core/link block
* Add quote transform
* Add changelog entry
* Add text alignment toolbar
* Remove references to checkbox list
* Update toolbar button organization
* Remove unused rtj format types
* Create unique instance for editor writing flow
* Add registry provider for storybook examples
* Update styling for editor
* Rebase and fix lock file
* Add packages and type dependencies
* Move component to experimental
* Fix up formatting
* Update editor to use default GB toolbar
* Prefix names with woocoommerce
* Create block on initialization so toolbar is visible
* Rely on insertBlock to handle selection
* Update text editor to use setting instead of BlockList prop
* Fix up lock file after rebase
* Handle PR feedback
* Move logic for force rerender
* Fix up pnpm lock file
* Use trunk lock file
* Update lock file
* Add missing semicolon
* Use Pauls lock file and package file
* Add product inventory section and sku control
* Add validation and errors
* Add changelog entry
* Add dependencies comment block
* Call input props onBlur for product name field
* Remove slug validation
* Watch product name value change in inventory section
* Fix up usePrevious hook TS
* Revert watching changes by previous touched status
* (HPOS/COT) Ensure date_creation_gmt is correctly populated with a datetime in GMT timezone.
* Update the way we test the value of the persisted order creation date.
* Extend FeaturesController to handle WooCommerce-aware plugins
The methods that return compatibility info now have an extra
'uncertain' part with information regarding plugins that are
WooCommerce-aware but haven't declared compatibility.
* Add a warning about incompatible plugins in the features page.
Includes a link to the list of incompatible plugins.
* Add handling of incompatible plugins in the plugins page.
Plugins that are incompatible with at least one enabled feature
will show a warning in the WooCommerce plugins page, and will
have their "Activate" link disabled.
* - Hook on 'views_plugins' to display two views in plugins page,
"All" and "Incompatible with feature X"
- Exclude the legacy Analytics features from the feature and plugins
activation restrictions
- Allow disabling a feature from the settings pages if it's enabled
and is incompatible with at least one plugin (it won't be possible
to re-enable it once the settings page reloads)
* Fix FeaturesController::declare_compatibility not working in Windows
(which uses \ instead of / as directory separator)
* - Add two methods to bypass the feature/plugin activation protection.
- Fix: the incompatible plugins count in the feature settings page
now only counts active plugins.
* Add changelog file
* Fix unit tests
* - Rename "custom orders table" feature to "high performance order tables"
- Add an extra parameter to FeaturesController::get_compatible_plugins_for_feature
to retrieve all matching plugins or only active plugins.
* Minor wording fixes
* Address PR feedback.
* Allow enabling plugins when WP_DEBUG is true.
* Return if plugin_status is not set.
* Dont change the Activate button.
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* Fix expect checks to actually do something
* Fix default 24 hour format
* Add test for when currentDate is changed
* Fix up tests that were broken (and masked by no assertions)
* Fix initial setting of input
* Export default 12 hour and 24 hour formats
Adds a check to the mobile messaging callback to ensure it only gets inserted into the email footer for the New Order notification for merchants, and not for emails sent to customers.
Fixes#35016
* Bring Yoda back.
* Add method to OrdersTableQuery to obtain table info for a given order field
* First pass at field_query
* Add tests
* Add changelog
* Use backticks for table names and aliases
* Improve validation in field_query
* Add some more tests
* Added JS data file
* Moved onboarding logic into utils folder
* Used new onboarding methods and data file
* Added changelog
* Moved utils directory
* Added api utils
* Added customer details data
* Used new api utils and data
* Updated path
* Added comment and removed log
* Removed log
* Added changelog
* Update Playwright 1.22.1 -> 1.26.0
* Update page title locator
* Wait for View cart link after adding to cart
* Add a wait when applying second coupon
* Fix flakey coupon test
* Ensure Store is in US
* Add changelog
* Revert lock file commit
This reverts commit b75192f53c.
* Updated lock file
* Added command for Playwright test execution
* Resolve merge conflict
* Resolve merge conflict
* Fixed pnpm-lock.json
* Update PW Selectors (#34959)
* Updated PW selectors
* Updated selector
* Removed extra command
* Ensure Billing country is set
* Fix failing payment setup test
* Old test is still running in actions
* Adds colour output for Playwright in GH Actions
* Fix payment test
* Lock file update
* Skipping a test for now
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: jamelreid <jnoelreid@gmail.com>
Co-authored-by: Jamel Noel Reid <MrJnrman@users.noreply.github.com>
* Add documentation as to where to find the settings/features
* Fix version picker not working
* Bump versions and normalize changelog section
* Remove old changelog files
* Ensure WR can bump the version
* Add minified version of version-picker
Co-authored-by: Jonathan Sadowski <sadowski@automattic.com>
* Expanded k6 merchant order tests
* Adding additional k6 merchant and api order requests
* Added changelog
* Added Changelog
* Update k6 search filter test to use customer ID
* Update k6 README for update to config
* Removed Order Filters from k6 daily external tests until the workflow can be updated
* Updated k6 requests for HPOS
* Add k6 completed orders merchant request
* Reverse the order of "$id" and "$object" in ObjectCache::set
* Add the ObjectCache::update_if_cached method
* Modify ObjectCache:set to validate object before invoking get_id
* Add a temporary TransientsEngine class.
This is temporary! Must be removed before merging to trunk.
* Add the OrderCache class.
This class uses a TransientsEngine instance as the caching engine.
This is temporary and must be undone (get_cache_engine_instance method
must be removed) before merging to trunk!
* Use the new OrdersCache class
- When an order is retrieved, cache it
- When an order is saved, update it if it was cached already
- When an order is trashed or deleted, remove it from cache
- When the authoritative table for orders changes, flush the cache
* Remove the hardcoded usage of TransientEngine in OrderCache
It will make things easier later before merging. The transients engine
can still be used via the wc_object_cache_get_engine hook.
* Add changelog file
* Fix failing unit test
The test was failing because the order is cached by reference when
being saved in the test, and then when being deleted by the REST API
code it gets its id set to 0.
* Add a setting to enable/disable the orders cache
Also added a mechanism to temporarily disable the orders cache while
syncrhonization is in progress.
* Adjustments in the mechanism to temporarily disable the orders cache usage
* OrderCacheController: backup enable option is now stored in memory.
* Convert conditions to Yoda :-(
* Add missing $
* Use the new features engine to declare the cache as an experimental feature
Also decouple the orders cache mechanism from the COT feature,
it can be now used indepently of the COT feature and independently
of whether the new orders table is in use or not.
* Removed unused import and transient class.
Co-authored-by: Vedanshu Jain <vedanshu.jain.2012@gmail.com>
* Added JS data file
* Moved onboarding logic into utils folder
* Used new onboarding methods and data file
* Added changelog
* Moved utils directory
* Fixed import
* Replace preloaded attribute and term dropdowns with async typeahead dropdowns
* Revert accidenatal change.
* Add condition to show the old dropdown in certain situations
* Add changelog
* Use ternary condition
* Move mininumInputLength down to follow the same format as the other filters
* Fix the minimum input length
* Update the select all to work with the async terms field
* Make sure empty attributes are shown and suppress query filter
* Fix code sniff error
* Combine last 23 commits into one.
Update css, so dropdown shows correctly
Add extra callbacks and expose some downshift combobox functions
Add changelog
Update stories to reflect new props
Update stories label
Removed `clearOnSelect` prop and reverted some other changes
Fix missed props during rebase
Remove old storybook story and slight fix from rebase
Remove unneeded code
Update default get filtered functionality and add regex escaping
Some updates by testing a new onStateChange callback
Expose the onStateChange callback for more fine control ove the useSelect
Some minor adjustments
Expose stateReducer and minor adjustments from PR review
Simplify logic around isOpen handling with outside component
Remove unused import
Remove onStateChange prop
Address PR feedback
Some minor adjustments to the input handling
Update the way the stateReducer is called
Remove some of the unneeded logic
Remove onStateChange and replace it with onSelectedItemChange and onInputValueChange for simplicity
Fix lint error
* Remove duplicate and unused import
* Fix call to ControlledPropUpdatedSelectedItem in story
REST API: Ensure meta_data prop contains an array
When filtering the meta_data array of a response with include_meta or
exclude_meta, the array indexes were getting preserved so that it was
possible for the array to not contain a 0 index, but still have some
subsequent numbers. When such an array was converted to JSON, it was
interpreted as an object rather than an array.
This ensures the meta_data array indexes are reset after filtering, and
adds unit tests to check that meta_data always contains an array, and
not an object.
* Add `maxFailures`
* Intentionally fail a test for testing the failure limit
* Add changelog
* Add step to get total number of E2E tests
* Increase max failures
* Add warnings to the test summary.
Also moved some stuff around.
* Update changelog
* Use env var to set `maxFailures` value instead of hard-coding it
* Make sure env var is converted to a number
* Allow maxFailures even if not on CI
* Show incomplete e2e run warning only when E2E_MAX_FAILURES is set
* Safely escape new lines in comment body
* Fix returned stringified summary
* Remove unnecessary newline escaping
* Fix incorrect reference to E2E_MAX_FAILURES
* Minor formatting change
* Shorten warning messages
* Minor change in warning message
* Intentionally fail only 1 test
* Remove intentional failures
* Removed duplicate env declaration
* Correct pnpm command and playwright config file location
* Simplify reference to CI variable
* Remove unnecessary if condition
* Remove references to the old E2E_PLAYWRIGHT flag
* Remove references to the old E2E_PPTR_SUMMARY_PATH variable
* Test for 2 warnings
* Revert to correct locator
* Test for only 1 warning
* Pass all tests
* Add initial attribute list with dragging and removing functionality
* Fix sortable styling and remove the default selected logic
* Fix css formatting
* Add changelogs
* Add missing question mark
* Add tests
* Some minor CSS updates and move some logic to a util function
* Fix lint issues and add extra test