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

Conversation

kmanijak
Copy link
Contributor

@kmanijak kmanijak commented Aug 7, 2023

This PR adds the logic of hiding Upgrade Notice after:

  • X hours - if the merchant won't interact with the Product Collection and the Upgrade Notice for X hours after update, the notice won't be displayed after that time. By default set to 72h
  • X displays - if the merchant focus on Product Collection, but won't interact with the Upgrade Notice for X times, the notice won't be displayed anymore. By default set to 4 times.

(as per #10267 (comment))

There's also a new logic added: after converting Products to Product Collection and reverting back to Products ONLY initially converted Products block will be converted back. So if the merchant added others Product Collection blocks manually, they won't get converted.

If some of the conditions to stop displaying Upgrade Notice are met:

  • user dismissed the notice
  • 72h has passed
  • notice was displayed 4 times already
    then Product Collection blocks will be unmarked as converted from Products. This is to prevent showing the Notice after a longer period of time when the user switched the browser/machine or for some reason cleared the local storage. In that cases the notice could've been displayed if blocks were not unmarked as converted.

Part of #9703

Testing

Automated Tests

  • Changes in this PR are covered by Automated Tests.
    • Unit tests
    • E2E tests

User Facing Testing

Prerequisites:

  1. Edit two templates by adding Products (Beta) blocks to them and save them, for example:
    • Product Catalog: add three Products (Beta) blocks
    • Products by Attribute: add two Products (Beta) blocks
  2. Enable manual migration by changing https://github.com/woocommerce/woocommerce-blocks/pull/10267/files#diff-e9517b2fd3bcc6d45a42d1f2eea15b221e8d7285a41c4f3df6fa2eb8db2de3acR7 to true
SCENARIO 1. Ignore the Upgrade Notice (display 4 times)
  1. Go to Editor and start editing Product Template
  2. Focus on any Products (Beta) block
  3. Click on "Upgrade to Product Collection"
image
  1. All Products (Beta) blocks should be replaced with Product Collection blocks
  2. Focus on one of Product Collection block
  3. Expected: Upgrade Notice should be visible in Inspector Controls
image
  1. Change the focus to another block
  2. Bring back focus to any of the Product Collection block
  3. Expected: Upgrade Notice is still visible
  4. Repeat the focus and unfocus 5 times
  5. Expected: Upgrade Notice should not be displayed on 5th visit.
SCENARIO 2. Ignore the Upgrade Notice (display 72h)

The information about the notice state is kept in Local Storage. Before attempting another scenario, we have to clear that. In order to do that go to Dev Tools > Application > Local Storage and delete wc-blocks_upgraded-products-to-product-collection (Chrome).
The journey may differ between browsers, so please check the way to delete Local Storage entries in your browser.

  1. Time after the notice should not be displayed anymore is configurable in hours. By default, it's set to 72h. We won't wait that long, so please changehttps://github.com/Product Collection - logic to hide upgrade notice #10494/files#diff-e9517b2fd3bcc6d45a42d1f2eea15b221e8d7285a41c4f3df6fa2eb8db2de3acR8 to something like 1/60 (1 minute) or 1/30 (2 minutes).
  2. Repeat steps 1 - 5 from the previous scenario
  3. Change focus to another Product Collection
  4. Expected: Upgrade Notice is still visible
  5. Wait the time you set on variable in step 1
  6. Focus on another Product Collection
  7. Expected: Upgrade Notice should not be displayed anymore if the time has passed

SCENARIO 3. Don't display Upgrade Notice on another browser

  1. Continue right after scenario 2.
  2. Save the template
  3. Open another browser or incognito window on your current browser - that mimics the situation when user changes machine/browser
  4. Enter the same Editor site
  5. Focus on any Product Collection
  6. Upgrade Notice should not be displayed anymore (even though there's no information in the local storage).
  • Do not include in the Testing Notes
  • Should be tested by the development team exclusively

WooCommerce Visibility

  • WooCommerce Core
  • Feature plugin
  • Experimental

@kmanijak kmanijak added the block: product collection Issues related to the Product Collection block label Aug 7, 2023
@kmanijak kmanijak changed the base branch from trunk to add/products-migration-upgrade-notice-logic August 7, 2023 14:48
@github-actions
Copy link
Contributor

github-actions bot commented Aug 8, 2023

The release ZIP for this PR is accessible via:

https://wcblocks.wpcomstaging.com/wp-content/uploads/woocommerce-gutenberg-products-block-10494.zip

Script Dependencies Report

There is no changed script dependency between this branch and trunk.

This comment was automatically generated by the ./github/compare-assets action.

TypeScript Errors Report

  • Files with errors: 472
  • Total errors: 2252

⚠️ ⚠️ This PR introduces new TS errors on 5 files:

assets/js/blocks/migration-products-to-product-collection/migration-from-product-collection-to-products.ts

assets/js/blocks/migration-products-to-product-collection/migration-from-products-to-product-collection.ts

assets/js/blocks/product-collection/inspector-controls/index.tsx

assets/js/blocks/product-query/inspector-controls.tsx

assets/js/data/cart/push-changes.ts

comments-aggregator

@github-actions
Copy link
Contributor

github-actions bot commented Aug 8, 2023

Size Change: +312 B (0%)

Total Size: 1.34 MB

Filename Size Change
build/all-products.js 41.3 kB -1 B (0%)
build/attribute-filter.js 13.1 kB -2 B (0%)
build/breadcrumbs.js 2.15 kB -1 B (0%)
build/cart.js 45 kB -4 B (0%)
build/checkout.js 47.6 kB -2 B (0%)
build/featured-category.js 14.9 kB -2 B (0%)
build/featured-product.js 15.1 kB -2 B (0%)
build/handpicked-products.js 7.97 kB +1 B (0%)
build/legacy-template.js 8.14 kB +3 B (0%)
build/mini-cart-contents-block/products-table-style.js 5.32 kB -1 B (0%)
build/mini-cart-contents.js 17.6 kB -1 B (0%)
build/mini-cart.js 6.34 kB -3 B (0%)
build/price-filter.js 8.51 kB -2 B (0%)
build/product-button.js 3.88 kB -1 B (0%)
build/product-collection.js 14.9 kB +233 B (+2%)
build/product-gallery.js 6.08 kB -1 B (0%)
build/product-on-sale.js 8.61 kB +1 B (0%)
build/product-query.js 13.1 kB +99 B (+1%)
build/product-rating-counter.js 689 B +2 B (0%)
build/product-rating-stars.js 940 B +1 B (0%)
build/product-tag.js 8.78 kB -2 B (0%)
build/product-template.js 3.43 kB -1 B (0%)
build/products-by-attribute.js 9.63 kB -3 B (0%)
build/rating-filter.js 6.88 kB -1 B (0%)
build/reviews-by-product.js 13.1 kB -1 B (0%)
build/stock-filter.js 7.6 kB -2 B (0%)
build/vendors--active-filters-wrapper--attribute-filter-wrapper--mini-cart-contents-block/cart-button--mi--d6bb29e6-style.js 606 B +2 B (0%)
build/wc-blocks-vendors.js 65.5 kB +3 B (0%)
ℹ️ View Unchanged
Filename Size
build/active-filters-frontend.js 8.56 kB
build/active-filters-rtl.css 1.99 kB
build/active-filters-wrapper--mini-cart-contents-block/cart-button--mini-cart-contents-block/checkout-but--e791dc6c-style.js 930 B
build/active-filters-wrapper-frontend.js 7.58 kB
build/active-filters-wrapper-rtl.css 1.85 kB
build/active-filters-wrapper.css 1.85 kB
build/active-filters.css 1.99 kB
build/active-filters.js 7.51 kB
build/add-to-cart-form-rtl.css 355 B
build/add-to-cart-form.css 354 B
build/all-products-frontend.js 9.94 kB
build/all-products-rtl.css 4.19 kB
build/all-products.css 4.19 kB
build/all-reviews-rtl.css 1.79 kB
build/all-reviews.css 1.79 kB
build/all-reviews.js 7.77 kB
build/attribute-filter-frontend.js 22.9 kB
build/attribute-filter-rtl.css 4.14 kB
build/attribute-filter-wrapper-frontend.js 8.01 kB
build/attribute-filter-wrapper-rtl.css 4.01 kB
build/attribute-filter-wrapper.css 4.01 kB
build/attribute-filter.css 4.14 kB
build/blocks-checkout.js 35.1 kB
build/breadcrumbs-rtl.css 232 B
build/breadcrumbs.css 232 B
build/cart-blocks/cart-accepted-payment-methods-frontend.js 1.34 kB
build/cart-blocks/cart-accepted-payment-methods-style.js 137 B
build/cart-blocks/cart-cross-sells-frontend.js 249 B
build/cart-blocks/cart-cross-sells-products--product-price-frontend.js 2.89 kB
build/cart-blocks/cart-cross-sells-products-frontend.js 3.72 kB
build/cart-blocks/cart-cross-sells-products-style.js 137 B
build/cart-blocks/cart-cross-sells-style.js 250 B
build/cart-blocks/cart-express-payment--checkout-blocks/express-payment-frontend.js 5 kB
build/cart-blocks/cart-express-payment-frontend.js 712 B
build/cart-blocks/cart-express-payment-style.js 138 B
build/cart-blocks/cart-items-frontend.js 286 B
build/cart-blocks/cart-items-style.js 219 B
build/cart-blocks/cart-line-items--mini-cart-contents-block/products-table-frontend.js 5.34 kB
build/cart-blocks/cart-line-items-frontend.js 1.04 kB
build/cart-blocks/cart-line-items-style.js 138 B
build/cart-blocks/cart-order-summary-frontend.js 1.24 kB
build/cart-blocks/cart-order-summary-style.js 319 B
build/cart-blocks/cart-totals-frontend.js 289 B
build/cart-blocks/cart-totals-style.js 229 B
build/cart-blocks/empty-cart-frontend.js 345 B
build/cart-blocks/empty-cart-style.js 336 B
build/cart-blocks/filled-cart-frontend.js 650 B
build/cart-blocks/filled-cart-style.js 310 B
build/cart-blocks/order-summary-coupon-form-frontend.js 1.57 kB
build/cart-blocks/order-summary-coupon-form-style.js 137 B
build/cart-blocks/order-summary-discount-frontend.js 2.04 kB
build/cart-blocks/order-summary-discount-style.js 137 B
build/cart-blocks/order-summary-fee-frontend.js 270 B
build/cart-blocks/order-summary-fee-style.js 137 B
build/cart-blocks/order-summary-heading-frontend.js 326 B
build/cart-blocks/order-summary-heading-style.js 326 B
build/cart-blocks/order-summary-shipping-frontend.js 12 kB
build/cart-blocks/order-summary-shipping-style.js 177 B
build/cart-blocks/order-summary-subtotal-frontend.js 270 B
build/cart-blocks/order-summary-subtotal-style.js 136 B
build/cart-blocks/order-summary-taxes-frontend.js 434 B
build/cart-blocks/order-summary-taxes-style.js 177 B
build/cart-blocks/proceed-to-checkout-frontend.js 1.41 kB
build/cart-blocks/proceed-to-checkout-style.js 1.09 kB
build/cart-frontend.js 29.7 kB
build/cart-rtl.css 9.51 kB
build/cart.css 9.49 kB
build/catalog-sorting-rtl.css 256 B
build/catalog-sorting.css 256 B
build/catalog-sorting.js 1.71 kB
build/checkout-blocks/actions--checkout-blocks/terms-style.js 487 B
build/checkout-blocks/actions-frontend.js 1.81 kB
build/checkout-blocks/actions-style.js 681 B
build/checkout-blocks/billing-address-frontend.js 4.19 kB
build/checkout-blocks/billing-address-style.js 532 B
build/checkout-blocks/contact-information-frontend.js 2.02 kB
build/checkout-blocks/contact-information-style.js 607 B
build/checkout-blocks/express-payment-frontend.js 1.11 kB
build/checkout-blocks/fields-frontend.js 301 B
build/checkout-blocks/fields-style.js 249 B
build/checkout-blocks/order-note-frontend.js 1.1 kB
build/checkout-blocks/order-summary-cart-items-frontend.js 3.63 kB
build/checkout-blocks/order-summary-cart-items-style.js 136 B
build/checkout-blocks/order-summary-coupon-form-frontend.js 1.72 kB
build/checkout-blocks/order-summary-coupon-form-style.js 137 B
build/checkout-blocks/order-summary-discount-frontend.js 2.21 kB
build/checkout-blocks/order-summary-discount-style.js 137 B
build/checkout-blocks/order-summary-fee-frontend.js 273 B
build/checkout-blocks/order-summary-fee-style.js 136 B
build/checkout-blocks/order-summary-frontend.js 1.24 kB
build/checkout-blocks/order-summary-shipping-frontend.js 11.9 kB
build/checkout-blocks/order-summary-shipping-style.js 138 B
build/checkout-blocks/order-summary-style.js 318 B
build/checkout-blocks/order-summary-subtotal-frontend.js 271 B
build/checkout-blocks/order-summary-subtotal-style.js 137 B
build/checkout-blocks/order-summary-taxes-frontend.js 434 B
build/checkout-blocks/order-summary-taxes-style.js 177 B
build/checkout-blocks/payment-frontend.js 9.12 kB
build/checkout-blocks/payment-style.js 459 B
build/checkout-blocks/pickup-options-frontend.js 4.13 kB
build/checkout-blocks/pickup-options-style.js 439 B
build/checkout-blocks/shipping-address-frontend.js 4.17 kB
build/checkout-blocks/shipping-address-style.js 476 B
build/checkout-blocks/shipping-method-frontend.js 2.58 kB
build/checkout-blocks/shipping-method-style.js 1.34 kB
build/checkout-blocks/shipping-methods-frontend.js 5.69 kB
build/checkout-blocks/shipping-methods-style.js 415 B
build/checkout-blocks/terms-frontend.js 1.51 kB
build/checkout-blocks/terms-style.js 672 B
build/checkout-blocks/totals-frontend.js 332 B
build/checkout-blocks/totals-style.js 276 B
build/checkout-frontend.js 31.6 kB
build/checkout-rtl.css 9.07 kB
build/checkout.css 9.06 kB
build/customer-account-rtl.css 388 B
build/customer-account.css 387 B
build/customer-account.js 3.18 kB
build/featured-category-rtl.css 971 B
build/featured-category.css 970 B
build/featured-product-rtl.css 1.02 kB
build/featured-product.css 1.02 kB
build/filter-wrapper-frontend.js 14.1 kB
build/filter-wrapper-rtl.css 375 B
build/filter-wrapper.css 375 B
build/filter-wrapper.js 2.39 kB
build/legacy-template-rtl.css 238 B
build/legacy-template.css 238 B
build/mini-cart-component-frontend.js 30.8 kB
build/mini-cart-contents-block/cart-button--mini-cart-contents-block/checkout-button--mini-cart-contents---358acf4e-style.js 249 B
build/mini-cart-contents-block/cart-button-frontend.js 1.69 kB
build/mini-cart-contents-block/cart-button-style.js 384 B
build/mini-cart-contents-block/checkout-button-frontend.js 1.77 kB
build/mini-cart-contents-block/checkout-button-style.js 463 B
build/mini-cart-contents-block/empty-cart-frontend.js 357 B
build/mini-cart-contents-block/empty-cart-style.js 355 B
build/mini-cart-contents-block/filled-cart-frontend.js 266 B
build/mini-cart-contents-block/filled-cart-style.js 267 B
build/mini-cart-contents-block/footer-frontend.js 3.77 kB
build/mini-cart-contents-block/footer-rtl.css 400 B
build/mini-cart-contents-block/footer-style.js 2.35 kB
build/mini-cart-contents-block/footer.css 400 B
build/mini-cart-contents-block/items-frontend.js 228 B
build/mini-cart-contents-block/items-style.js 228 B
build/mini-cart-contents-block/products-table--product-image--product-title-style.js 316 B
build/mini-cart-contents-block/products-table-frontend.js 546 B
build/mini-cart-contents-block/products-table-rtl.css 2.12 kB
build/mini-cart-contents-block/products-table.css 2.11 kB
build/mini-cart-contents-block/shopping-button-frontend.js 488 B
build/mini-cart-contents-block/shopping-button-style.js 396 B
build/mini-cart-contents-block/title-frontend.js 1.85 kB
build/mini-cart-contents-block/title-items-counter-frontend.js 1.57 kB
build/mini-cart-contents-block/title-items-counter-style.js 302 B
build/mini-cart-contents-block/title-label-frontend.js 1.51 kB
build/mini-cart-contents-block/title-label-style.js 301 B
build/mini-cart-contents-block/title-style.js 438 B
build/mini-cart-contents-rtl.css 2.66 kB
build/mini-cart-contents.css 2.65 kB
build/mini-cart-frontend.js 2.79 kB
build/mini-cart-rtl.css 2.56 kB
build/mini-cart.css 2.56 kB
build/packages-style-rtl.css 3.55 kB
build/packages-style.css 3.55 kB
build/price-filter-frontend.js 14.5 kB
build/price-filter-rtl.css 2.67 kB
build/price-filter-wrapper-frontend.js 8.57 kB
build/price-filter-wrapper-rtl.css 2.53 kB
build/price-filter-wrapper.css 2.53 kB
build/price-filter.css 2.67 kB
build/price-format.js 1.15 kB
build/product-add-to-cart--product-average-rating--product-button--product-image--product-price--product---1d132d69.js 272 B
build/product-add-to-cart--product-button--product-rating--product-rating-counter--product-rating-stars.js 150 B
build/product-add-to-cart--product-image--product-title.js 319 B
build/product-add-to-cart-frontend.js 8.51 kB
build/product-add-to-cart-rtl.css 1.35 kB
build/product-add-to-cart.css 1.36 kB
build/product-add-to-cart.js 8.55 kB
build/product-average-rating--product-button--product-image--product-price--product-rating--product-ratin--e23975b5.js 934 B
build/product-average-rating-frontend.js 1.71 kB
build/product-average-rating.js 400 B
build/product-best-sellers.js 8.32 kB
build/product-button-frontend.js 4.87 kB
build/product-button-rtl.css 864 B
build/product-button.css 863 B
build/product-categories-rtl.css 651 B
build/product-categories.css 649 B
build/product-categories.js 2.72 kB
build/product-category.js 9.28 kB
build/product-details-rtl.css 394 B
build/product-details.css 391 B
build/product-gallery-large-image-rtl.css 295 B
build/product-gallery-large-image.css 295 B
build/product-gallery-large-image.js 2.02 kB
build/product-gallery-rtl.css 371 B
build/product-gallery-thumbnails-rtl.css 272 B
build/product-gallery-thumbnails.css 271 B
build/product-gallery-thumbnails.js 3.91 kB
build/product-gallery.css 373 B
build/product-image-frontend.js 2.65 kB
build/product-image-gallery-rtl.css 304 B
build/product-image-gallery.css 303 B
build/product-image-rtl.css 922 B
build/product-image.css 920 B
build/product-image.js 1.5 kB
build/product-new.js 8.6 kB
build/product-price-frontend.js 247 B
build/product-price-rtl.css 667 B
build/product-price.css 665 B
build/product-price.js 1.65 kB
build/product-query-rtl.css 347 B
build/product-query.css 347 B
build/product-rating-counter-frontend.js 2.01 kB
build/product-rating-frontend.js 2.36 kB
build/product-rating-rtl.css 244 B
build/product-rating-stars-frontend.js 2.25 kB
build/product-rating-stars-rtl.css 895 B
build/product-rating-stars.css 897 B
build/product-rating.css 244 B
build/product-rating.js 1.04 kB
build/product-results-count-rtl.css 228 B
build/product-results-count.css 228 B
build/product-results-count.js 1.66 kB
build/product-reviews-rtl.css 456 B
build/product-reviews.css 455 B
build/product-sale-badge-frontend.js 1.8 kB
build/product-sale-badge-rtl.css 369 B
build/product-sale-badge.css 370 B
build/product-sale-badge.js 671 B
build/product-search-rtl.css 415 B
build/product-search.css 415 B
build/product-search.js 2.63 kB
build/product-sku-frontend.js 1.84 kB
build/product-sku-rtl.css 237 B
build/product-sku.css 237 B
build/product-sku.js 522 B
build/product-stock-indicator-frontend.js 2.02 kB
build/product-stock-indicator-rtl.css 229 B
build/product-stock-indicator.css 229 B
build/product-stock-indicator.js 708 B
build/product-summary-frontend.js 2.18 kB
build/product-summary-rtl.css 546 B
build/product-summary.css 546 B
build/product-summary.js 918 B
build/product-template-rtl.css 418 B
build/product-template.css 418 B
build/product-title-frontend.js 2.21 kB
build/product-title-rtl.css 688 B
build/product-title.css 689 B
build/product-title.js 963 B
build/product-top-rated.js 8.87 kB
build/rating-filter-frontend.js 21.5 kB
build/rating-filter-rtl.css 4.2 kB
build/rating-filter-wrapper-frontend.js 6.62 kB
build/rating-filter-wrapper-rtl.css 4.07 kB
build/rating-filter-wrapper.css 4.07 kB
build/rating-filter.css 4.19 kB
build/reviews-by-category-rtl.css 1.79 kB
build/reviews-by-category.css 1.79 kB
build/reviews-by-category.js 12 kB
build/reviews-by-product-rtl.css 1.79 kB
build/reviews-by-product.css 1.79 kB
build/reviews-frontend.js 7.06 kB
build/single-product-rtl.css 375 B
build/single-product.css 375 B
build/single-product.js 11.2 kB
build/stock-filter-frontend.js 21.7 kB
build/stock-filter-rtl.css 4.01 kB
build/stock-filter-wrapper-frontend.js 6.82 kB
build/stock-filter-wrapper-rtl.css 3.88 kB
build/stock-filter-wrapper.css 3.88 kB
build/stock-filter.css 4.01 kB
build/store-notices.js 1.69 kB
build/vendors--attribute-filter-wrapper--cart-blocks/order-summary-coupon-form--cart-blocks/order-summary--48e1e4bb-frontend.js 6.86 kB
build/vendors--attribute-filter-wrapper--rating-filter-wrapper--stock-filter-wrapper-frontend.js 8.31 kB
build/vendors--cart-blocks/cart-cross-sells-products--cart-blocks/cart-line-items--cart-blocks/cart-order--3c5fe802-frontend.js 5.29 kB
build/vendors--cart-blocks/cart-line-items--checkout-blocks/order-summary-cart-items--mini-cart-contents---233ab542-frontend.js 3.55 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/billing-address--checkout-blocks/order--decc3dc6-frontend.js 19.4 kB
build/vendors--cart-blocks/order-summary-shipping--checkout-blocks/order-summary-shipping--checkout-block--24d3fc0c-frontend.js 8.22 kB
build/vendors--cart-blocks/proceed-to-checkout-style.js 179 B
build/vendors--checkout-blocks/billing-address--checkout-blocks/shipping-address-frontend.js 5.59 kB
build/vendors--checkout-blocks/shipping-method-frontend.js 12.4 kB
build/vendors--checkout-blocks/shipping-method-style.js 11.7 kB
build/vendors--mini-cart-contents-block/products-table--price-filter-wrapper--product-price-style.js 5.27 kB
build/vendors--mini-cart-contents-block/products-table-style.js 3.16 kB
build/vendors--product-add-to-cart-frontend.js 7.52 kB
build/wc-blocks-classic-template-revert-button-style-rtl.css 237 B
build/wc-blocks-classic-template-revert-button-style.css 236 B
build/wc-blocks-classic-template-revert-button.js 1.53 kB
build/wc-blocks-data.js 22 kB
build/wc-blocks-editor-style-rtl.css 6.37 kB
build/wc-blocks-editor-style.css 6.38 kB
build/wc-blocks-google-analytics.js 1.55 kB
build/wc-blocks-middleware.js 934 B
build/wc-blocks-registry.js 3.19 kB
build/wc-blocks-rtl.css 2.46 kB
build/wc-blocks-shared-context.js 1.1 kB
build/wc-blocks-shared-hocs.js 1.63 kB
build/wc-blocks.css 2.46 kB
build/wc-blocks.js 2.63 kB
build/wc-interactivity.js 10.3 kB
build/wc-payment-method-bacs.js 817 B
build/wc-payment-method-cheque.js 813 B
build/wc-payment-method-cod.js 914 B
build/wc-payment-method-paypal.js 852 B
build/wc-settings.js 2.68 kB
build/wc-shipping-method-pickup-location.js 30.4 kB

compressed-size-action

@kmanijak kmanijak added the skip-changelog PRs that you don't want to appear in the changelog. label Aug 9, 2023
@kmanijak kmanijak marked this pull request as ready for review August 9, 2023 15:21
@woocommercebot woocommercebot requested review from a team and dinhtungdu and removed request for a team August 9, 2023 15:21
Copy link
Contributor

@imanish003 imanish003 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @kmanijak, fantastic job! 🚀 I truly appreciate your thoroughness in addressing all the edge cases. I've tested the changes, and everything is functioning as anticipated. I've left a few minor suggestions, but I'm pre-approving the PR since they aren't blockers. 🚢

@kmanijak kmanijak merged commit 46ca3da into add/products-migration-upgrade-notice-logic Aug 10, 2023
27 checks passed
@kmanijak kmanijak deleted the add/product-collection-logic-to-hide-upgrade-notice branch August 10, 2023 14:16
kmanijak added a commit that referenced this pull request Aug 18, 2023
…ction (#10267)

* WIP of Upgrade Notice state

* Extend the state options with seeing option

* Move the logic to the dedicated folder

* Subscribe only if not reverted

* Refactor the way UpgradeNotice is rendered

* Simplify the logic of keeping the Upgrade Notice state in local storage

* Improve types organisation

* Lift the functions interacting with local storage to the Inspector Controls of Product Colelction

* Simplify logic of showing Upgrade Notice

* Disable auto migration

* Refactoring

* Use useLocalStorageState hook

* Fix incorrect merge

* Final improvements

* Allow to display Upgrade Notice after revert and manual upgrade

* Fix incorrect merge

* Improve the unsubscribe process

* Trigger auto-update from Product Collection only

* Remove weird console.log

* Abstract manual update from Product Query

* Fix the taxQuery migration from Product Collection to Products

* Product Collection - logic to hide upgrade notice (#10494)

* Add timestamp to each upgrade notice status change

* Revert back only Product Collections converted from Products block

* Make the time threshold configurable

* Add logic that hides the Upgrade Notice after some amount of displays

* Fix the taxQuery migration from Product Collection to Products

* Change the way to count Product Collection entries

* Fix the problem of multiple display counter increments with Product Collection

* Update Upgrade Notice visibility conditions

* Add contiions to unmark Product Collection as converted from Products

* Change variable name

* Change variable t to time name for better readibility. Improve types

* Replace useState with useRef

* Remove unecessary props passed to UpgradeNotice
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
block: product collection Issues related to the Product Collection block skip-changelog PRs that you don't want to appear in the changelog.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants