From b4567c4c0892918ef6a5b277179fe7f2787082c1 Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Tue, 10 May 2022 17:37:25 -0300 Subject: [PATCH 01/10] Uses `ProductCard` from FSUI instead of `Card` --- .../product/ProductCard/ProductCard.tsx | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/components/product/ProductCard/ProductCard.tsx b/src/components/product/ProductCard/ProductCard.tsx index f7243f43..ac286be6 100644 --- a/src/components/product/ProductCard/ProductCard.tsx +++ b/src/components/product/ProductCard/ProductCard.tsx @@ -1,8 +1,8 @@ import { - Card as UICard, - CardActions as UICardActions, - CardContent as UICardContent, - CardImage as UICardImage, + ProductCard as UIProductCard, + ProductCardActions as UIProductCardActions, + ProductCardContent as UIProductCardContent, + ProductCardImage as UIProductCardImage, } from '@faststore/ui' import { graphql, Link } from 'gatsby' import { memo } from 'react' @@ -48,7 +48,7 @@ function ProductCard({ const outOfStock = availability !== 'https://schema.org/InStock' return ( - - + {img.alternateName} - + - +

@@ -102,12 +102,12 @@ function ProductCard({ )} {!!ButtonBuy && ( - + {ButtonBuy} - + )} - - + + ) } From c29cedb2498264c899cef5241a27a8dcee101d7d Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Tue, 10 May 2022 17:38:04 -0300 Subject: [PATCH 02/10] Replaces card data attr for product-card data attr --- src/components/product/ProductCard/product-card.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/product/ProductCard/product-card.scss b/src/components/product/ProductCard/product-card.scss index a9f5cfa2..7164f3f2 100644 --- a/src/components/product/ProductCard/product-card.scss +++ b/src/components/product/ProductCard/product-card.scss @@ -74,7 +74,7 @@ } } - [data-card-image] { + [data-product-card-image] { position: relative; display: flex; justify-content: center; @@ -194,7 +194,7 @@ } } - [data-card-image] { + [data-product-card-image] { border-radius: var(--fs-product-card-border-radius) var(--fs-product-card-border-radius) 0 0; } @@ -214,7 +214,7 @@ gap: var(--fs-product-card-gap); min-width: calc(var(--fs-product-card-min-width) * 1.5); - [data-card-image] { grid-row: span 2; } + [data-product-card-image] { grid-row: span 2; } [data-fs-product-card-content] { display: grid; From 17b671c1678df4b903d98ae406bc3d89c85640ac Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Tue, 10 May 2022 17:38:36 -0300 Subject: [PATCH 03/10] Updates tests ids --- cypress/integration/analytics.test.js | 2 +- cypress/integration/plp.test.js | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/cypress/integration/analytics.test.js b/cypress/integration/analytics.test.js index 079b7313..32b132ff 100644 --- a/cypress/integration/analytics.test.js +++ b/cypress/integration/analytics.test.js @@ -153,7 +153,7 @@ describe('select_item event', () => { let skuId - cy.getById('store-card').first().click() + cy.getById('store-product-card').first().click() cy.getById('buy-button') .then(($btn) => { skuId = $btn.attr('data-sku') diff --git a/cypress/integration/plp.test.js b/cypress/integration/plp.test.js index be7449c4..70e4cf3b 100644 --- a/cypress/integration/plp.test.js +++ b/cypress/integration/plp.test.js @@ -115,7 +115,7 @@ describe('Infinite Scroll pagination', () => { cy.waitForHydration() cy.getById('product-gallery').within(() => { - cy.getById('store-card') + cy.getById('store-product-card') .should('exist') .should('have.length.gt', 0) .then(($links) => { @@ -125,7 +125,7 @@ describe('Infinite Scroll pagination', () => { .should('exist') .click() .then(() => { - cy.getById('store-card') + cy.getById('store-product-card') .should('have.length.gte', before) .then(($products) => { const after = $products.length @@ -141,7 +141,7 @@ describe('Infinite Scroll pagination', () => { cy.visit(pages.collection, options) cy.waitForHydration() - cy.get('[data-testid=product-gallery] [data-testid=store-card]') + cy.get('[data-testid=product-gallery] [data-testid=store-product-card]') .should('exist') .should('have.length.gt', 0) .then(($links) => { @@ -152,12 +152,12 @@ describe('Infinite Scroll pagination', () => { .should('exist') .click() // Go up the page - .get('[data-testid=product-gallery] [data-testid=store-card]') + .get('[data-testid=product-gallery] [data-testid=store-product-card]') .first() .scrollIntoView({ duration: 1000 }) // Go down the page - .get('[data-testid=product-gallery] [data-testid=store-card]') + .get('[data-testid=product-gallery] [data-testid=store-product-card]') .last() .scrollIntoView({ duration: 1000 }) .then(() => { @@ -167,7 +167,9 @@ describe('Infinite Scroll pagination', () => { // The skuId of the last product on the page let skuIdBeforeNavigate - cy.get('[data-testid=product-gallery] [data-testid=store-card]') + cy.get( + '[data-testid=product-gallery] [data-testid=store-product-card]' + ) // Number of products after showMore is clicked should be higher .should('have.length.gte', before) .last() @@ -183,7 +185,9 @@ describe('Infinite Scroll pagination', () => { }) .then(() => { cy.go('back') - .get('[data-testid=product-gallery] [data-testid=store-card]') + .get( + '[data-testid=product-gallery] [data-testid=store-product-card]' + ) .last() .then(($card) => { const skuIdAfterNavigate = $card.attr( @@ -212,7 +216,7 @@ describe('Infinite Scroll pagination', () => { .location('search') .should('match', /page=0$/) - .get('[data-testid=product-gallery] [data-testid=store-card]') + .get('[data-testid=product-gallery] [data-testid=store-product-card]') .last() .scrollIntoView({ duration: 1000 }) .location('search') From f2fa088bac2f2721ac04e46a65b67c6aa6298984 Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Tue, 10 May 2022 17:39:26 -0300 Subject: [PATCH 04/10] Renames actionabled to actionable --- src/components/product/ProductCard/ProductCard.tsx | 2 +- src/components/product/ProductCard/product-card.scss | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/product/ProductCard/ProductCard.tsx b/src/components/product/ProductCard/ProductCard.tsx index ac286be6..bc50a450 100644 --- a/src/components/product/ProductCard/ProductCard.tsx +++ b/src/components/product/ProductCard/ProductCard.tsx @@ -52,7 +52,7 @@ function ProductCard({ data-fs-product-card data-fs-product-card-variant={variant} data-fs-product-card-bordered={bordered} - data-fs-product-card-actionabled={!!ButtonBuy} + data-fs-product-card-actionable={!!ButtonBuy} data-fs-product-card-sku={sku} {...otherProps} > diff --git a/src/components/product/ProductCard/product-card.scss b/src/components/product/ProductCard/product-card.scss index 7164f3f2..5d9f4727 100644 --- a/src/components/product/ProductCard/product-card.scss +++ b/src/components/product/ProductCard/product-card.scss @@ -172,13 +172,13 @@ @include media(">=tablet") { grid-template-rows: 5fr 2fr; - &[data-fs-product-card-actionabled="true"] { + &[data-fs-product-card-actionable="true"] { grid-template-rows: 10fr 7fr; } } @include media(">=notebook") { - &[data-fs-product-card-actionabled="true"] { + &[data-fs-product-card-actionable="true"] { grid-template-rows: 6fr 3fr; } From 4e56408fe5262b237daa675126870d04fbb3c75e Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Fri, 13 May 2022 19:38:45 -0300 Subject: [PATCH 05/10] Updates FastStore pack version --- package.json | 6 +++--- yarn.lock | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 37d3ac7a..c7707009 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,9 @@ "@envelop/graphql-jit": "^1.1.1", "@envelop/parser-cache": "^2.2.0", "@envelop/validation-cache": "^2.2.0", - "@faststore/api": "^1.8.10", - "@faststore/sdk": "^1.8.10", - "@faststore/ui": "^1.8.10", + "@faststore/api": "^1.8.17", + "@faststore/sdk": "^1.8.17", + "@faststore/ui": "^1.8.17", "@vtex/graphql-utils": "^1.8.10", "gatsby": "^4.11.1", "gatsby-plugin-gatsby-cloud": "^4.11.1", diff --git a/yarn.lock b/yarn.lock index 865a4079..9f74959e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1981,10 +1981,10 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@faststore/api@^1.8.10": - version "1.8.10" - resolved "https://registry.yarnpkg.com/@faststore/api/-/api-1.8.10.tgz#cfa6a572c784203dea72e9ec30562759b6fbca0e" - integrity sha512-p/WPNrn2YSs6vdBMETFlLni4b/kXMU0vZbODUIPDWM8p2uAwGeApW5rGDpYZz75NdE45gUjmt+1knF4dEHGInA== +"@faststore/api@^1.8.17": + version "1.8.17" + resolved "https://registry.yarnpkg.com/@faststore/api/-/api-1.8.17.tgz#43df54357f9393b9022f453f3fa488a21853a90d" + integrity sha512-UHico6B2NKaDs4J6jVp6/wqNBNAe1IGBlDgiqzr9SA45ZjfuS1QkNitErVars9bSYOCVPBk095k2JsAyyOvOHQ== dependencies: "@graphql-tools/schema" "^8.2.0" "@rollup/plugin-graphql" "^1.0.0" @@ -1993,17 +1993,17 @@ isomorphic-unfetch "^3.1.0" p-limit "^3.1.0" -"@faststore/sdk@^1.8.10": - version "1.8.10" - resolved "https://registry.yarnpkg.com/@faststore/sdk/-/sdk-1.8.10.tgz#2b282764d7fb93c9b77e38e5c00c1374023d7f06" - integrity sha512-8rpuX76WLpgqS+lWyvH+x/sAECgmcbfLjXovToJ/Qf3E7jQXZdicAESDjINVtYjaVpvShHmSpZpEgVfaAzW1ug== +"@faststore/sdk@^1.8.17": + version "1.8.17" + resolved "https://registry.yarnpkg.com/@faststore/sdk/-/sdk-1.8.17.tgz#83ad388f7b1ee4c102763006e503695da4424a20" + integrity sha512-mRmxyNFZ+jW2aw8HyANnDKQrM1GzIkQSjIk2z61jTFS8q5PkC0IaO6WhAjRfsHAhg6L/DzoNKNF3uB8TZHtntg== dependencies: idb-keyval "^5.1.3" -"@faststore/ui@^1.8.10": - version "1.8.10" - resolved "https://registry.yarnpkg.com/@faststore/ui/-/ui-1.8.10.tgz#7b727ee9a91aa87bafdcc1a2b90124b857214725" - integrity sha512-JSWDH/Eaa4ikImBEMQWYjZPEKX01VOd2DCkyfE46sc7uSbpl9ZBdxMSm3SUc4yOY9drEUsN/vV7xLEQrpfSLdA== +"@faststore/ui@^1.8.17": + version "1.8.17" + resolved "https://registry.yarnpkg.com/@faststore/ui/-/ui-1.8.17.tgz#c68c079b0a2fa2129222329ba52eca17ee30a136" + integrity sha512-SPVw/bnU3jNXruiLedRlQAcfY68NuNgRdVcEOGtTHREOX7coPNQukxgpIBsh/MN2Vq/G8aLnkq+dW1atr8ekHQ== dependencies: "@reach/popover" "^0.16.0" "@storybook/addon-a11y" "^6.4.4" From 65614bd28d0dd79ccec4bab6fcf873029a4f7b8e Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Fri, 13 May 2022 20:46:29 -0300 Subject: [PATCH 06/10] Updates CHANGELOG.md --- CHANGELOG.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc3a0da5..5ca0933e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Uses `ProductCard` component from FSUI instead of `Card` ([#34](https://github.com/vtex-sites/gatsby.store/pull/34)) - General code improvements at `ImageGallerySelector` ([#40](https://github.com/vtex-sites/gatsby.store/pull/40)) - Adjust `Alert` component for `CMS` ([#29](https://github.com/vtex-sites/gatsby.store/pull/29)) - Accessibility tests to output what were the actual violations, not just how many ([#23](https://github.com/vtex-sites/gatsby.store/pull/23)). @@ -111,7 +112,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Replaces `onDismissTransition` callback by a Provider that handles opening/closing of modal/slide over's behavior ([#426](https://github.com/vtex-sites/base.store/pull/426)) - `OutOfStock` integrated with regionalization ([#441](https://github.com/vtex-sites/base.store/pull/441)) -- Move ProductShelf and ProductTiles to the client side ([#431](https://github.com/vtex-sites/base.store/pull/431)) +- Move `ProductShelf` and `ProductTiles` to the client side ([#431](https://github.com/vtex-sites/base.store/pull/431)) - Drop gatsby-plugin-image in favor of custom/simpler component ([#401](https://github.com/vtex-sites/base.store/pull/401)) - Replace `stylelint-config-rational-order` with `stylelint-config-recess-order` ([#415](https://github.com/vtex-sites/base.store/pull/415)) - Simplify filters component by using `useReducer` instead of multiple `useState` ([#422](https://github.com/vtex-sites/base.store/pull/422)) @@ -149,7 +150,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Move inline styles to external stylesheet to improve TBT ([#408](https://github.com/vtex-sites/base.store/pull/408)) -- Changed ProductGallery and EmptyGallery styles to make the search results page ([#387](https://github.com/vtex-sites/base.store/pull/387)) +- Changed `ProductGallery` and `EmptyGallery` styles to make the search results page ([#387](https://github.com/vtex-sites/base.store/pull/387)) - Moved all icons to use Icon component ([#386](https://github.com/vtex-sites/base.store/pull/386)) - Moved common/IconsSVG to ui/Icons ([#386](https://github.com/vtex-sites/base.store/pull/386)) - Moved EmptyState from common to ui folder ([#386](https://github.com/vtex-sites/base.store/pull/386)) From 37aed14e446f71c9c3ae959886bb887d23349184 Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Fri, 13 May 2022 20:48:05 -0300 Subject: [PATCH 07/10] Puts back `@reach/router` on package.json --- package.json | 1 + yarn.lock | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index c7707009..0481d4ee 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@faststore/api": "^1.8.17", "@faststore/sdk": "^1.8.17", "@faststore/ui": "^1.8.17", + "@reach/router": "^1.3.4", "@vtex/graphql-utils": "^1.8.10", "gatsby": "^4.11.1", "gatsby-plugin-gatsby-cloud": "^4.11.1", diff --git a/yarn.lock b/yarn.lock index 9f74959e..6a356406 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3475,6 +3475,16 @@ tiny-warning "^1.0.3" tslib "^2.3.0" +"@reach/router@^1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.4.tgz#d2574b19370a70c80480ed91f3da840136d10f8c" + integrity sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA== + dependencies: + create-react-context "0.3.0" + invariant "^2.2.3" + prop-types "^15.6.1" + react-lifecycles-compat "^3.0.4" + "@reach/utils@0.16.0": version "0.16.0" resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.16.0.tgz#5b0777cf16a7cab1ddd4728d5d02762df0ba84ce" @@ -8185,6 +8195,14 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-react-context@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" + integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw== + dependencies: + gud "^1.0.0" + warning "^4.0.3" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -11888,6 +11906,11 @@ graphql@^15.7.2: resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== +gud@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" + integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== + gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" @@ -20471,7 +20494,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.12" -warning@^4.0.2: +warning@^4.0.2, warning@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== From a33b0ba2d4907957edc96b53e760ca2ad0690877 Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Mon, 16 May 2022 20:47:40 -0300 Subject: [PATCH 08/10] Removes reach/router --- package.json | 1 - yarn.lock | 25 +------------------------ 2 files changed, 1 insertion(+), 25 deletions(-) diff --git a/package.json b/package.json index 0481d4ee..c7707009 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "@faststore/api": "^1.8.17", "@faststore/sdk": "^1.8.17", "@faststore/ui": "^1.8.17", - "@reach/router": "^1.3.4", "@vtex/graphql-utils": "^1.8.10", "gatsby": "^4.11.1", "gatsby-plugin-gatsby-cloud": "^4.11.1", diff --git a/yarn.lock b/yarn.lock index 6a356406..9f74959e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3475,16 +3475,6 @@ tiny-warning "^1.0.3" tslib "^2.3.0" -"@reach/router@^1.3.4": - version "1.3.4" - resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.4.tgz#d2574b19370a70c80480ed91f3da840136d10f8c" - integrity sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA== - dependencies: - create-react-context "0.3.0" - invariant "^2.2.3" - prop-types "^15.6.1" - react-lifecycles-compat "^3.0.4" - "@reach/utils@0.16.0": version "0.16.0" resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.16.0.tgz#5b0777cf16a7cab1ddd4728d5d02762df0ba84ce" @@ -8195,14 +8185,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-context@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" - integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw== - dependencies: - gud "^1.0.0" - warning "^4.0.3" - create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -11906,11 +11888,6 @@ graphql@^15.7.2: resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== -gud@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0" - integrity sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw== - gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" @@ -20494,7 +20471,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.12" -warning@^4.0.2, warning@^4.0.3: +warning@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== From 743ff559474a6d62dd9cc2795676534e5512b12f Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Mon, 16 May 2022 21:13:46 -0300 Subject: [PATCH 09/10] Triggers CI with an empty commit From c4e2fa7791c8d5d3da29cf861ef1bd800e6ca9e5 Mon Sep 17 00:00:00 2001 From: Fanny Chien Date: Mon, 16 May 2022 21:41:01 -0300 Subject: [PATCH 10/10] Triggers CI with an empty commit