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>
* Handle store patterns update API request properly
* Full redirect to Assembler hub after ai loading
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Escape the default "Thank you" text instead of the filtered message
Closes: #40329 and #40352
* Update plugins/woocommerce/templates/checkout/order-received.php
Co-authored-by: Leif Singer <github.2017@singer.sh>
* Bump template version to 8.3.0
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: Leif Singer <github.2017@singer.sh>
Co-authored-by: github-actions <github-actions@github.com>
* Moved homepage templates, added header and footer to homepage templates, revamped templates to use metadata.
removed header and footer completion calls
* Lint
* Slight adjustment to completion prompt and changelog
* Lint
* Use header and footer in 'Change your homepage'
* Add test
* Lint
* Add back homepage templates exclusion header and footer for assembler use
* Add test for useHomeTemplates
* Lint
When tab is changed, `@woocommerce/navigation` package resets
the `term` query parameter. So `query.term` becomes undefined.
Adding the else block allows us to catch that case and then
we can reset the search input.
* Optimize crud totalCount queries to avoid two requests
* Make use of same request params for totalCount as getVariations
* Add support for default_values when generating product variations
* Add test for default_values
* Add changelogs
* Only use default values of first variation
* Address some PR feedback
* Update types
* Consider setup task hidden when activeSetupList is null
* Render ActivityPanel when the setup tasklist is hidden only
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Persist AI assembled site
* Update color options
* Invalid the selectors
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix lint
* Update colorPaletteName
* Fix tests
* [Customize Your Store] Call wc store patterns API (#40297)
* Call /wc/store/v1/patterns endpoint to populate pattern contents/images
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
* Implement back to home buttons
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add cys ai header suggestion
* Add cys ai footer suggestion
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix types
---------
Co-authored-by: github-actions <github-actions@github.com>
* Use all 6 homepage templates
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update appearance task to choose a WP theme
* Add changelog
* Update redirect URL
Redirects to the main theme screen.
* Update plugins/woocommerce/src/Admin/Features/OnboardingTasks/Tasks/Appearance.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Wrap URL in getAdminLink
* Update position of task
* Change title
* Change redirect URL to be the site editor
* Revert to original task name
* Use inherited is_complete function
* Use PHP-based action tracking
* Fix lint issue
---------
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Tweak a few comments related to address type
* tweak more address type comments
* grammar nitpick
* still more address type tweaks
* appease the linter
* Update plugins/woocommerce/includes/wc-template-functions.php
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
---------
Co-authored-by: Corey McKrill <916023+coreymckrill@users.noreply.github.com>
* Direct user to the assembler hub automatically after saving
* Unset active state on color palette when user changes colors
* Add changefile(s) from automation for the following project(s): woocommerce
* Remove unneed styles
* Fix color variation logic
---------
Co-authored-by: github-actions <github-actions@github.com>
* Redirect to product editing page when product was still in auto draft
* Make sure the prevent page does not show up when creating variations
* Add changelog and fix tests
* Redirect to Jetpack connect when jetpack-boost is selected
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Remove core-profiler check
* Fix broken test
* Skip onboarding wizard tests
* Add changefile(s) from automation for the following project(s): woocommerce
* Change to trigger GH jobs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
When an order is open in admin and changes are made to custom field
keys or values, or values are added in "Add New Custom Field",
and "Update" in the order is clicked (without having clicked "Update"
in the modified fields or "Add Custom Field"), the field changes
should be applied to the order anyway. That was happening when
the posts table is authoritative but not when the orders table is.
* Mark CYS task completed when clicking done button
* Mark CYS task completed after switching theme
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update wording on Marketplace footer
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
- Allow overriding of precision in `OrdersTableQuery::date_to_date_query_arg()
- Shorthand date queries should either date-only or timestamp
- Properly convert shorthand date queries from local to UTC for querying
- Add utility function to convert local-time args to UTC
- Simplify date args processing
- Drop no longer necessary params from date_to_date_query_arg()
- Dates in orders list table filter should be local time
* Add tracks to assembler-hub and hide add pages menu
* Add changefile(s) from automation for the following project(s): woocommerce
* Track sidebar menu item click event
* Update tour tracks
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: Add the right URL parameters to product URLs
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: raicem <unalancem@gmail.com>
Co-authored-by: github-actions <github-actions@github.com>
* Move the header data to the body as the header prop does not exist anymore
* Remove explicit setting of __unstableResolvedAssets given get_block_editor_settings already does this
* Remove use of woocommerce-page class in admin to avoid theme conflicts
* Add changelogs
* Revert change for quick test
* Two additional tweaks for admin related styling
* Do not send user meta data back in `woocommerce_get_customer_details`
* Add changefile(s) from automation for the following project(s): woocommerce
* Update plugins/woocommerce/changelog/fix-meta-data-customer-details
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix: cached refund was not deleted when refund was deleted.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add new e2e test to cover my account downloads
* Include file name in the test
* Add missing changelog
* Update test to look for proper file name
* Exclude COD option and include order status
* Improve existing E2E test to look for more details
* Update test to include proper selectors
* Update selectors to match site data
* Add changelog
* Include data before all and delete after all
* Move data creation deeper inside test and wait for element visible
* Add cys AI wizard tracks
* Add changefile(s) from automation for the following project(s): woocommerce
* Revert ai API track name change
* Track AI API request network error
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add CYS transitional screen
* Add changefile(s) from automation for the following project(s): woocommerce
* Add tests
* Update preview loading style and add requeue param
* Fix visible logic
* Fix img size
* Update comments
* Fix lint
* Pre-fetch image and wait a 5s before redirecting to transitional page after clicking on done button
* Remove unneed overflow
* Move pre-fetch logic to xstate and use spinner for button loading state
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add 'dialogNameHelpText' attribute to show on create taxonomy dialog
* Tweak CSS margins
* Add changelogs
* Rename "Save" to "Create" and set cancel button to Tertiary
* Add gray color to (optional)
* Create attribute to personalize label for parent
* Update store currency when location changes
* Remove incorrect import
* Add changefile(s) from automation for the following project(s): woocommerce
* Add space to trigger GH jobs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Allow changelog in build zip
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Marketplace: remove orphaned components
* Marketplace: add country to search query
* Add changefile(s) from automation for the following project(s): woocommerce
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Cem Ünalan <raicem@users.noreply.github.com>
* Use HTTP request to track in cron jobs (action scheduler jobs)
* Pass complete data to logger
* Track coreprofiler_store_extensions_installed_and_activated when plugin installation is complete
* Add changelog
* Update plugins/woocommerce/src/Admin/PluginsInstallLoggers/AsyncPluginsInstallLogger.php
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
* Include start_time in completion data
* Update plugins/woocommerce/includes/tracks/class-wc-tracks-event.php
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Fix variable naming convention
---------
Co-authored-by: Ilyas Foo <foo.ilyas@gmail.com>
Co-authored-by: Barry Hughes <3594411+barryhughes@users.noreply.github.com>
* Accept arguments for the TinyContent getContent method.
Used to fetch the plain text version of the description.
* Add a class to the loading message content
* Set the max description length as global constant
* Create a MagicButton component and use it
* Get plain text description instead of HTML
* Return full category hierarchy (Parent > Child)
* Add method to return all available categories on the product edit page
* Helper function to generate product data instructions for the prompt
* Helper function to select category checkboxes on DOM
* Create component to display a list of suggestion items as pills
* Add product category suggestions to product edit page
* Use the AI package to get text completion
* Add tracks
* Add changelog
* Fix merge conflict
* Remove NoMatch state for category suggestions
* Get available categories using WC REST API
* Suggest new categories
* Run separate prompts for existing and new category generation
* Fix overflow in suggestion pills
* Don't include existing selected categories in prompt
* Add util to encode html entities
* Exclude "Uncategorized" category from product data
* Allow excluding properties from the product data instructions
* Create category from suggestion if it doesn't exist
* Show suggestions as links instead of pills
* Ask for feedback after suggestion selected
* Decode html entities in available categories results
* Don't encode html entities when comparing available categories
* Change feedback box style
* Suggest only one category
* Remove log
* Show feedback box after generating suggestions
Instead of showing it after a suggestion is selected
* Fix typo
* add: url navigation to cys
* bugfix for url not updating
* url handling for design-with-ai
* fixed url syncing so that it's working with @woocommerce/navigation
* changed useLocation to useQuery in assembler-hub save-hub
* Record plugin api and install failures to coreprofiler_install_plugin_error track
* Add changefile(s) from automation for the following project(s): woocommerce
* Change to trigger GH jobs
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update help menu themes link
Update plugins/woocommerce/includes/admin/class-wc-admin-help.php
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
* Fix __experimentalReapplyBlockTypeFilters is not a function
* Add changefile(s) from automation for the following project(s): woocommerce
Update changelog
---------
Co-authored-by: github-actions <github-actions@github.com>
* Fix wp-router dependencies issue
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix customize your store task header button (#40033)
* Fix customize your store task header button
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
---------
Co-authored-by: github-actions <github-actions@github.com>
Checks ran after closing and opening the PR. One failed but it passed after re-run. Checked and appeard the old anchors were not used in other places so merging this one - thanks!
* Custom WooPayments task header content
when action incentive is available.
* Add badge prop to experimental TaskItem component
, update task list components, docs, storybook, and tests
* Add badge property to OnboardingTasks/Task abstract class
* Add `woocommerce_admin_woopayments_onboarding_task_badge` filter
* Use the filter to display the badge from server
* Add changelog entries
* Update filter to use return existing badge
instead of an empty string
* Update task header to also check for the incentive in wcpaySettings
* add: made look and tone ai completion api call more robust
- added tracks and tests for invalid ai response
* removed some redundant stuff
* parameterised prompt for safety
* minor fixes
* Add ProgressBar component to @woocommerce/components
* Add changelog
* Remove html.wp-toolbar in fullscreen mode
* Add base style
* Add Tell us a bit more about your business page
* Fix merge conflict issues
* Send BUSINESS_INFO_DESCRIPTION_COMPLETE event when continue button is clicked
* Remove duplicated style import
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
* Lint fix
* Add 'Look and Feel' and 'Tone of voice' pages';
* Use correct classname
* Minor changes
* Textearea color should be gray-900 after the user enter text
* guide font weight should be 500
* Fix layout shift when a choice is selected
* Fix choices width for tone of voice page
* Use context value for the default
* Revert button margin top
* Fix default selection
* Add X button
* Decrease the margin by 20px to accommodate the height of the close button
* Add close action
* Include @woocommerce/ai package
* Add AI service
* Use AI service
* Parse JSON from in function
* Fix assignLookAndTone event type
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/components/choice/choice.scss
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Update plugins/woocommerce-admin/client/customize-store/design-with-ai/services.ts
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
* Log when AI API endpoint request fails
* Add spinner when user clicks the continue button
* streamlined unnecessary isRequesting context and forwarded close event
* pnpm-lock changes from trunk
* lint fixes
* ai package test passWithNoTests
* changelog
* reset pnpm-lock to trunk
* Dev: update pnpm-lock.yaml and jest preset config (#40045)
* Update pnpm-lock.yaml
* Update jest-preset config to fix unexpected token error
---------
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: Chi-Hsuan Huang <chihsuan.tw@gmail.com>
Co-authored-by: rjchow <me@rjchow.com>
This is necessary because the layout of WooCommerce > Extensions pages adjusts the page height (to compensate for the larger header). On systems with scrollbars set to always-visible, this results in a ~1px overflow of the inner content and double-scrollbars are visible. This CSS mitigates that.
WooCommerce store alerts shown on the Marketplace page are mis-aligned on account of the CSS that applies to the Marketplace. This change re-positions them and, as a bonus, aligns their left and right edges with the rest of the page content, improving the design.
* Update tour-kit to have a optional skip button and custom secondary button label
* Add changelog
* Add onboarding tour
* Update layout and resiable-frame for onboarding tour
* Update onboarding tour style
* Update resizable handler
* Add changefile(s) from automation for the following project(s): @woocommerce/components, woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* tweak the wording for HPOS in Settings / Features / Advanced
* order features in Advanced Settings and move HPOS to the top
* emphasize the need to sync
* add a row_class attribute to settings fields
* fix padding between HPOS settings belonging together
* add changelog file
* update wording in a test
* Update plugins/woocommerce/src/Internal/DataStores/Orders/CustomOrdersTableController.php
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* Update plugins/woocommerce/src/Internal/DataStores/Orders/CustomOrdersTableController.php
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
* simplify the ordering callback -- props to @jorgeatorres! ☺️
* more consistent phrasing
---------
Co-authored-by: Jorge A. Torres <jorge.torres@automattic.com>
The external @wordpress/router package is not available in these versions, so we need to bundle it with the plugin. This is a temporary fix until we can drop support for WP 6.2 and below.
* dev: added docs for core profiler
* lint
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Update api core tests readme
The example .env provided in the API Core tests readme is obsolete. It needs to reference API_BASE_URL instead of BASE_URL due to recent changes.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Add product_options_add tracking event to add variation options
* Add product_options_edit tracking event to variation options
* Add product_options_update tracking event to variation options
* Fix set default attribute when editing it
* Add changelog file
* Add product_options_add_button_click tracking event
* Get attribute options from the terms prop instead of options, this ensures to get the updated values when the user edits the options
* Add Variation options section back
* Add changelog file
* Test for WooPayments active first since it is less expensive
* Guardrails to avoid double menu badge
* Avoid fetching incentives when no dimissals
* Fix handling of incentives API error and caching
* Prevent incentives fetching if were fetched less than an hour ago
* Add changelog entry
* Remove the 1-hour threshold cache validation
* Cache if the store ever used WooPayments
* More inline docs
* Optimize customize store preview frame resize performance
* Add changefile(s) from automation for the following project(s): woocommerce
* Set isOversized to false to fix frame oversize issue
---------
Co-authored-by: github-actions <github-actions@github.com>
Do not remove "sale date from" when the sale is still active, as in some legislations it's mandatory to show the start and end date of sales, and developers can get it from this field.
Closes#34696
* Update PageController.php to prevent PHP warning when menu items have no position set
Update PageController.php to prevent PHP warning when menu items have no position set. This can occur when a user has permission to view WordPress admin pages but does not have permission to administer WooCommerce.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Make sure alert.id and action.id are defined
* Copy id from db to action
* Add changelog
* Add error message when something goes wrong while triggering note action
* Rename changelog
* Add @wordpress dependencies for customize store task
* Update webpack config to bundle wp edit-site package instead of using external
* Add customize-store task list item fill
* Update CustomizeStore task to load editor scripts and settings
* Update customize store routing path
Use /* since we want to match any path that starts with customize-store
* Add assembler-hub
* Ignore some wp packages from syncpack for customize store assembler hub
We need to use specific versions of these packages for the customize store
"@wordpress/interface", "@wordpress/router", "@wordpress/edit-site"
* Add changefile(s) from automation for the following project(s): woocommerce
* Tweak style
* Use CustomizeStoreContext and send xstate event
* Update assembler-hub style
* Fix nav width
---------
Co-authored-by: github-actions <github-actions@github.com>
- `ProductListContextProvider` provides `setIsLoading` function as well as `isLoading`.
- `Discover` uses these values from context, instead of keeping a loading state in itself.
- `FeedbackModal` calls `maybSetTimeout` when `isLoading` changes. If `isLoading` isn't truthy, and snackbar hasn't already rendered, it sets a timeout of 5 seconds to show it.
- Removed wrapping <WooFooterItem> from around Footer component, so it's no longer a child of the WooCommerce Admin `.woocommerce-layout__footer` footer.
- Removed the `position: relative` from `.woocommerce-layout__footer`. It needs to be `position: fixed`.
- Added FooterContent component to Footer, to allow the layout we want.
- Changed use of context. This now only has states for the selected tab and loading state.
- We use this context in `Tabs` and `Content` to keep track of which tab is selected, and set the selected tab.
- We also use it in `Discover` and `Extensions`, which both report loading state to the context. This allows us to use it to only render the snackbar when loading is complete.
- Extensions: moved `productList` and `setProductList` and logic for getting product list from the context provider to a state in this component. We don't need to share the list of products in the context.
- Renamed `ProductListContext`, `ProductListContextProvider` and `productListContextValue` to more generic `MarketplaceContext`, `MarketplaceContextProvider` and `marketplaceContextValue`.
- Renamed a constant and created constants for API paths.
- Only shows snackbar after content has loaded, and after a timeout. We set a date `marketplace_redesign_2023_last_shown_date` in local storage to ensure we only show one snackbar.
### Changes:
- [ ] Remove the "Venezuelan bolívar" currency (VEF)
- [ ] Remove the "Bs F" symbol (VEF)
- [ ] Update the "Bolívar soberano" currency to "Venezuelan bolívar" (VES)
- [ ] Update the "Bs.S" symbol to "Bs." (VES)
### Justification:
The official name of Venezuela's currency is Bolivar (Bs.). However, as we have had a couple of reconversions in recent years, temporary epithets have been used to distinguish the different monetary cones with a practical sense in the transition period. This is the reason why Bolivar Fuerte (Bs.F) and Bolivar Soberano (Bs.S) was used.
However, the Bolívar Fuerte (monetary cone) went out of circulation on December 3, 2018 and the Bolívar Soberano (monetary cone) started to be called only Bolívar (Bs.) since February 2019, after a reasonable period of time had passed for the population to get used to the change of monetary cone.
This came into effect with Resolution No. 19-02-01 published on February 14, 2019 by the Central Bank of Venezuela (BCV, Banco Central de Venezuela), where it can be read:
[...] _as of the effective date of this Resolution, the price of goods and services and other monetary amounts shall be expressed only in the monetary scale in effect as of August 20, 2018, making mention of "bolívares" or the symbol "Bs."_
### References:
Resolución N° 19-02-01 del Banco Central de Venezuela (February 14, 2019)
http://www.bcv.org.ve/system/files/documentos_juridicos/resolucion_cese_doble_expresion_precios_bienes_y_servicios_definitiva.pdf
* Initial set up and migration for the BlockTemplate
* Migrate remaining fields to the new SimpleProductTemplate
* Remove re-usable functions and clean up
* Add interfaces
* Add changelogs
* Remove unused id from block attributes
* Update changelog
* Address refactor suggestions
* Fix lint errors
* Add tests
* Address PR feedback
* Extend from BlockContainerInterface instead of BlockInterface
* Temporary solution to avoid extra queries
after dismissing an incentive. We will prevent doing anything else, including order queries, if there is a dismissed incentive.
---------
Co-authored-by: github-actions <github-actions@github.com>
* Save changes
* Remove restriction from the variations dropdown to let users create multiple attributes with the same name
* Add support for autogenerate slug in the create attribute endpoint
* Add a tooltip to specify the slug of the attribute when there are more than one listed in the dropdown list
* Add changelog files
* Revert filtering to the prev implementation
* Add review suggestions
* Add return description to the generate_unique_slug function description
- In the status report (server PHP version display)
- In the abstract CSV exporter (fputcsv function)
- In the legacy REST API controllers (get_raw_data function)
- In the wc_setcookie function
- In the wc_round_tax_total function
Also remove the infrastructure for WP and PHP minimum requirement notices
* Update Yoast PHPUnit Polyfill to 2.0
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
-Change "Requires PHP":
- In woocommerce.php
- In readme.txt
- In plugins/woocommerce-docs/woocommerce-docs.php
- In packages/js/create-product-editor-block/plugin-templates/$slug.php.mustache
- Change "testVersion" in phpcs.xml:
- In the root of the repository
- In plugins/woocommerce
- In plugins/woocommerce-beta-tester
- Change "require-php" and "config-platform-php" in composer.json
- Update composer.lock with more modern versions of some of the dependencies
- Remove the admin notice about the upcoming bump for PHP 7.3 users in class-wc-admin-notices.php
* Update Jetpack label and description
* Replace Jetpack with Jetpack Boost for treatment group
* Add changelog
* Append plugin_name param to Jetpack Connection page URL
* Use the correct experiment name
* Add id, description, title, and area to block template methods
* Add block template registry and controller
* Remove errant die
* Add new template properties to existing test templates
* Add new template method tests to custom block template tests
* Add template registry tests
* Add template controller tests
* Add tests around template transformer
* Use template instance for registration
* Add changelog entry
* Fix tests for block controller not be initialized by container
* Remove is_connected condition from can_view
To display WooPayments task as completed if applicable rather than an uncompleted payments task.
* Add changelog entry
* Fix failing disable test
* Add changefile(s) from automation for the following project(s): woocommerce
* Fix daily failing
---------
Co-authored-by: Jon Lane <jon.lane@automattic.com>
Co-authored-by: github-actions <github-actions@github.com>
We were hitting the WCCOM API directly from the front end. However,
that limits of in terms of caching and reducing the load on WCCOM.
To prevent that, we added a REST API endpoint. This endpoint
fetches discover page content from WCCOM and puts in a transient.
This is actually how the page works in the previous version. So
we were able to reuse a lot of the code.
- Removed duplicate `Search` styles from `header.scss`.
- Removed 10px top padding from `Header`. Applied it to title, meta and search containers instead.
- Deleted duplicate search button style from `header.scss`.
- Swapped round order of search component and header meta div so tab navigation order is correct.
- Added focus style to search component.
- Reduced footer side padding on mobile.
- Changed `.woocommerce-marketplace__header-title` page title to an h1 for accessibility.
- Removed top margin from product cards – the css grid handles the gap.
- Removed margin from `.woocommerce-marketplace__product-card__description`.
- Reduced font weight of price in product cards.
- Set margin below product list header.
- Removed right margin from tab buttons – css grid handles the gap.
- Increased top padding of `.woocommerce-marketplace__content`.
Addressing linter error.
To ensure they have an implementation of the get_order_key function.
Visits to the order_received page with the id of a refund result in a fatal error.
As an alternative to #39406, this tries to solve the same issue in a
simpler way: break the "thank you" message out into its own small
template file and just include it in more places, so that no matter
the context, the order confirmation screen will always say thank you,
acknowledging that the order data has been received.
* Update beta tester build step
* Add changefile(s) from automation for the following project(s): woocommerce-beta-tester
---------
Co-authored-by: github-actions <github-actions@github.com>
* Store transactional meta in HPOS tables.
* Add transaction to the list of legacy meta, since we have getters for it, but its not stored in custom table.
* Add unit test.
* Unit test fixups + mark payment tokens as non internal for datastore.
* Use correct filename for HPOS.
* Mark payment_tokens as internal and update getter/setters accordingly.
* Fix indentation.
* Address PR review feedback.
* Revert behaviour of code that was using nullish coalescing operator.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Auto create variations and move product to variable when adding variation options
* Delete unused components
* Add tour to variation options
* Remove unneeded options
* Add changelog
* Fix types
* Fix lint errors
* Fix broken tests
* FIlter out option tags when not included in attributes
* Don't invalidate variations data when no new variations are created
* WC_REST_Telemetry_Controller: add `first_used` and `installation_date` meta fields for WCTracker.
* Add `installation_date` parameter to the endpoint parameter collection.
* Update implementation with unit tests.
* Update comments in the test class.
* Auto fixes from phpcbf.
* Attempt fixing lint errors in the tests.
* Set the installation date with the same date format as the pre-existing `last_used`.
* Add changelog.
* Fix an issue where the lack of installation date in the request still sets the field to the current date.
* Attempt fixing lint errors with phpcbf.
* Initial BlockTemplate implementation
* Initial BlockTemplate tests
* FIx undefined array key errors
* Fix linter errors (except for missing docs ones)
* Get as simple array
* Unit test updates for get_as_simple_array()
* Remove inner content (not used currently)
* Rename attrs to attributes
* Move name out of data array
* Move id out of data array
* Move order out of data array
* Move attributes out of data array; remove data array
* Add doc comments to Block
* Add doc comments to BlockTemplate
* Add doc comments to BlockContainerInterface and BlockContainerTrait
* Doc comment updates.
* Add doc comments to BlockTest
* Add doc comments to BlockTemplateTest
* Add BlockInterface
* Remove key consts from Block
* Move implementations to internal
* Clean up interfaces
* Do not have BlockInterface extend BlockContainerInterface
* FIx case in namespace declaration
* Add exceptions to add_block doc
* Rename BlockTemplate to BlockBasedTemplate
* Rename block-based template vars in tests
* Fix missing get_parent on block containers
* Changelog
* Add get_block_by_id to BlockBasedTemplateInterface
* Rename get_block_by_id to get_block
* Rename get_as_simple_array to get_as_formatted_template
* Rename child blocks to inner blocks
* Rename BlockBasedTemplate to BlockTemplate
* Move validation to separate method
* Move namespace to be non-product editor specific
* Rename get_as_formatted_ methods to get_formatted_
* Rename BlockBasedTemplateTest to BlockTemplateTest
* Add ability to use a custom block generator with add_block
* Add check that block belongs to root template in internal_add_block_to_template
* Fix up code docs related to $block_creator
* Fix code doc linting errors in tests
* Add test for a buggy block creator implementation
* Add test for an invalid block creator
* Rename internal_add_block_to_template to cache_block
* Add add_block_container() method
* Fix linting issue.
* Fix minor issues in ContainerInterface with get_root_template() and get_parent()
* Add block template with abstract blocks and templates (#39630)
* Make block template abstract and protected add block methods
* Create block abstraction and generic block
* Remove add_block from container interface
* Update tests for generic and custom blocks
* Add tests around custom block templates
* Fix up lint errors
* Fix errant comment for add_block
---------
Co-authored-by: Joshua T Flowers <joshuatf@gmail.com>
* Tour: reconfigure to work with new layout
- Started Reconfiguring the existing tour to work with the new layout and components.
- Updated step content based on design
- Implemented PR feedback
- Removed task list for MVP
# Conflicts:
# plugins/woocommerce-admin/client/marketplace/components/tabs/tabs.tsx
* Create and register product-variation-items-field block
* Create variations-table component
* Use variations-table component in variation-items block
* Remove last border bottom from the variation options list
* Add changelog file
* Add changelog file
* Autoload test helpers and exclude from test suites.
This avoids loading order problems, and eliminates warnings (about HposTestCase) not containing any tests.
* Add changefile(s) from automation for the following project(s): woocommerce
---------
Co-authored-by: github-actions <github-actions@github.com>
* Compare props to set changed array between post and order data.
* Use correct classname so that props can be set.
* Also clear cache after update and before backfill.
User Menu: Create component and add to header
- Create initial component design
- We may need to return to implement the helper connection URLs once those are in place.
- Some PHPCS errors still exist - this is to be expected for now.
# Conflicts:
# plugins/woocommerce-admin/client/marketplace/stylesheets/_variables.scss
Co-authored-by: And Finally <andfinally@users.noreply.github.com>
Co-authored-by: raicem <unalancem@gmail.com>
- Changed classNames in `Search` component.
- Moved styles from `header.scss` to `search.scss`.
- Deleted `HeaderSearch` and `HeaderSearchButton` components, no longer needed.
- Removed wrapper element around search form.
- Corrected marketplace API address in `Search` component.
- Using state to remember search term, instead of getting value of search input.
- Added condition to clear search input if Escape is pressed while it's focused.
- Not running search if search term is falsy.
- Changed label of "Extensions" tab to "Browse" – we'll do this for the moment, as we have repetition with the page title `Extensions`.
- Reset layout to allow full width
- Added Footer & IconWithText components
Add temporary placeholder components
All components here are temporary and can be removed/replaced when their relevant PR is ready.
Add marketplace footer component
The component is added using a SlotFill to use the existing WC Admin footer and utilise full width correctly.
Setup initial content area layout
Update tab styles
Setup styling to match latest design
Finalise footer, wide layout, and tidy styles
- Applies the wide layout from latest MVP design
- Applies the correct footer links to titles
- Some general style tidying
Organise styles and setup variables
Swap to using CSS Grid for layouts
Update breakpoints
Restructure style naming and update to core styles
Add translation in some places
In-app marketplace search component. Cleaned up the commit history of this branch. Copied changes from these commits:
e9828422706176817e511778980005222aa36cc5
9ca2ae351c97fcd27ecd77a1464c2a9ca16de040
e47815705f3854bf50ff48d7975b7cf2f541614b
976811c458e67ae7fa107c8bf8554fdc3e809d85
46eafdf49fe39c12dee77d6ce0885bdeda527dea
Deleted unused import.