-
Notifications
You must be signed in to change notification settings - Fork 221
Fix useForcedLayout
to re-select inner blocks after we manually insert one
#6676
Conversation
Size Change: +40 B (0%) Total Size: 872 kB
ℹ️ View Unchanged
|
Works as expected 👍🏼 |
@@ -41,6 +42,8 @@ export const useForcedLayout = ( { | |||
} ): void => { | |||
const currentRegisteredBlocks = useRef( registeredBlocks ); | |||
const currentDefaultTemplate = useRef( defaultTemplate ); | |||
const [ forcedBlocksInserted, setForcedBlocksInserted ] = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keeping a count of inserted blocks feels a bit hacky here but I'm struggling to understand what we're trying to solve, why do we need to refresh the selectors after each block insert?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because this line:
innerBlocks.find( |
innerBlocks
is still empty, despite it actually being updated in the previous run of this hook.
The alternative to tracking this number would be to remove the deps from the useSelect
.
The release ZIP for this PR is accessible via:
|
d7c6c93
to
6b83b36
Compare
Hey @opr - As discussed over Slack, Gift Cards is affected by this issue (uses Inner Blocks). I cannot reproduce this issue locally (8.3.2 - 8.7.0-dev trunk), but it's consistent on Atomic Sites
I tried with the dummy plugin you created for me, plus GC and Mailchimp - See screenshots This issue is blocking us from enabling Cart/Checkout blocks on Atomic sites - ecommerce plan |
Oh, and I wanted to mention, that on Atomic sites, when I uploaded the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's merge this and we can revisit if we think the code is giving up technical issues, no need to block this.
* Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (#6676)" (#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]>
* Empty commit for release pull request * Updated changelog. * Minor lint fix. * 8.7.0 Testing instructions * Updated and tidy docs/internal-developers/testing/releases/README.md * Add filter-link-button mixin (#7357) * Set default style to link-button mixin It was identified that we currently have 3 different behaviors for links used in the application. In issue #1778, it was discussed a set of good practices that we should follow in order to obtain consistency between links. Currently, the link-button mixin is already used by the 'Clear all' button in the Active Filters block, so the idea was to increment it with a common pattern (font size small, font-weight normal, underlined by default and not underlined when on hover) that can be reused by other components (for example FilterResetButton). * Change link-button mixin to make it attend the expected default style for links * Replace text-button with link-button mixin in FilterResetButton component * Add new mixin for links in filter blocks * Revert change to link-button mixin to prevent it to affect link buttons on Checkout page * Add filter-link-button mixin that can be used in filter blocks * Remove link-button styles that were moved to filter-link-button mixin By default, link-button mixin styles should have only styles from the text-button mixin and also be underlined. The styles for link button in filter blocks should reside in filter-link-button mixin. * Cherry picked Add filter-link-button mixin #7357 and updated testing instructions * Re-added #7273 to changelog * Correct block name and description (#7354) * Correct block name and description * remove duplicated description for controls blocks * remove duplicated title and desc * Revert "remove duplicated description for controls blocks" This reverts commit ed5417e. * removed #7338 from testing instructions and changelog * Updated testing zip package. * Minor formatting fix on the release instructions * change any to or below the express payment method on cart (#7369) * Updated zip. * Add temporary workaround to fix inserting Cart block in WordPress.com (#7367) * remove problematic actions as deps * add inline docs * add todo comment * Cherry picked: Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com (7367) * Updated testing zip. * Bumping version strings to new version. * Empty commit for release pull request * Release: 8.7.1 (#7371) * Empty commit for release pull request * Updated changelog. * Minor lint fix. * 8.7.0 Testing instructions * Updated and tidy docs/internal-developers/testing/releases/README.md * Add filter-link-button mixin (#7357) * Set default style to link-button mixin It was identified that we currently have 3 different behaviors for links used in the application. In issue #1778, it was discussed a set of good practices that we should follow in order to obtain consistency between links. Currently, the link-button mixin is already used by the 'Clear all' button in the Active Filters block, so the idea was to increment it with a common pattern (font size small, font-weight normal, underlined by default and not underlined when on hover) that can be reused by other components (for example FilterResetButton). * Change link-button mixin to make it attend the expected default style for links * Replace text-button with link-button mixin in FilterResetButton component * Add new mixin for links in filter blocks * Revert change to link-button mixin to prevent it to affect link buttons on Checkout page * Add filter-link-button mixin that can be used in filter blocks * Remove link-button styles that were moved to filter-link-button mixin By default, link-button mixin styles should have only styles from the text-button mixin and also be underlined. The styles for link button in filter blocks should reside in filter-link-button mixin. * Cherry picked Add filter-link-button mixin #7357 and updated testing instructions * Re-added #7273 to changelog * Correct block name and description (#7354) * Correct block name and description * remove duplicated description for controls blocks * remove duplicated title and desc * Revert "remove duplicated description for controls blocks" This reverts commit ed5417e. * removed #7338 from testing instructions and changelog * Updated testing zip package. * Minor formatting fix on the release instructions * change any to or below the express payment method on cart (#7369) * Updated zip. * Add temporary workaround to fix inserting Cart block in WordPress.com (#7367) * remove problematic actions as deps * add inline docs * add todo comment * Cherry picked: Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com (7367) * Updated testing zip. * Bumping version strings to new version. * Empty commit for release pull request Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alexandre Lara <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Seghir Nadir <[email protected]> * Release: 8.7.2 (#7396) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> * Release: 8.7.3 (#7439) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> * Release: 8.7.4 (#7449) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (#6676)" (#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> Co-authored-by: github-actions <[email protected]> Co-authored-by: Alexandre Lara <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Seghir Nadir <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]>
* Empty commit for release pull request * Updated changelog. * Minor lint fix. * 8.7.0 Testing instructions * Updated and tidy docs/internal-developers/testing/releases/README.md * Add filter-link-button mixin (#7357) * Set default style to link-button mixin It was identified that we currently have 3 different behaviors for links used in the application. In issue #1778, it was discussed a set of good practices that we should follow in order to obtain consistency between links. Currently, the link-button mixin is already used by the 'Clear all' button in the Active Filters block, so the idea was to increment it with a common pattern (font size small, font-weight normal, underlined by default and not underlined when on hover) that can be reused by other components (for example FilterResetButton). * Change link-button mixin to make it attend the expected default style for links * Replace text-button with link-button mixin in FilterResetButton component * Add new mixin for links in filter blocks * Revert change to link-button mixin to prevent it to affect link buttons on Checkout page * Add filter-link-button mixin that can be used in filter blocks * Remove link-button styles that were moved to filter-link-button mixin By default, link-button mixin styles should have only styles from the text-button mixin and also be underlined. The styles for link button in filter blocks should reside in filter-link-button mixin. * Cherry picked Add filter-link-button mixin #7357 and updated testing instructions * Re-added #7273 to changelog * Correct block name and description (#7354) * Correct block name and description * remove duplicated description for controls blocks * remove duplicated title and desc * Revert "remove duplicated description for controls blocks" This reverts commit ed5417e. * removed #7338 from testing instructions and changelog * Updated testing zip package. * Minor formatting fix on the release instructions * change any to or below the express payment method on cart (#7369) * Updated zip. * Add temporary workaround to fix inserting Cart block in WordPress.com (#7367) * remove problematic actions as deps * add inline docs * add todo comment * Cherry picked: Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com (7367) * Updated testing zip. * Bumping version strings to new version. * Empty commit for release pull request * Release: 8.7.1 (#7371) * Empty commit for release pull request * Updated changelog. * Minor lint fix. * 8.7.0 Testing instructions * Updated and tidy docs/internal-developers/testing/releases/README.md * Add filter-link-button mixin (#7357) * Set default style to link-button mixin It was identified that we currently have 3 different behaviors for links used in the application. In issue #1778, it was discussed a set of good practices that we should follow in order to obtain consistency between links. Currently, the link-button mixin is already used by the 'Clear all' button in the Active Filters block, so the idea was to increment it with a common pattern (font size small, font-weight normal, underlined by default and not underlined when on hover) that can be reused by other components (for example FilterResetButton). * Change link-button mixin to make it attend the expected default style for links * Replace text-button with link-button mixin in FilterResetButton component * Add new mixin for links in filter blocks * Revert change to link-button mixin to prevent it to affect link buttons on Checkout page * Add filter-link-button mixin that can be used in filter blocks * Remove link-button styles that were moved to filter-link-button mixin By default, link-button mixin styles should have only styles from the text-button mixin and also be underlined. The styles for link button in filter blocks should reside in filter-link-button mixin. * Cherry picked Add filter-link-button mixin #7357 and updated testing instructions * Re-added #7273 to changelog * Correct block name and description (#7354) * Correct block name and description * remove duplicated description for controls blocks * remove duplicated title and desc * Revert "remove duplicated description for controls blocks" This reverts commit ed5417e. * removed #7338 from testing instructions and changelog * Updated testing zip package. * Minor formatting fix on the release instructions * change any to or below the express payment method on cart (#7369) * Updated zip. * Add temporary workaround to fix inserting Cart block in WordPress.com (#7367) * remove problematic actions as deps * add inline docs * add todo comment * Cherry picked: Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com (7367) * Updated testing zip. * Bumping version strings to new version. * Empty commit for release pull request Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alexandre Lara <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Seghir Nadir <[email protected]> * Release: 8.7.2 (#7396) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> * Release: 8.7.3 (#7439) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> * Release: 8.7.4 (#7449) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (#6676)" (#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> Co-authored-by: github-actions <[email protected]> Co-authored-by: Alexandre Lara <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Seghir Nadir <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]>
* Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (#6676)" (#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. * add testing instructions * upload a new zip file * Update styles of the Filter by Attribute dropdown so it looks good in TT3 (#7506) * Use theme's body background color as the mini cart contents default background color (#7510) Co-authored-by: Albert Juhé Lluveras <[email protected]> * Price Slider: use `currentColor` for the slider (#7527) * Fixed Price Slider Issue Located where the price slider was hard coded and replaced it. * fix CSS lint * use currentColor instead of hard-coded color for the slider of the Filter By Price block #7130 use currentColor instead of hard-coded color for the slider of the Filte By Price block * use currentColor instead of hard-coded color for the slider of the Filter By Price block #7130 use currentColor instead of hard-coded color for the slider of the Filte By Price block * remove background-color Co-authored-by: EmptySet-Exe <[email protected]> Co-authored-by: Niels Lange <[email protected]> * Make price slider 'inactive' range half transparent so it looks better in dark themes (#7525) * Fix inconsistent button styling with TT3 (#7516) * fix inconsistent button styling with TT3 * use wc_wp_theme_get_element_class_name * add check to be sure that wc_wp_theme_get_element_class_name function exists * Fix Mini Cart Block global styles #7379 (#7515) * Fix Mini Cart Block global styles #7379 Fix Mini Cart Block global styles * add font_size * upload a new build Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> Co-authored-by: Luigi <[email protected]> Co-authored-by: Albert Juhé Lluveras <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: EmptySet-Exe <[email protected]>
…ert one (woocommerce#6676) * Track most recent inner blocks in useForcedLayout * Force useSelect to re-select when we know innerBlocks has changed * Rename mapSelect back to select * Add forcedBlocksInserted to callback deps
…ally insert one (woocommerce#6676)" (woocommerce#7447) This reverts commit 1564de2.
* Empty commit for release pull request * Updated changelog. * Minor lint fix. * 8.7.0 Testing instructions * Updated and tidy docs/internal-developers/testing/releases/README.md * Add filter-link-button mixin (woocommerce#7357) * Set default style to link-button mixin It was identified that we currently have 3 different behaviors for links used in the application. In issue woocommerce#1778, it was discussed a set of good practices that we should follow in order to obtain consistency between links. Currently, the link-button mixin is already used by the 'Clear all' button in the Active Filters block, so the idea was to increment it with a common pattern (font size small, font-weight normal, underlined by default and not underlined when on hover) that can be reused by other components (for example FilterResetButton). * Change link-button mixin to make it attend the expected default style for links * Replace text-button with link-button mixin in FilterResetButton component * Add new mixin for links in filter blocks * Revert change to link-button mixin to prevent it to affect link buttons on Checkout page * Add filter-link-button mixin that can be used in filter blocks * Remove link-button styles that were moved to filter-link-button mixin By default, link-button mixin styles should have only styles from the text-button mixin and also be underlined. The styles for link button in filter blocks should reside in filter-link-button mixin. * Cherry picked Add filter-link-button mixin woocommerce#7357 and updated testing instructions * Re-added woocommerce#7273 to changelog * Correct block name and description (woocommerce#7354) * Correct block name and description * remove duplicated description for controls blocks * remove duplicated title and desc * Revert "remove duplicated description for controls blocks" This reverts commit ed5417e. * removed woocommerce#7338 from testing instructions and changelog * Updated testing zip package. * Minor formatting fix on the release instructions * change any to or below the express payment method on cart (woocommerce#7369) * Updated zip. * Add temporary workaround to fix inserting Cart block in WordPress.com (woocommerce#7367) * remove problematic actions as deps * add inline docs * add todo comment * Cherry picked: Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com (7367) * Updated testing zip. * Bumping version strings to new version. * Empty commit for release pull request * Release: 8.7.1 (woocommerce#7371) * Empty commit for release pull request * Updated changelog. * Minor lint fix. * 8.7.0 Testing instructions * Updated and tidy docs/internal-developers/testing/releases/README.md * Add filter-link-button mixin (woocommerce#7357) * Set default style to link-button mixin It was identified that we currently have 3 different behaviors for links used in the application. In issue woocommerce#1778, it was discussed a set of good practices that we should follow in order to obtain consistency between links. Currently, the link-button mixin is already used by the 'Clear all' button in the Active Filters block, so the idea was to increment it with a common pattern (font size small, font-weight normal, underlined by default and not underlined when on hover) that can be reused by other components (for example FilterResetButton). * Change link-button mixin to make it attend the expected default style for links * Replace text-button with link-button mixin in FilterResetButton component * Add new mixin for links in filter blocks * Revert change to link-button mixin to prevent it to affect link buttons on Checkout page * Add filter-link-button mixin that can be used in filter blocks * Remove link-button styles that were moved to filter-link-button mixin By default, link-button mixin styles should have only styles from the text-button mixin and also be underlined. The styles for link button in filter blocks should reside in filter-link-button mixin. * Cherry picked Add filter-link-button mixin woocommerce#7357 and updated testing instructions * Re-added woocommerce#7273 to changelog * Correct block name and description (woocommerce#7354) * Correct block name and description * remove duplicated description for controls blocks * remove duplicated title and desc * Revert "remove duplicated description for controls blocks" This reverts commit ed5417e. * removed woocommerce#7338 from testing instructions and changelog * Updated testing zip package. * Minor formatting fix on the release instructions * change any to or below the express payment method on cart (woocommerce#7369) * Updated zip. * Add temporary workaround to fix inserting Cart block in WordPress.com (woocommerce#7367) * remove problematic actions as deps * add inline docs * add todo comment * Cherry picked: Fix a problem that causes an infinite loop when inserting Cart block in wordpress.com (7367) * Updated testing zip. * Bumping version strings to new version. * Empty commit for release pull request Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alexandre Lara <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Seghir Nadir <[email protected]> * Release: 8.7.2 (woocommerce#7396) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (woocommerce#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (woocommerce#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include woocommerce#7393 * Updated testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> * Release: 8.7.3 (woocommerce#7439) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (woocommerce#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (woocommerce#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include woocommerce#7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (woocommerce#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> * Release: 8.7.4 (woocommerce#7449) * Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (woocommerce#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (woocommerce#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include woocommerce#7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (woocommerce#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (woocommerce#6676)" (woocommerce#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> Co-authored-by: github-actions <[email protected]> Co-authored-by: Alexandre Lara <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Seghir Nadir <[email protected]> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]>
* Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (woocommerce#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (woocommerce#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include woocommerce#7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (woocommerce#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (woocommerce#6676)" (woocommerce#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. * add testing instructions * upload a new zip file * Update styles of the Filter by Attribute dropdown so it looks good in TT3 (woocommerce#7506) * Use theme's body background color as the mini cart contents default background color (woocommerce#7510) Co-authored-by: Albert Juhé Lluveras <[email protected]> * Price Slider: use `currentColor` for the slider (woocommerce#7527) * Fixed Price Slider Issue Located where the price slider was hard coded and replaced it. * fix CSS lint * use currentColor instead of hard-coded color for the slider of the Filter By Price block woocommerce#7130 use currentColor instead of hard-coded color for the slider of the Filte By Price block * use currentColor instead of hard-coded color for the slider of the Filter By Price block woocommerce#7130 use currentColor instead of hard-coded color for the slider of the Filte By Price block * remove background-color Co-authored-by: EmptySet-Exe <[email protected]> Co-authored-by: Niels Lange <[email protected]> * Make price slider 'inactive' range half transparent so it looks better in dark themes (woocommerce#7525) * Fix inconsistent button styling with TT3 (woocommerce#7516) * fix inconsistent button styling with TT3 * use wc_wp_theme_get_element_class_name * add check to be sure that wc_wp_theme_get_element_class_name function exists * Fix Mini Cart Block global styles woocommerce#7379 (woocommerce#7515) * Fix Mini Cart Block global styles woocommerce#7379 Fix Mini Cart Block global styles * add font_size * upload a new build Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> Co-authored-by: Luigi <[email protected]> Co-authored-by: Albert Juhé Lluveras <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: EmptySet-Exe <[email protected]>
* Empty commit for release pull request * Added readme.txt changelog entry * Update HPOS compatibility snippet (#7395) * 8.7.2 Testing notes * Update testing notes * Update testing notes * Bumped version * Refactor force billing: remove forcedBillingAddress from conditions for showBillingFields (#7393) Co-authored-by: Niels Lange <[email protected]> * Updated testing instructions and changelog to include #7393 * Updated testing zip * Bumping version strings to new version. * Empty commit for release pull request * Fix wrong keys being sent in `canMakePayment` and customer data showing in the Checkout block in the editor (#7434) * Construct args for canMakePayment with correct keys * When the CheckoutEventsContext mounts, initialize payment store * Destructure useSelect correctly * Dispatch __internalInitializePaymentStore in selector tests * Update selector name to __internalUpdateAvailablePaymentMethods * Remove check for editor when registering checkout store * Add check for when express payment methods have updated too * Ensure billingAddress key exists in canMakePayment arg * Use editor context to know if we're in editor * Updated readme.txt * Reverted stable tag change on readme.txt * Testing instructions * Cleaned out testing instructions * Bumping version strings to new version. * Empty commit for release pull request * Testing instructions * package-lock.json version bump * Revert "Fix `useForcedLayout` to re-select inner blocks after we manually insert one (#6676)" (#7447) This reverts commit 1564de2. * Testing zip * Bumping version strings to new version. * add testing instructions * upload a new zip file * Update styles of the Filter by Attribute dropdown so it looks good in TT3 (#7506) * Use theme's body background color as the mini cart contents default background color (#7510) Co-authored-by: Albert Juhé Lluveras <[email protected]> * Price Slider: use `currentColor` for the slider (#7527) * Fixed Price Slider Issue Located where the price slider was hard coded and replaced it. * fix CSS lint * use currentColor instead of hard-coded color for the slider of the Filter By Price block #7130 use currentColor instead of hard-coded color for the slider of the Filte By Price block * use currentColor instead of hard-coded color for the slider of the Filter By Price block #7130 use currentColor instead of hard-coded color for the slider of the Filte By Price block * remove background-color Co-authored-by: EmptySet-Exe <[email protected]> Co-authored-by: Niels Lange <[email protected]> * Make price slider 'inactive' range half transparent so it looks better in dark themes (#7525) * Fix inconsistent button styling with TT3 (#7516) * fix inconsistent button styling with TT3 * use wc_wp_theme_get_element_class_name * add check to be sure that wc_wp_theme_get_element_class_name function exists * Fix Mini Cart Block global styles #7379 (#7515) * Fix Mini Cart Block global styles #7379 Fix Mini Cart Block global styles * add font_size * upload a new build * Bumping version strings to new version. * update changelog * Empty commit for release pull request * add testing instructions * update zip file link * Prevent Mini Cart loading the same script twice (#7794) Co-authored-by: github-actions <[email protected]> Co-authored-by: Paulo Arromba <[email protected]> Co-authored-by: Alex Florisca <[email protected]> Co-authored-by: Tarun Vijwani <[email protected]> Co-authored-by: Niels Lange <[email protected]> Co-authored-by: Thomas Roberts <[email protected]> Co-authored-by: Luigi <[email protected]> Co-authored-by: Albert Juhé Lluveras <[email protected]> Co-authored-by: Tung Du <[email protected]> Co-authored-by: EmptySet-Exe <[email protected]>
This PR will change
useForcedLayout
so theuseSelect
responsible for selecting the inner blocks of a client block re-runs if the inner blocks change. Previously, the deps ofuseSelect
were onlyclientId
andcurrentRegisteredBlocks.current
which do not change after dispatchingcore/block-editor
sinsertBlock
action.Instead, we will keep track of the number of blocks we have inserted, and use this as a dependency of the
useSelect
too.The other alternative would be to remove the deps, but this could cause multiple selects even if nothing has changed.
Screenshots
Testing
Automated Tests
User Facing Testing
I want to receive updates about products and promotions.
checkbox in the customer information block. Ensure it only displays once.WooCommerce Visibility
Performance Impact
Changelog