Skip to content

Commit

Permalink
Merge branch 'master' into SIW-1159-xstate-issuance-machine-scaffolding
Browse files Browse the repository at this point in the history
  • Loading branch information
mastro993 committed Jul 1, 2024
2 parents e857559 + 9db259d commit aa0e2cb
Show file tree
Hide file tree
Showing 42 changed files with 1,146 additions and 186 deletions.
41 changes: 41 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,47 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [2.63.0-rc.5](https://github.com/pagopa/io-app/compare/2.63.0-rc.4...2.63.0-rc.5) (2024-07-01)


### Chores

* **IT Wallet:** [[SIW-1159](https://pagopa.atlassian.net/browse/SIW-1159)] Add XState issuance machine scaffolding ([#5817](https://github.com/pagopa/io-app/issues/5817)) ([#5919](https://github.com/pagopa/io-app/issues/5919)) ([c78179c](https://github.com/pagopa/io-app/commit/c78179caa5fece5ea3b1c7508662b162601e966c))

## [2.63.0-rc.4](https://github.com/pagopa/io-app/compare/2.63.0-rc.3...2.63.0-rc.4) (2024-07-01)


### Features

* **IT Wallet:** [[SIW-1025](https://pagopa.atlassian.net/browse/SIW-1025)] Add credential issuance auth screen ([#5889](https://github.com/pagopa/io-app/issues/5889)) ([f6ee20f](https://github.com/pagopa/io-app/commit/f6ee20ff04ef25480f36af5eb88d5dd68c84cc0c)), closes [1#diff-98866b8ca3d8b56b2f54493834c67734136bc9e15d015bbec6437b1e35a0dd7](https://github.com/pagopa/1/issues/diff-98866b8ca3d8b56b2f54493834c67734136bc9e15d015bbec6437b1e35a0dd7) [1#diff-0dc769f6acff862613c9fe86808f897f58de29cd48332a0daa7582b848aebf7](https://github.com/pagopa/1/issues/diff-0dc769f6acff862613c9fe86808f897f58de29cd48332a0daa7582b848aebf7)


### Bug Fixes

* **Cross:** [[IOAPPX-335](https://pagopa.atlassian.net/browse/IOAPPX-335)] E2e tests hanging forever ([#5904](https://github.com/pagopa/io-app/issues/5904)) ([20aa852](https://github.com/pagopa/io-app/commit/20aa85265189590756e119b65ac20012f0b82637))


### Chores

* [[IOBP-662](https://pagopa.atlassian.net/browse/IOBP-662)] New payment flow tracking implementation ([#5906](https://github.com/pagopa/io-app/issues/5906)) ([33b2c8f](https://github.com/pagopa/io-app/commit/33b2c8f749c1ce944df05d1262d6dba0570cbab8))
* [[IOBP-704](https://pagopa.atlassian.net/browse/IOBP-704)] Add payed rptid into state entities on payment success ([#5914](https://github.com/pagopa/io-app/issues/5914)) ([56bc826](https://github.com/pagopa/io-app/commit/56bc826cd741523a436b2ab2429c28527af48a0d))
* [[IOBP-715](https://pagopa.atlassian.net/browse/IOBP-715)] Expired payment methods filtering ([#5903](https://github.com/pagopa/io-app/issues/5903)) ([d4b1cb7](https://github.com/pagopa/io-app/commit/d4b1cb79e39d9847e53ed61ed3ca26b51b5c3420))
* [[IOBP-716](https://pagopa.atlassian.net/browse/IOBP-716)] Empty state payment home alignment ([#5902](https://github.com/pagopa/io-app/issues/5902)) ([62a99b1](https://github.com/pagopa/io-app/commit/62a99b17d2903a30f3eb7efd8c2f372051e114ff))
* [[IOBP-719](https://pagopa.atlassian.net/browse/IOBP-719)] Text of operation error changed ([#5908](https://github.com/pagopa/io-app/issues/5908)) ([df04be6](https://github.com/pagopa/io-app/commit/df04be6ccf8a52d0e693b8d3738d0efc6262df15))
* [[IOBP-721](https://pagopa.atlassian.net/browse/IOBP-721)] Fast payment with PayPal label change ([#5913](https://github.com/pagopa/io-app/issues/5913)) ([1590395](https://github.com/pagopa/io-app/commit/15903958b77e2b56df090bc77c61bea80bf2763d))
* [[IOCOM-1525](https://pagopa.atlassian.net/browse/IOCOM-1525)] PAID badge, new DS ([#5877](https://github.com/pagopa/io-app/issues/5877)) ([ad5e7e4](https://github.com/pagopa/io-app/commit/ad5e7e4f12eac3f416458a10bde21c2100fab498))
* [[IOCOM-1550](https://pagopa.atlassian.net/browse/IOCOM-1550)] New empty archive message ([#5892](https://github.com/pagopa/io-app/issues/5892)) ([2ae1946](https://github.com/pagopa/io-app/commit/2ae19463f8c846a7ca403cebe7708755a5e24b93))
* [[IOCOM-1564](https://pagopa.atlassian.net/browse/IOCOM-1564)] FIMS folder factor refactoring to enable sub-features ([#5905](https://github.com/pagopa/io-app/issues/5905)) ([700dc9d](https://github.com/pagopa/io-app/commit/700dc9d9bb09b7e6f5b9809c747c54ea58ebd687))
* [[IOPID-1995](https://pagopa.atlassian.net/browse/IOPID-1995)] Add logic to use ComposedBodyFromArray into IOScrollViewWithLargeHeader ([#5900](https://github.com/pagopa/io-app/issues/5900)) ([f8422d9](https://github.com/pagopa/io-app/commit/f8422d90724e7f6f48cef37065e7be1a0e113135))
* [[IOPID-1999](https://pagopa.atlassian.net/browse/IOPID-1999)] - Change IdentificationModal behavior displayed on PIN change operation ([#5918](https://github.com/pagopa/io-app/issues/5918)) ([a4c8a17](https://github.com/pagopa/io-app/commit/a4c8a17bd60725a81a159db5747795f517e60a93))
* **cross:** fix CGN e2e tests ([#5917](https://github.com/pagopa/io-app/issues/5917)) ([e130cd1](https://github.com/pagopa/io-app/commit/e130cd17794398457dd118f3c5005b4f6a6655ab))
* **Cross:** [[IOAPPX-316](https://pagopa.atlassian.net/browse/IOAPPX-316)] Remove fixed ratio from `FeaturedServiceCard` ([#5842](https://github.com/pagopa/io-app/issues/5842)) ([0f2399c](https://github.com/pagopa/io-app/commit/0f2399c8d4a09daae7a0d16151ca72188c6b6d02))
* **Cross:** [[IOAPPX-321](https://pagopa.atlassian.net/browse/IOAPPX-321)] Move all the legacy components to the separate `Legacy` section ([#5866](https://github.com/pagopa/io-app/issues/5866)) ([e4091a4](https://github.com/pagopa/io-app/commit/e4091a42218f14e4c73dc9215aedb9674d94cc72))
* **IT Wallet:** [[SIW-1159](https://pagopa.atlassian.net/browse/SIW-1159)] Add XState issuance machine scaffolding ([#5817](https://github.com/pagopa/io-app/issues/5817)) ([408e784](https://github.com/pagopa/io-app/commit/408e784ea7c0c1313fbedbc76b27f167eca09836))
* [[IOPLT-515](https://pagopa.atlassian.net/browse/IOPLT-515)] Adds the saga to handle api requests on trial system ([#5777](https://github.com/pagopa/io-app/issues/5777)) ([5538ed0](https://github.com/pagopa/io-app/commit/5538ed076b58cc7234f150aed6a190b43d206cc6))
* [[IOPLT-516](https://pagopa.atlassian.net/browse/IOPLT-516)] Add CTA to enroll to a trial on Profile section ([#5794](https://github.com/pagopa/io-app/issues/5794)) ([469e872](https://github.com/pagopa/io-app/commit/469e8729af2ba7a3fd09bfcf86d7ffd7584a465b))
* remove FL workflows ([#5911](https://github.com/pagopa/io-app/issues/5911)) ([a5743e7](https://github.com/pagopa/io-app/commit/a5743e78ebbb0e1e321bfab90dc901fa297b9cc2))

## [2.63.0-rc.3](https://github.com/pagopa/io-app/compare/2.63.0-rc.2...2.63.0-rc.3) (2024-06-25)


Expand Down
4 changes: 2 additions & 2 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,8 @@ android {
applicationId "it.pagopa.io.app"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 100154826
versionName "2.63.0.3"
versionCode 100154828
versionName "2.63.0.5"
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
if (isNewArchitectureEnabled()) {
// We configure the CMake build only if you decide to opt-in for the New Architecture.
Expand Down
4 changes: 2 additions & 2 deletions ios/ItaliaApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -744,7 +744,7 @@
CODE_SIGN_ENTITLEMENTS = ItaliaApp/ItaliaApp.entitlements;
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CURRENT_PROJECT_VERSION = 3;
CURRENT_PROJECT_VERSION = 5;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
ENABLE_BITCODE = NO;
Expand Down Expand Up @@ -785,7 +785,7 @@
CODE_SIGN_ENTITLEMENTS = ItaliaApp/ItaliaApp.entitlements;
CODE_SIGN_IDENTITY = "iPhone Distribution";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CURRENT_PROJECT_VERSION = 3;
CURRENT_PROJECT_VERSION = 5;
DEAD_CODE_STRIPPING = YES;
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
ENABLE_BITCODE = NO;
Expand Down
2 changes: 1 addition & 1 deletion ios/ItaliaApp/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>3</string>
<string>5</string>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
2 changes: 1 addition & 1 deletion ios/ItaliaAppTests/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>3</string>
<string>5</string>
</dict>
</plist>
8 changes: 5 additions & 3 deletions locales/en/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1567,7 +1567,7 @@ wallet:
bottomSheetBody: This method doesn’t support online payments.
bottomSheetCTA: Learn more about supported methods
operationCompleted: Operazione completata!
operationError: Disattivazione non riuscita
operationError: Operazione non riuscita
bonus:
name: Discounts, bonuses and other initiatives
description: Public initiatives to support Economy, or services related to payments
Expand Down Expand Up @@ -1775,7 +1775,7 @@ wallet:
confirm: Sì, interrompi
cancel: No, torna indietro
methodType:
fastPayPalPayment: Pagamento veloce con PayPal
fastPayPalPayment: PayPal pagamento veloce
methodSelection:
header: Seleziona un metodo
yourMethods: Saved
Expand Down Expand Up @@ -3143,7 +3143,9 @@ features:
description: "Per questo metodo è attivo il pagamento veloce con il gestore {{pspBusinessName}}."
action: "Cosa significa?"
title: "Cosa significa?"
explainationContent: "Quando hai salvato questo metodo, hai autorizzato {{pspBusinessName}} a gestire le transazioni eseguite tramite “Pagamento veloce con PayPal”.\n\nSe vuoi usare un altro gestore, aggiungi nuovamente il metodo al tuo Portafoglio.\n\nPer revocare l’autorizzazione, rimuovi il metodo dal Portafoglio.\n\nUsa l’app PayPal per modificare la carta o conto bancario su cui addebitare le spese."
explainationContent: "Quando hai salvato questo metodo, hai autorizzato {{pspBusinessName}} a gestire le transazioni eseguite tramite “PayPal pagamento veloce”.\n\nSe vuoi usare un altro gestore, aggiungi nuovamente il metodo al tuo Portafoglio.\n\nPer revocare l’autorizzazione, rimuovi il metodo dal Portafoglio.\n\nUsa l’app PayPal per modificare la carta o conto bancario su cui addebitare le spese."
errors:
transactionCreationError: C’è un problema con i sistemi di pagamento.
itWallet:
card:
status:
Expand Down
8 changes: 5 additions & 3 deletions locales/it/index.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1567,7 +1567,7 @@ wallet:
bottomSheetBody: Questo metodo non è abilitato a effettuare pagamenti online.
bottomSheetCTA: Scopri i metodi supportati
operationCompleted: Operazione completata!
operationError: Disattivazione non riuscita
operationError: Operazione non riuscita
bonus:
name: Sconti, bonus e altre iniziative
description: Iniziative degli enti pubblici a supporto della spesa, o servizi relativi ai pagamenti
Expand Down Expand Up @@ -1775,7 +1775,7 @@ wallet:
confirm: Sì, interrompi
cancel: No, torna indietro
methodType:
fastPayPalPayment: Pagamento veloce con PayPal
fastPayPalPayment: PayPal pagamento veloce
methodSelection:
header: Seleziona un metodo
yourMethods: Salvati
Expand Down Expand Up @@ -3143,7 +3143,9 @@ features:
description: "Per questo metodo è attivo il pagamento veloce con il gestore {{pspBusinessName}}."
action: "Cosa significa?"
title: "Cosa significa?"
explainationContent: "Quando hai salvato questo metodo, hai autorizzato {{pspBusinessName}} a gestire le transazioni eseguite tramite “Pagamento veloce con PayPal”.\n\nSe vuoi usare un altro gestore, aggiungi nuovamente il metodo al tuo Portafoglio.\n\nPer revocare l’autorizzazione, rimuovi il metodo dal Portafoglio.\n\nUsa l’app PayPal per modificare la carta o conto bancario su cui addebitare le spese."
explainationContent: "Quando hai salvato questo metodo, hai autorizzato {{pspBusinessName}} a gestire le transazioni eseguite tramite “PayPal pagamento veloce”.\n\nSe vuoi usare un altro gestore, aggiungi nuovamente il metodo al tuo Portafoglio.\n\nPer revocare l’autorizzazione, rimuovi il metodo dal Portafoglio.\n\nUsa l’app PayPal per modificare la carta o conto bancario su cui addebitare le spese."
errors:
transactionCreationError: C’è un problema con i sistemi di pagamento.
itWallet:
card:
status:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "italia-app",
"version": "2.63.0-rc.3",
"version": "2.63.0-rc.5",
"io_backend_api": "https://raw.githubusercontent.com/pagopa/io-backend/v13.39.1-RELEASE/api_backend.yaml",
"io_public_api": "https://raw.githubusercontent.com/pagopa/io-backend/v13.39.1-RELEASE/api_public.yaml",
"io_content_specs": "https://raw.githubusercontent.com/pagopa/io-services-metadata/1.0.33/definitions.yml",
Expand Down
4 changes: 2 additions & 2 deletions publiccode.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
publiccodeYmlVersion: '0.2'
name: IO
logo: "img/app-logo.svg"
releaseDate: '2024-06-25'
releaseDate: '2024-07-01'
url: 'https://github.com/pagopa/io-app'
applicationSuite: IO
landingURL: 'https://io.italia.it/'
softwareVersion: 2.63.0-rc.3
softwareVersion: 2.63.0-rc.5
developmentStatus: beta
softwareType: standalone/mobile
roadmap: 'https://io.italia.it/'
Expand Down
13 changes: 10 additions & 3 deletions ts/components/ui/IOScrollViewWithLargeHeader.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ import {
} from "../../hooks/useHeaderProps";
import { SupportRequestParams } from "../../hooks/useStartSupportRequest";
import I18n from "../../i18n";
import {
BodyProps,
ComposedBodyFromArray
} from "../core/typography/ComposedBodyFromArray";
import { IOScrollView } from "./IOScrollView";

export type LargeHeaderTitleProps = {
Expand All @@ -28,7 +32,7 @@ type Props = {
children: React.ReactNode;
actions?: ComponentProps<typeof IOScrollView>["actions"];
title: LargeHeaderTitleProps;
description?: string;
description?: string | Array<BodyProps>;
goBack?: BackProps["goBack"];
headerActionsProp?: HeaderActionProps;
canGoback?: boolean;
Expand Down Expand Up @@ -111,10 +115,13 @@ export const IOScrollViewWithLargeHeader = forwardRef<View, Props>(
{description && (
<ContentWrapper>
<VSpacer size={4} />
<Body color="grey-700">{description}</Body>
{typeof description === "string" ? (
<Body color="grey-700">{description}</Body>
) : (
<ComposedBodyFromArray body={description} textAlign="left" />
)}
</ContentWrapper>
)}

<VSpacer size={16} />

{children}
Expand Down
4 changes: 2 additions & 2 deletions ts/features/barcode/analytics/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,12 +156,12 @@ export const trackBarcodeManualEntryPath = (flow: BarcodeAnalyticsFlow) => {
);
};

/* export const trackBarcodePaymentManualEntry = () => {
export const trackBarcodePaymentManualEntry = () => {
void mixpanelTrack(
"QRCODE_PAYMENT_MANUAL_ENTRY",
buildEventProperties("UX", "action")
);
}; */
};

export const trackBarcodeUploadPath = (flow: BarcodeAnalyticsFlow) => {
void mixpanelTrack(
Expand Down
8 changes: 6 additions & 2 deletions ts/features/bonus/cgn/__e2e__/cgn00.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,12 @@ describe("CGN", () => {

it("When the user want to start activation from bonus list, it should complete activation", async () => {
await element(by.text(I18n.t("global.navigator.wallet"))).tap();
await element(by.id("walletAddNewPaymentMethodTestId")).tap();
await element(by.id("bonusNameTestId")).tap();
const plusButton = element(by.id("walletAddNewPaymentMethodTestId"));
await waitFor(plusButton).toBeVisible().withTimeout(e2eWaitRenderTimeout);
await plusButton.tap();
const cgnButton = element(by.id("bonusNameTestId"));
await waitFor(cgnButton).toBeVisible().withTimeout(e2eWaitRenderTimeout);
await cgnButton.tap();
const cgnBonusItem = element(by.id(`AvailableBonusItem-${ID_CGN_TYPE}`));
await waitFor(cgnBonusItem).toBeVisible().withTimeout(e2eWaitRenderTimeout);
await cgnBonusItem.tap();
Expand Down
10 changes: 2 additions & 8 deletions ts/features/bonus/cgn/__e2e__/cgn02.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { ensureLoggedIn } from "../../../../__e2e__/utils";
import I18n from "../../../../i18n";
import { activateCGNBonusSuccess, deactivateCGNCardIfNeeded } from "./utils";
const CGN_TITLE = "Carta Giovani Nazionale";
const SERVICES_LIST = "services-list";

describe("CGN", () => {
beforeEach(async () => {
Expand All @@ -15,16 +14,11 @@ describe("CGN", () => {
it("When the user want to start activation from service detail, it should complete activation", async () => {
await element(by.text(I18n.t("global.navigator.services"))).tap();

await waitFor(element(by.id(SERVICES_LIST)))
await waitFor(element(by.text(CGN_TITLE)))
.toBeVisible()
.withTimeout(e2eWaitRenderTimeout);

await waitFor(element(by.id(CGN_TITLE)))
.toBeVisible()
.whileElement(by.id(SERVICES_LIST))
.scroll(300, "down");

await element(by.id(CGN_TITLE)).tap();
await element(by.text(CGN_TITLE)).tap();
const startActivationCta = element(by.id("service-activate-bonus-button"));
await waitFor(startActivationCta)
.toBeVisible()
Expand Down
19 changes: 8 additions & 11 deletions ts/features/bonus/cgn/__e2e__/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,21 @@ export const activateCGNBonusSuccess = async () => {
// Go to bonus details
await element(by.id("cgnConfirmButtonTestId")).tap();

// wait for unsubscribe cta
const scrollView = element(by.id("CGNCardDetailsScrollView"));

// The section has a loading spinner on top of
// everything so we must wait for it to disappear
await waitFor(scrollView)
.toBeVisible()
.withTimeout(2 * e2eWaitRenderTimeout);

// make sure to scroll to bottom, otherwise in small devices the element will not be visible nor tappable
await scrollView.scrollTo("bottom");

const unsubscribeCgnCta = element(
by.id("service-cgn-deactivate-bonus-button")
);
await waitFor(unsubscribeCgnCta)
.toBeVisible()
.withTimeout(e2eWaitRenderTimeout);
.whileElement(by.id("CGNCardDetailsScrollView"))
.scroll(150, "down", NaN, 0.8)
.catch(async _ => {
await waitFor(unsubscribeCgnCta)
.toBeVisible()
.withTimeout(e2eWaitRenderTimeout);
});

// unsubscribe
await unsubscribeCgnCta.tap();

Expand Down
2 changes: 1 addition & 1 deletion ts/features/bonus/cgn/components/detail/CgnUnsubscribe.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ const CgnUnsubscribe = () => {
accessibilityLabel={I18n.t("bonus.cgn.cta.deactivateBonus")}
variant="danger"
label={I18n.t("bonus.cgn.cta.deactivateBonus")}
testID="cgnDeactivateBonusTestId"
testID="service-cgn-deactivate-bonus-button"
onPress={requestUnsubscription}
icon="trashcan"
/>
Expand Down
1 change: 1 addition & 0 deletions ts/features/bonus/cgn/screens/CgnDetailScreen.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@ const CgnDetailScreen = (props: Props): React.ReactElement => {
snapToOffsets={[0, headerHeight]}
snapToEnd={false}
decelerationRate="normal"
testID={"CGNCardDetailsScrollView"}
>
<View
style={{ height: 260, backgroundColor: HEADER_BACKGROUND_COLOR }}
Expand Down
Loading

0 comments on commit aa0e2cb

Please sign in to comment.