Skip to content
This repository was archived by the owner on Feb 23, 2024. It is now read-only.

Commit 1810689

Browse files
github-actions[bot]github-actionswavvvesAlex FloriscaTarun Vijwani
authored
Release: 8.7.6 (#7804)
* 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]>
1 parent aa7a7c0 commit 1810689

File tree

9 files changed

+50
-13
lines changed

9 files changed

+50
-13
lines changed

assets/js/base/utils/lazy-load-script.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,16 @@ interface AppendScriptAttributesParam {
2626
* This function checks whether an element matching that selector exists.
2727
* Useful to know if a script has already been appended to the page.
2828
*/
29-
const isScriptTagInDOM = ( scriptId: string ): boolean => {
30-
const scriptElements = document.querySelectorAll( `script#${ scriptId }` );
29+
const isScriptTagInDOM = ( scriptId: string, src = '' ): boolean => {
30+
const srcParts = src.split( '?' );
31+
if ( srcParts?.length > 1 ) {
32+
src = srcParts[ 0 ];
33+
}
34+
const selector = src
35+
? `script#${ scriptId }, script[src*="${ src }"]`
36+
: `script#${ scriptId }`;
37+
const scriptElements = document.querySelectorAll( selector );
38+
3139
return scriptElements.length > 0;
3240
};
3341

@@ -37,7 +45,10 @@ const isScriptTagInDOM = ( scriptId: string ): boolean => {
3745
*/
3846
const appendScript = ( attributes: AppendScriptAttributesParam ): void => {
3947
// Abort if id is not valid or a script with the same id exists.
40-
if ( ! isString( attributes.id ) || isScriptTagInDOM( attributes.id ) ) {
48+
if (
49+
! isString( attributes.id ) ||
50+
isScriptTagInDOM( attributes.id, attributes?.src )
51+
) {
4152
return;
4253
}
4354
const scriptElement = document.createElement( 'script' );
@@ -92,7 +103,7 @@ const lazyLoadScript = ( {
92103
translations,
93104
}: LazyLoadScriptParams ): Promise< void > => {
94105
return new Promise( ( resolve, reject ) => {
95-
if ( isScriptTagInDOM( `${ handle }-js` ) ) {
106+
if ( isScriptTagInDOM( `${ handle }-js`, src ) ) {
96107
resolve();
97108
}
98109

assets/js/base/utils/preload-script.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,12 @@ const preloadScript = ( {
1313
src,
1414
version,
1515
}: PreloadScriptParams ): void => {
16-
const handleScriptElements = document.querySelectorAll(
17-
`#${ handle }-js, #${ handle }-js-prefetch`
18-
);
16+
const srcParts = src.split( '?' );
17+
if ( srcParts?.length > 1 ) {
18+
src = srcParts[ 0 ];
19+
}
20+
const selector = `#${ handle }-js, #${ handle }-js-prefetch, script[src*="${ src }"]`;
21+
const handleScriptElements = document.querySelectorAll( selector );
1922

2023
if ( handleScriptElements.length === 0 ) {
2124
const prefetchLink = document.createElement( 'link' );
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Testing notes and ZIP for release 8.7.6
2+
3+
Zip file for testing: [woocommerce-gutenberg-products-block.zip](https://github.com/woocommerce/woocommerce-blocks/files/10134947/woocommerce-gutenberg-products-block.zip)
4+
5+
## Feature plugin and package inclusion in WooCommerce
6+
7+
### Mini Cart block: fix compatibility with Page Optimize and Product Bundles plugins [#7794](https://github.com/woocommerce/woocommerce-blocks/pull/7794) [#7813](https://github.com/woocommerce/woocommerce-blocks/pull/7813)
8+
9+
1. Install [Page Optimize](https://wordpress.org/plugins/page-optimize/) and [Product Bundles](https://woocommerce.com/products/product-bundles/).
10+
2. Enable a block theme.
11+
3. Customize the block theme and add the Mini Cart block in the header via Site Editor.
12+
4. Save the changes.
13+
5. In the frontend, lick on the Mini Cart. The drawer should open and show the "empty cart" message.
14+
6. Go to the shop page and add a product to your cart.
15+
7. Click on the Mini Cart. The drawer should open and show the product you just added.

docs/internal-developers/testing/releases/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ Every release includes specific testing instructions for new features and bug fi
9797
- [8.7.3](./873.md)
9898
- [8.7.4](./874.md)
9999
- [8.7.5](./875.md)
100+
- [8.7.6](./876.md)
100101

101102
<!-- FEEDBACK -->
102103

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "@woocommerce/block-library",
33
"title": "WooCommerce Blocks",
44
"author": "Automattic",
5-
"version": "8.7.5",
5+
"version": "8.7.6",
66
"description": "WooCommerce blocks for the Gutenberg editor.",
77
"homepage": "https://github.com/woocommerce/woocommerce-gutenberg-products-block/",
88
"keywords": [

readme.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Tags: gutenberg, woocommerce, woo commerce, products, blocks, woocommerce blocks
44
Requires at least: 6.0
55
Tested up to: 6.0
66
Requires PHP: 7.0
7-
Stable tag: 8.7.5
7+
Stable tag: 8.7.6
88
License: GPLv3
99
License URI: https://www.gnu.org/licenses/gpl-3.0.html
1010

@@ -80,6 +80,13 @@ Release and roadmap notes available on the [WooCommerce Developers Blog](https:/
8080

8181
== Changelog ==
8282

83+
= 8.7.6 - 2022-12-01
84+
85+
#### Bug Fixes
86+
87+
- Mini Cart block: fix compatibility with Page Optimize and Product Bundles plugins [#7794](https://github.com/woocommerce/woocommerce-blocks/pull/7794)
88+
- Mini Cart block: Load wc-blocks-registry package at the page's load instead of lazy load it [#7813](https://github.com/woocommerce/woocommerce-blocks/pull/7813)
89+
8390
= 8.7.5 - 2022-10-31 =
8491

8592
#### Enhancements

src/BlockTypes/MiniCart.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ protected function get_block_type_script( $key = null ) {
103103
$script = [
104104
'handle' => 'wc-' . $this->block_name . '-block-frontend',
105105
'path' => $this->asset_api->get_block_asset_build_path( $this->block_name . '-frontend' ),
106-
'dependencies' => [],
106+
'dependencies' => [ 'wc-blocks-registry' ],
107107
];
108108
return $key ? $script[ $key ] : $script;
109109
}
@@ -273,7 +273,7 @@ protected function append_script_and_deps_src( $script ) {
273273
}
274274
}
275275
}
276-
if ( ! $script->src ) {
276+
if ( ! $script->src || 'wc-blocks-registry' === $script->handle ) {
277277
return;
278278
}
279279

src/Package.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public static function container( $reset = false ) {
109109
NewPackage::class,
110110
function ( $container ) {
111111
// leave for automated version bumping.
112-
$version = '8.7.5';
112+
$version = '8.7.6';
113113
return new NewPackage(
114114
$version,
115115
dirname( __DIR__ ),

woocommerce-gutenberg-products-block.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Plugin Name: WooCommerce Blocks
44
* Plugin URI: https://github.com/woocommerce/woocommerce-gutenberg-products-block
55
* Description: WooCommerce blocks for the Gutenberg editor.
6-
* Version: 8.7.5
6+
* Version: 8.7.6
77
* Author: Automattic
88
* Author URI: https://woocommerce.com
99
* Text Domain: woo-gutenberg-products-block

0 commit comments

Comments
 (0)