* Add create-post.spec.js
Create e2e test for Critical Flow: Merchant > Posts > Can create a new post
* Fix e2e Merchant Create Post
* Force delete created post
* Check for Welcome modal - close if exists
* Change assertion for Published post confirmation from `check if true` to `check if visible`
* Added changelog file
* e2e-pw: Create post - replace btoa
Replace deprecated function btoa with Buffer function
* change reference of Catpure to Capture
Co-Authored-By: Vikram <93216400+vikrampm1@users.noreply.github.com>
* change reference of expicitly to explicitly
Co-Authored-By: Vikram <93216400+vikrampm1@users.noreply.github.com>
* change reference 'cutted' to 'cut'
* change reference 'determening' to 'determining'
* change reference 'retreive' to 'retrieve'
* change reference 'neccessary' to 'necessary'
* change reference 'Fitler' to 'Filter'
* change reference of "seperate" to "separate"
Co-Authored-By: Ankit K Gupta <ankit.himcs@gmail.com>
* change reference of "wether" to "whether"
Co-Authored-By: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>
* change reference of "staus" to "status"
* change reference of "retrive" to "retrieve"
* change references of "gatways" to "gateways"
* change references of "existant" to "existent"
* change reference of "requries" to "requires"
* change reference of "configuation" to "configuration"
* change reference of "processsing" to "processing"
* change reference of "represenation" to "representation"
* change reference of "dimentions" to "dimensions"
* change references of "reigster" to "register"
* change reference of "colum" to "column"
* change reference of "transtions" to "transitions"
* change references of "intially" to "initially"
* change references of "orignal" to "original"
* change references of "deprected" to "deprecated"
* change references of "paramter" to "parameter"
* change reference of "intance" to "instance"
* change reference of "elemets" to "elements"
* change references of "funcitons" to "functions"
* change reference of "specificed" to "specified"
* change references of "atributes" to "attributes"
* change reference of "tast" to "task"
* change reference of "chaning" to "changing"
* change reference of "retreiving" to "retrieving"
* change reference of "caluclation" to "calculation"
* change references of "Invaid" to "Invalid"
* change references of "paramaters" to "parameters"
* change reference of "Additonal" to "Additional"
* change reference of "teh" to "the"
* change reference of "evalutes" to "evaluates"
* change reference of "addedd" to "added"
* change reference of "excempt" to "exempt"
* change reference of "sequencially" to "sequentially"
* change reference of "previos" to "previous"
* change reference of "elegible" to "eligible"
* change references of "Boostrap" to "Bootstrap"
* change references of "compability" to "compatibility"
* change reference of "heirarchy" to "hierarchy"
* change references of "visibilty" to "visibility"
* change reference of "comparsion" to "comparison"
* change reference of "capabilties" to "capabilities"
* change reference of "datatores" to "datastores"
* change reference of "occured" to "occurred"
* change reference of "coresponding" to "corresponding"
* change references of "thier" to "their"
* change reference of "sucessfully" to "successfully"
* change reference of "insde" to "inside"
* change reference of "nagivation" to "navigation"
* change references of "visiblity" to "visibility"
* change reference of "documentaiton" to "documentation"
* change reference of "anayltics" to "analytics"
* change reference of "intalling" to "installing"
* change reference of "mininum" to "minimum"
* change references of "intial" to "initial"
* change reference of "Feld" to "Field"
* change reference of "taks" to "task"
* change reference of "trasnfer" to "transfer"
* change reference of "respone" to "response"
* change reference of "Extenstions" to "Extensions"
* change reference of "detault" to "default"
* change reference of "simultanious" to "simultaneous"
* change reference of "overides" to "overrides"
* change references of "Indvidual" to "Individual"
* change reference of "refering" to "referring"
* change reference of "aginst" to "against"
* change reference of "execuatable" to "executable"
* change reference of "repsonse" to "response"
* change reference of "documention" to "documentation"
* change reference of "asumed" to "assumed"
* change reference of "Minium" to "Minimum"
* change reference of "unqiue" to "unique"
* change references of "existance" to "existence"
* change reference of "compatability" to "compatibility"
* change reference of "Taxnomy" to "Taxonomy"
* change reference of "quering" to "querying"
* change reference of "retrun" to "return"
* change reference of "informations" to "information"
Co-Authored-By: Viktor Szépe <viktor@szepe.net>
* Add changelog
* Add changelog
* Fix typo
---------
Co-authored-by: Vikram <93216400+vikrampm1@users.noreply.github.com>
Co-authored-by: Ankit K Gupta <ankit.himcs@gmail.com>
Co-authored-by: Sumit Bagthariya <67687255+qasumitbagthariya@users.noreply.github.com>
Co-authored-by: Viktor Szépe <viktor@szepe.net>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Makes the `wc_checkout_form` object available to Javascript event handlers during the checkout process. This makes it easier for extension (payment gateway) developers to manipulate the checkout experience. In isolation, though, nothing should change and everything should work as before.
Fixes#26827
* Fix typo
"Log out" is a verb
"logout" is a noun.
This link should be an action. So it's the verb form.
* Add changelog file
* update E2E tests for text change
* update unit test for text change
---------
Co-authored-by: Ron Rennick <ron@ronandandrea.com>
Co-authored-by: Ron Rennick <ronald.rennick@automattic.com>
* Update WCA Test Helper JS script dependencies
Add the WooCommerce Admin app script as a dependency to ensure it loads before WCA Test Helper. This enables WCA Test Helper scripts to check available features.
* Add experimental_woocommerce_wcpay_feature fill
* Add beta-tester-slotfill-examples feature
* Fix a bug
* Fix lint issues
* Add changelog
* Add core profiler - welcome to woo page
* Add changelog
* Update checkbox styles
* Update copies
* Add test
* Add enable prop to window.wcTracks type
* Add tracks
* Add explat changelog
* Fix import
* Update default tracking value
* Update copies
* Fix test
* using invoked promise instead of useState
- take advantage of xstate's built ins for side effects instead of useEffect/hooks
- discovered that error result wasn't really handled in original useEffect
- use text labels instead of inline functions so that we can decouple the implementation from the machine model
- todo: can move the invoked function out elsewhere and also tests if needed (not necessary here because it's a simple call)
* use actions.choose instead of branching inside action
- https://stately.ai/docs/xstate/transitions-and-choices/guarded-actions#the-choose-action
- makes it so that the machine model is serializeable
- todo: in the distant future i wonder if it might be tidier to have tracks be its own actor that just receives the same events that this machine does, that way it's just standalone instead of mixing up tracks with the implementation
* use dispatch instead of useDispatch
- decouples the implementation of the handler from the react component
- makes the handler testable on its own if needed
- makes the state machine testable without relying on external dependencies
* decoupled remaining function calls
* Fix lint error
* Fix style lint
* address xstate console warnings
- .withConfig() is a function call that returns a new object every invocation so we need to wrap it in useMemo to keep it stable
* Add optInDataSharing is false test
* Fix lint
---------
Co-authored-by: rjchow <me@rjchow.com>
* Add product_type_options to wcadmin_product_add_publish
* Add product_type_options to wcadmin_product_update
* Add product_type_options to other wcadmin_product_ events
* Register server-side tracking during rest requests
* Move loading of tracks related functionality to WC class
* Load tracks functions to allow tests to pass
* Move single init hook for WC Site Tracking to core class
* Update List price Pricing link on the general tab to navigate to the Pricing tab
* Add changelog files
* Simplify the event name to product_pricing_help_click
* Order is search with the phone number and linked with the user account. #36810
* updated the query and tested on local env
* fixed the phpcs issue
* added the changelog
* updated the string concatenation issue and also moved the change log file to the correct path
* removed the %i placeholder from the query and used the old way to add the table name
* add: core profiler scaffolding using xstate
* Add navigation and progress-bar components
* fix css lint error
* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/woologo.tsx
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce-admin/client/core-profiler/components/progress-bar/progress-bar.tsx
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce-admin/client/core-profiler/components/navigation/navigation.tsx
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Import HTMLAttributes
* Remove var from __ function
* Make progress bar color configurable
* Destruct props directly in the function and use const to define the comp
* Refactor fillerStyles
* Use woocommerce prefix for classnames
* Use inherit for display -- initial did not work properly
* Fix css lint error
* Remove unused WooLogo var
* Use named export
* Fix js style
* Add changelog
* Fix broken tests
---------
Co-authored-by: rjchow <me@rjchow.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* tweeak: use locator to fill values
* chore: log change
* format: improve code formatting
* chore: remove locator refference from variable name
* Update create-variable-product.spec.js
Specify last element with selector
* Update create-variable-product.spec.js
Different selector
* Update create-variable-product.spec.js
Third time is a charm.
* Update create-variable-product.spec.js
.second doesn't exist. User .nth
---------
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
* Track stock quantity for this product should be disabled when Enable stock management within settings is disabled, and enabled otherwise.
* Add changelog files
* add: core profiler scaffolding using xstate
* address review feedback and questions
* changed path to use setup-wizard
* default new core-profiler feature flag to false
* Change woocommerce/product-name to woocommerce/product-name-field
* Change woocommerce/product-summary to woocommerce/product-summary-field
* Change woocommerce/product-pricing to woocommerce/product-pricing-field
* Change woocommerce/product-radio to woocommerce/product-radio-field
* Change woocommerce/product-images to woocommerce/product-images-field
* Fix product name block invalid class name
* Move woocommerce/product-section to blocks folder
* Move woocommerce/product-tab to blocks folder
* Move woocommerce/product-collapsible to blocks folder
* Organize block registration, imports and styles
* Add changelog files
* Change woocommerce/product-category to woocommerce/product-category-field
* Change woocommerce/product-checkbox to woocommerce/product-checkbox-field
* Change woocommerce/product-inventory-email to woocommerce/product-inventory-email-field
* Change woocommerce/product-sku to woocommerce/product-sku-field
* Register woocommerce/product-schedule-sale-fields in server side
* Register woocommerce/product-track-inventory-fields in server side
* Fix invalid reference in tabs tests
* Add initial category block
* Add changelogs
* Add label to font family for block editor and fix template
* Fix rebase conflict and add content role
* Some styling changes for the category field
* Move category block to blocks folder and fix merge conflict.
* Address some styling issues, and update keywords
* Fix css lint error
Internal logic:
- If the featured field is absent from all image objects in the request, set the first image in the array to featured.
- If the featured field is present in all image objects, we respect the value and set the featured image accordingly.
- If the featured field is absent from some image object, we set the featured image based on whether a true value exists; otherwise, we set the first image as featured.
- if multiple images have the featured field set to true, return a new 400 bad request response..
* fix: use correct argument in playwright test
use waitUntil instead of waitForLoadState.
* chore: add log for change
* chore: revert changes in e2e test
* Update analytics-overview.spec.js
Remove waits, failing on CI
---------
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
* Add initial custom meta box for product categories
* Make use of TreeSelectControl
* Update classnames
* Display selected items and sync with most used tab
* Always show placeholder and remove checklist container
* Reactify category metabox tabs
* Add create new category logic
* Remove unused markup
* Fix saving of empty category list
* Add callback when input is cleared as well
* Some small cleanup and refactoring.
* Add changelog
* Fix tree creation and style enqueue
* Auto fix lint errors
* Fix linting errors
* Fix css lint errors
* Add 100 limit, and address some PR feedback
* Fix some styling and warnings
* Remove unused code
* Address PR feedback
* Fix lint error
* Fix lint errors
* Address PR feedback
* Fix lint error
* Minor fixes and add tracking
* Add debounce
* Fix lint error
* Allow custom min filter amount and fix menu not showing after escaping input
* Allow single item to be cleared out of select control
* Fix bug where typed values did not show up
* Fix some styling issues
* Allow parents to be individually selected
* Address PR feedback and add error message
* Add changelogs
* Fix saving issue
* Add client side sorting and stop clearing field upon selection
* Update changelog
* Create feature flag for async product categories dropdown
* Fix lint errors
* Fix linting
Switches hardcoded notices over to the correct functions and makes it possible to modify the notices via template overrides. Additionally, a small modification to `wp_print_notice` was added so that the notice could be returned as a string instead of rendered. This makes it more flexible.
Since the template path is tokenized, it's possible that in different
testing environments the contents of the cache will be different
than the template file path on the filesystem. We can make sure
they are the same by untokenizing the cached path before the
assertion.
* Setting up the Fees & dimensions section
* Create product shipping fee block
* Register product shipping fee block
* Add changelog files
* Fix php linter errors
* Add reusable radio field and move the radio block to the blocks folder
* Remove manually set block className because is autogenerated base on the block name
Instead of strictly using `example.org` in our tests that include the
site URL, we should be using the `WP_TESTS_DOMAIN` constant.
This allows the domain to change without breaking the tests, such
as when using something like `wp-env`.
* Move ShippingDimensionsImage component to @woocommerce/product-editor package
* Create woocommerce/product-shipping-dimensions-fields block
* Register woocommerce/product-shipping-dimensions-fields block
* Add changelog files
* Fix php linter error
* Change unused attr name to __contentEditable to better indicate the porpose
* Remove manually set block className because is autogenerated base on the block name
* Add min_php_version for google and pinterest extensions
* Hide extensions that do not meet the min php version requirement.
* Add min_wp_version
* Add changelog
* Revert code style
* Compare PHP and WP version only when is_visible is already true
* Fix style - use yoda
* Added wp-cli.yml to test environment
* Run docker compose directly and fix permission
Running docker-compose directly circumvents the permission issues that arise occur when we try to specify a WP version for wp-env.
This commit also normalizes the permission for wp-config.php file which allows wp-cli to properly update the url structure of the site
* Added changelog
* Normalized wp-env wp-content permissions
* Added script to support setting WP Version
* Added support for setting WC & PHP versions
* Fixed phpversion update
* Fixed WooCommerce update
* Used user
* Updated changelog
* Told PHPCS to ignore file
* Added support for WP trunk
* Added support for nightly versions fo WP
* Fixed bug
* Updated docs
* Updated task progress header title
## Issue
Special characters in site titles would not render as readable text in the mentioned title.
## Summary
Updated task progress header title to support special characters using the dangerouslySetInnerHTML function was a ready solution used throughout the application, so it makes sense to apply it here as well.
* Import sanitizeHTML
* Add changelog
* Tweak changelog
---------
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* move e2e test event listener for handling the link_all_variations confirmation dialog
* A couple of additional test enhancements
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: Jonathan Lane <lanej0@users.noreply.github.com>
Brings the CRUD layer's meta data handling closer to parity with
WP by allowing for selectively deleting meta entries with a specific
key only if they contain a specific value.
Fixes#37650
* Add min_php_version for google and pinterest extensions
* Hide extensions that do not meet the min php version requirement.
* Add min_wp_version
* Add changelog
* Revert code style
* Create schedule sale pricing block
* Add auto show/hide and clean fields depending on the initial values
* Add validations to From and To dates fields
* Add changelog files
* Align block with the figma design
* Revert linter replacement in the editor global style.scss file
* Fix some words typos
* Move and rename schedule sale block to the blocks folder
* Load datetime format from @wordpress/date instead of using the woo options datastore
* Remove the min difference using by moment to compare dates from 'minute' to undefined
* Make sure the dates are normalized for comparison
* Add different confirmation message when attribute is used in a variation
* Update logic to only consider checkbox checked value when prompting message
Adds methods to determine the names of the database tables currently
being used for orders and order meta, without needing to make a separate
check first to see if HPOS is enabled and in use.
* Move product block editor to new feature name
* Register all blocks and block assets server-side
* Add changelog entry
* Disable phpcs rule for file_get_contents
Some order can have order key set to empty string. This commit disallows fetching those orders via key at DB level (its already disallowed from interface).
* Modify tipTip to allow showing dynamic content
* Show tooltip when button is disabled
* Add tipTip and disabled logic to create variations button
* Add header comment in tipTip plugin
* Add product radio block
* Wrap tax class radio in collapsible block
* Add link to description and sanitize HTML
* Add changelog entry
* Fix up php lint errors
* Add changelog entry
* Fix linting errors
* Remove unused import
* Add preview button to the product editor header
* Publish the product on add or on save
* Add save draft button
* Save product changes before previewing it
* Add notice messages
* Fix linter errors
* Force the store page to be openned in a new tab after publishing the product
* Enable publish button when the status is not publish
* Add changelog files
* Fix some comment typos
* Address comment suggestions
* Move preview logic to its own component
* Move save draft logic to its own component
* Move publish logic to its own component
* Add editorStyle properties to blocks
* Rename style.scss files to editor.scss
* Get block entry points for block related assets
* Copy block assets to core assets build folder
* Remove unusable dependency
* Add changelog entries
* Fix up RTL style builds for block assets
* Update copy-webpack-plugin dependency and lock file
* Fix up lock file after rebase
* Fix order of webpack rtl stylesheet builds to prevent additional stylsheets
* Fix up lock file after rebase
* Fix tsconfig
* Add images block to the product editor
* Allow html in section block descriptions
* Add changelog entry
* Add client changelog entry
* Remove SVG related changes
* Fix up lock file after rebase
* Remove unused import
* Fix up php lint errors
* Move sanitize function to utils folder
* Remove the MCM feature flag on update to WooCommerce 7.7
This feature flag is no longer needed because the new marketing page will be the default on version 7.7 (pe2C5g-Ft-p2#comment-582).
* Remove the marketing overview welcome option
* fixed bug where adjust_download_permissions was being scheduled on variable products without downloadable variations
* check if is null per code review comment and issue 35918 on GitHub
* clean up changelog file
* Trigger checks
* Fix DownloadPermissionsAdjuster tests
---------
Co-authored-by: smallfishes <mike@smallfishanalytics.com>
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
Elsewhere, in relation to payment gateway titles, we use the HtmlSanitizer utility to remove dangerous HTML but allow a safe subset. We should also apply that here, for consistency.
* Show variable product tour
* Only show tour when product type is changed to variable
* Only show tour if it hasn't been shown before
* Add variable_product_tour_shown to UserPreferences type
* Store whether tour has been shown in user preferences
* Record Tracks events
* Add docblock for woocommerce_admin_get_user_data_fields filter
* Add test for tour
* Update package.json and lock file
* Move ProductMVPFeedbackModal to @woocommerce/product-editor
* Move ProductMVPFeedbackModalContainer to @woocommerce/product-editor
* Move ProductMVPCESFooter and useProductMVPCESFooter to @woocommerce/product-editor
* FIx mock of __experimentalUseProductMVPCESFooter in test
* HTML for new empty state
* Go to attributes tab when clicking on link in message
* Handle case where local attributes exist but are not used for variations
* Make sure the click handler is re-hooked up when attributes are added