Skip to content

Commit 34ce84a

Browse files
committed
Merge branch 'master' into IOCOM-2939_sendLPPlayground
# Conflicts: # ts/sagas/startup.ts
2 parents 00be75d + 1891e18 commit 34ce84a

File tree

22 files changed

+519
-128
lines changed

22 files changed

+519
-128
lines changed

CHANGELOG.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,45 @@
22

33
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.
44

5+
## [3.24.0-rc.3](https://github.com/pagopa/io-app/compare/3.24.0-rc.2...3.24.0-rc.3) (2026-02-11)
6+
7+
8+
### Features
9+
10+
* [[IOPLT-1438](https://pagopa.atlassian.net/browse/IOPLT-1438)] App should stop startup if the version is not supported ([#7745](https://github.com/pagopa/io-app/issues/7745)) ([25c9c73](https://github.com/pagopa/io-app/commit/25c9c734af6486fa2a4137a4161eac5de78b622e))
11+
12+
13+
### Bug Fixes
14+
15+
* **IT Wallet:** [[SIW-3552](https://pagopa.atlassian.net/browse/SIW-3552),[SIW-3651](https://pagopa.atlassian.net/browse/SIW-3651)] A11y issues while reading CIE ([#7806](https://github.com/pagopa/io-app/issues/7806)) ([a991ba4](https://github.com/pagopa/io-app/commit/a991ba490f2edc601bf961c09be8aa53a6dde108))
16+
* **IT-Wallet:** [[SIW-3660](https://pagopa.atlassian.net/browse/SIW-3660)] Add credential upgrade failure persist handling in IT wallet ([#7814](https://github.com/pagopa/io-app/issues/7814)) ([5d448e1](https://github.com/pagopa/io-app/commit/5d448e11ff7ccd7cc8651536b1e05aad5d83fb10))
17+
18+
## [3.24.0-rc.2](https://github.com/pagopa/io-app/compare/3.24.0-rc.1...3.24.0-rc.2) (2026-02-11)
19+
20+
21+
### Features
22+
23+
* [[IOCOM-2898](https://pagopa.atlassian.net/browse/IOCOM-2898)] aar cie errors zendesk connection ([#7843](https://github.com/pagopa/io-app/issues/7843)) ([d91e90c](https://github.com/pagopa/io-app/commit/d91e90c45011255b6e3167cb0c25703ce002f119))
24+
* **IT-Wallet:** [[SIW-3721](https://pagopa.atlassian.net/browse/SIW-3721)] Add dark mode for new brand identity ([#7830](https://github.com/pagopa/io-app/issues/7830)) ([c405003](https://github.com/pagopa/io-app/commit/c405003f4cfdf2eaea4bcfe04cd4ac24269e9960)), closes [/#diff-88874b309bec6fbdd047548ea4134c113200d85c4652177c4952ff3ce44e0d63R1-R9](https://github.com/pagopa///issues/diff-88874b309bec6fbdd047548ea4134c113200d85c4652177c4952ff3ce44e0d63R1-R9) [/#diff-882f6135c83acf51ade1ac557c0243980ae393344e8cff4b5361c5e677b73fb9R1-R9](https://github.com/pagopa///issues/diff-882f6135c83acf51ade1ac557c0243980ae393344e8cff4b5361c5e677b73fb9R1-R9) [/#diff-58ad4e95bf385939a603dccaa832acf89e548bedf0cb43fd8427f55eed808047L4-R11](https://github.com/pagopa///issues/diff-58ad4e95bf385939a603dccaa832acf89e548bedf0cb43fd8427f55eed808047L4-R11) [/#diff-3c3b0b7a84d22a998d6db4e87d46270ebeafef50c96cbb413b12aa60fdcc5f03L9-R11](https://github.com/pagopa///issues/diff-3c3b0b7a84d22a998d6db4e87d46270ebeafef50c96cbb413b12aa60fdcc5f03L9-R11) [/#diff-3c3b0b7a84d22a998d6db4e87d46270ebeafef50c96cbb413b12aa60fdcc5f03L35-R35](https://github.com/pagopa///issues/diff-3c3b0b7a84d22a998d6db4e87d46270ebeafef50c96cbb413b12aa60fdcc5f03L35-R35) [/#diff-9d9c7934d2c0776ab2077cf9d5fb915b6db157d27fb7ae31ed8f04f488345446L14-R14](https://github.com/pagopa///issues/diff-9d9c7934d2c0776ab2077cf9d5fb915b6db157d27fb7ae31ed8f04f488345446L14-R14) [/#diff-9d9c7934d2c0776ab2077cf9d5fb915b6db157d27fb7ae31ed8f04f488345446L92-R92](https://github.com/pagopa///issues/diff-9d9c7934d2c0776ab2077cf9d5fb915b6db157d27fb7ae31ed8f04f488345446L92-R92) [/#diff-a19e69a4f68f88997dadbf7b905bafc4eea3886137d1b41c48bcf3b937543005L1-R31](https://github.com/pagopa///issues/diff-a19e69a4f68f88997dadbf7b905bafc4eea3886137d1b41c48bcf3b937543005L1-R31) [/#diff-a19e69a4f68f88997dadbf7b905bafc4eea3886137d1b41c48bcf3b937543005L26-R47](https://github.com/pagopa///issues/diff-a19e69a4f68f88997dadbf7b905bafc4eea3886137d1b41c48bcf3b937543005L26-R47) [/#diff-a19e69a4f68f88997dadbf7b905bafc4eea3886137d1b41c48bcf3b937543005L42-L49](https://github.com/pagopa///issues/diff-a19e69a4f68f88997dadbf7b905bafc4eea3886137d1b41c48bcf3b937543005L42-L49)
25+
* **IT-Wallet:** [[SIW-3746](https://pagopa.atlassian.net/browse/SIW-3746)] Handle credential issuance deeplinks ([#7809](https://github.com/pagopa/io-app/issues/7809)) ([e8c1cee](https://github.com/pagopa/io-app/commit/e8c1cee3baca2ce25ed1cb38a0034ac85e1c30d0)), closes [/#diff-7035387241f9ffc0b47fcce3652c0d69a6138a4c39a5f82ad7ddb23cd96d454eR1-R31](https://github.com/pagopa///issues/diff-7035387241f9ffc0b47fcce3652c0d69a6138a4c39a5f82ad7ddb23cd96d454eR1-R31) [/#diff-106d92e2b59742e223efffe69b9cc1089dc506b8a63272f9f13d7c9a2b32ee3eR1-R51](https://github.com/pagopa///issues/diff-106d92e2b59742e223efffe69b9cc1089dc506b8a63272f9f13d7c9a2b32ee3eR1-R51) [/#diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aL8-R10](https://github.com/pagopa///issues/diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aL8-R10) [/#diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aR28-R37](https://github.com/pagopa///issues/diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aR28-R37) [/#diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aR119-R145](https://github.com/pagopa///issues/diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aR119-R145) [/#diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aL133-R156](https://github.com/pagopa///issues/diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aL133-R156) [/#diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aL293-L303](https://github.com/pagopa///issues/diff-b603c59a571ef157de2c8e64cf76db5edce8872819f84cb357cb44c92e97c12aL293-L303) [/#diff-e545693a4bcf59582d71eb1e1659cf0c830abdc0c26ce39164b2dfda15ce78aeR5](https://github.com/pagopa///issues/diff-e545693a4bcf59582d71eb1e1659cf0c830abdc0c26ce39164b2dfda15ce78aeR5) [/#diff-e545693a4bcf59582d71eb1e1659cf0c830abdc0c26ce39164b2dfda15ce78aeR19-R24](https://github.com/pagopa///issues/diff-e545693a4bcf59582d71eb1e1659cf0c830abdc0c26ce39164b2dfda15ce78aeR19-R24) [/#diff-e545693a4bcf59582d71eb1e1659cf0c830abdc0c26ce39164b2dfda15ce78aeL69-L71](https://github.com/pagopa///issues/diff-e545693a4bcf59582d71eb1e1659cf0c830abdc0c26ce39164b2dfda15ce78aeL69-L71) [/#diff-b03bda69819b848edd18763e45f3643fddc394674e05c36fdb32e43fd55b0d62R10-R16](https://github.com/pagopa///issues/diff-b03bda69819b848edd18763e45f3643fddc394674e05c36fdb32e43fd55b0d62R10-R16) [/#diff-b03bda69819b848edd18763e45f3643fddc394674e05c36fdb32e43fd55b0d62L65-R72](https://github.com/pagopa///issues/diff-b03bda69819b848edd18763e45f3643fddc394674e05c36fdb32e43fd55b0d62L65-R72) [/#diff-891e35978c15dc8e04ac5f313d29e0623beba8bef31bf5e4a10bf39231d480ceL3-R54](https://github.com/pagopa///issues/diff-891e35978c15dc8e04ac5f313d29e0623beba8bef31bf5e4a10bf39231d480ceL3-R54) [/#diff-891e35978c15dc8e04ac5f313d29e0623beba8bef31bf5e4a10bf39231d480ceR63-R73](https://github.com/pagopa///issues/diff-891e35978c15dc8e04ac5f313d29e0623beba8bef31bf5e4a10bf39231d480ceR63-R73)
26+
27+
28+
### Bug Fixes
29+
30+
* [[IOPID-3734](https://pagopa.atlassian.net/browse/IOPID-3734)] Update `reason` property of the `LOGIN_FAILURE` event ([#7855](https://github.com/pagopa/io-app/issues/7855)) ([2797ac6](https://github.com/pagopa/io-app/commit/2797ac6f919a6a92dc34e9d3df590427bb7b326f)), closes [/#diff-e5b73291fb15adfaf5300ede688626eae4faac0bc73a404e07d1eef8e450b526L112-R112](https://github.com/pagopa///issues/diff-e5b73291fb15adfaf5300ede688626eae4faac0bc73a404e07d1eef8e450b526L112-R112) [/#diff-bc38dde8cc9e718e066c3ddad6056ceaa78f8e590dc8b9505ef3c213d9dd1cc7L120-R120](https://github.com/pagopa///issues/diff-bc38dde8cc9e718e066c3ddad6056ceaa78f8e590dc8b9505ef3c213d9dd1cc7L120-R120) [/#diff-0c058287772cc12261d6e96149712d0798a5c96133aaf882851adc6f8bd6e1f0L170-R170](https://github.com/pagopa///issues/diff-0c058287772cc12261d6e96149712d0798a5c96133aaf882851adc6f8bd6e1f0L170-R170) [/#diff-a7cb9faa93c9049f1f761c1bd7fe3a01a91f2f2cdf389cff683115a26219e666L246-R246](https://github.com/pagopa///issues/diff-a7cb9faa93c9049f1f761c1bd7fe3a01a91f2f2cdf389cff683115a26219e666L246-R246) [/#diff-a7cb9faa93c9049f1f761c1bd7fe3a01a91f2f2cdf389cff683115a26219e666R255-R261](https://github.com/pagopa///issues/diff-a7cb9faa93c9049f1f761c1bd7fe3a01a91f2f2cdf389cff683115a26219e666R255-R261)
31+
* [[IOPLT-000](https://pagopa.atlassian.net/browse/IOPLT-000)] Android `Toast` component position ([#7854](https://github.com/pagopa/io-app/issues/7854)) ([040be60](https://github.com/pagopa/io-app/commit/040be608b7b505fb342b3c1ba2fdcc2bc1ae536f))
32+
* **IT Wallet:** [[SIW-3649](https://pagopa.atlassian.net/browse/SIW-3649)] A11y issue link not reachable ([#7821](https://github.com/pagopa/io-app/issues/7821)) ([e03c09a](https://github.com/pagopa/io-app/commit/e03c09a4c392e86d38125f4a01d608c5e2cee69d))
33+
* [[IEG-2587](https://pagopa.atlassian.net/browse/IEG-2587)] Adjust Mixpanel event trigger on contextual onboarding ([#7846](https://github.com/pagopa/io-app/issues/7846)) ([aad947b](https://github.com/pagopa/io-app/commit/aad947b03fd12a283dbe2f078e2d4818cd9707ce))
34+
35+
36+
### Chores
37+
38+
* **IT Wallet:** [[SIW-3654](https://pagopa.atlassian.net/browse/SIW-3654)] Add accessibility label for error code in support modal ([#7827](https://github.com/pagopa/io-app/issues/7827)) ([b5988a9](https://github.com/pagopa/io-app/commit/b5988a9b06224ed00f2dd8cfc92f665852594938))
39+
* [[IOBP-000](https://pagopa.atlassian.net/browse/IOBP-000)] Update biz event tag ([#7859](https://github.com/pagopa/io-app/issues/7859)) ([d2a897c](https://github.com/pagopa/io-app/commit/d2a897c6f2bdc41b444d7c3454d8f23a5bde7ee2))
40+
* **IT-Wallet:** [[SIW-3572](https://pagopa.atlassian.net/browse/SIW-3572)] Tracking events in ITW settings screen ([#7847](https://github.com/pagopa/io-app/issues/7847)) ([14e1af4](https://github.com/pagopa/io-app/commit/14e1af4a6dc4f8b54456abdba89ac34a369dceac))
41+
* **IT-Wallet:** [[SIW-3746](https://pagopa.atlassian.net/browse/SIW-3746)] Add unit tests for [#7809](https://github.com/pagopa/io-app/issues/7809) ([#7851](https://github.com/pagopa/io-app/issues/7851)) ([70a0a07](https://github.com/pagopa/io-app/commit/70a0a07af4552eb4575467b896b106c347df2bdd))
42+
* **IT-Wallet:** [[SIW-3875](https://pagopa.atlassian.net/browse/SIW-3875)] Update Wallet Provider base URL ([#7852](https://github.com/pagopa/io-app/issues/7852)) ([92fd8f6](https://github.com/pagopa/io-app/commit/92fd8f6014e126538cb65595ce79b0bea77c4f9d))
43+
544
## [3.24.0-rc.1](https://github.com/pagopa/io-app/compare/3.24.0-rc.0...3.24.0-rc.1) (2026-02-09)
645

746

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ android {
119119
applicationId "it.pagopa.io.app"
120120
minSdkVersion rootProject.ext.minSdkVersion
121121
targetSdkVersion rootProject.ext.targetSdkVersion
122-
versionCode 100155121
123-
versionName "3.24.0.1"
122+
versionCode 100155123
123+
versionName "3.24.0.3"
124124
multiDexEnabled true
125125
manifestPlaceholders = [usesCleartextTraffic: "true"]
126126
// The resConfigs attribute will remove all not required localized resources while building the application,

ios/IO.xcodeproj/project.pbxproj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -576,7 +576,7 @@
576576
CODE_SIGN_ENTITLEMENTS = IO/IO.entitlements;
577577
CODE_SIGN_IDENTITY = "Apple Development";
578578
CODE_SIGN_STYLE = Automatic;
579-
CURRENT_PROJECT_VERSION = 1;
579+
CURRENT_PROJECT_VERSION = 3;
580580
DEAD_CODE_STRIPPING = YES;
581581
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
582582
ENABLE_BITCODE = NO;
@@ -613,7 +613,7 @@
613613
CODE_SIGN_ENTITLEMENTS = IO/IO.entitlements;
614614
CODE_SIGN_IDENTITY = "Apple Development";
615615
CODE_SIGN_STYLE = Automatic;
616-
CURRENT_PROJECT_VERSION = 1;
616+
CURRENT_PROJECT_VERSION = 3;
617617
DEAD_CODE_STRIPPING = YES;
618618
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
619619
ENABLE_BITCODE = NO;
@@ -854,7 +854,7 @@
854854
CODE_SIGN_ENTITLEMENTS = IO/IO.entitlements;
855855
CODE_SIGN_IDENTITY = "Apple Development";
856856
CODE_SIGN_STYLE = Automatic;
857-
CURRENT_PROJECT_VERSION = 1;
857+
CURRENT_PROJECT_VERSION = 3;
858858
DEAD_CODE_STRIPPING = YES;
859859
DEVELOPMENT_TEAM = M2X5YQ4BJ7;
860860
ENABLE_BITCODE = NO;

ios/IO/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
</dict>
3939
</array>
4040
<key>CFBundleVersion</key>
41-
<string>1</string>
41+
<string>3</string>
4242
<key>ITSAppUsesNonExemptEncryption</key>
4343
<false/>
4444
<key>LSApplicationQueriesSchemes</key>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "io",
3-
"version": "3.24.0-rc.1",
3+
"version": "3.24.0-rc.3",
44
"private": true,
55
"scripts": {
66
"start": "react-native start",

publiccode.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ releaseDate: "2024-11-21"
99
url: "https://github.com/pagopa/io-app"
1010
applicationSuite: IO
1111
landingURL: "https://ioapp.it/"
12-
softwareVersion: 3.24.0-rc.1
12+
softwareVersion: 3.24.0-rc.3
1313
developmentStatus: beta
1414
softwareType: standalone/mobile
1515
roadmap: "https://ioapp.it/"

ts/features/common/components/cie/CieCardReadContent.tsx

Lines changed: 57 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,18 @@ import {
1414
VSpacer,
1515
VStack
1616
} from "@pagopa/io-app-design-system";
17-
import { Millisecond } from "@pagopa/ts-commons/lib/units";
18-
import { useFocusEffect } from "@react-navigation/native";
19-
import { useCallback, useEffect, useRef, useState } from "react";
20-
import { Platform, View } from "react-native";
17+
import { useEffect, useState } from "react";
18+
import { AccessibilityInfo, View } from "react-native";
2119
import Animated, {
2220
useAnimatedStyle,
2321
useSharedValue,
2422
withSpring
2523
} from "react-native-reanimated";
2624
import { CircularProgress } from "../../../../components/ui/CircularProgress";
2725
import { IOScrollView } from "../../../../components/ui/IOScrollView";
28-
import { setAccessibilityFocus } from "../../../../utils/accessibility";
2926
import { isDevEnv } from "../../../../utils/environment";
3027
import { platformSelect } from "../../utils";
3128

32-
const accessibityTimeout = 100 as Millisecond;
33-
3429
export type CieCardReadContentProps = {
3530
progress?: number;
3631
title: string;
@@ -47,26 +42,22 @@ export type CieCardReadContentProps = {
4742
/**
4843
* Renders the title component title based on the platform
4944
*/
50-
const Title = ({ title }: Pick<CieCardReadContentProps, "title">) => {
51-
const titleRef = useRef<View>(null);
52-
53-
useFocusEffect(
54-
useCallback(() => {
55-
if (!titleRef.current && Platform.OS === "android") {
56-
setAccessibilityFocus(titleRef, accessibityTimeout);
57-
}
58-
}, [])
59-
);
60-
61-
return (
62-
<View accessible ref={titleRef}>
63-
{platformSelect({
64-
ios: <H4>{title}</H4>,
65-
default: <H3 style={{ textAlign: "center" }}>{title}</H3>
66-
})}
67-
</View>
68-
);
69-
};
45+
const Title = ({ title }: Pick<CieCardReadContentProps, "title">) => (
46+
<View>
47+
{/* A11y live node */}
48+
<View
49+
accessible
50+
accessibilityLiveRegion="polite"
51+
accessibilityLabel={title}
52+
style={{ position: "absolute", width: 1, height: 1, opacity: 0 }}
53+
importantForAccessibility="yes"
54+
/>
55+
{platformSelect({
56+
ios: <H4>{title}</H4>,
57+
default: <H3 style={{ textAlign: "center" }}>{title}</H3>
58+
})}
59+
</View>
60+
);
7061

7162
/**
7263
* Renders the component subtitle based on the platform and progress
@@ -210,32 +201,46 @@ const ContentIos = (props: CieCardReadContentProps) => (
210201
</ContentWrapper>
211202
);
212203

213-
const ContentAndroid = (props: CieCardReadContentProps) => (
214-
<IOScrollView centerContent>
215-
<ContentWrapper>
216-
<VStack space={24}>
217-
<CircularProgress
218-
size={240}
219-
radius={120}
220-
progress={(props.progress || 0) * 100}
221-
strokeColor={IOColors["blueIO-500"]}
222-
strokeBgColor={IOColors["grey-200"]}
223-
strokeWidth={4}
224-
>
225-
<Pictogram size={180} name={props.pictogram} />
226-
</CircularProgress>
227-
<VStack space={8}>
228-
<Title title={props.title} />
229-
<Subtitle subtitle={props.subtitle} />
204+
const ContentAndroid = (props: CieCardReadContentProps) => {
205+
const announceStep = 30;
206+
207+
const progressPercent = Math.round(
208+
Math.max(Math.min(props.progress ?? 0, 1.0), 0) * 100
209+
);
210+
211+
const stepped = Math.floor(progressPercent / announceStep) * announceStep;
212+
213+
useEffect(() => {
214+
AccessibilityInfo.announceForAccessibility(`${stepped}%`);
215+
}, [stepped]);
216+
217+
return (
218+
<IOScrollView centerContent>
219+
<ContentWrapper>
220+
<VStack space={24}>
221+
<CircularProgress
222+
size={240}
223+
radius={120}
224+
progress={(props.progress || 0) * 100}
225+
strokeColor={IOColors["blueIO-500"]}
226+
strokeBgColor={IOColors["grey-200"]}
227+
strokeWidth={4}
228+
>
229+
<Pictogram size={180} name={props.pictogram} />
230+
</CircularProgress>
231+
<VStack space={8}>
232+
<Title title={props.title} />
233+
<Subtitle subtitle={props.subtitle} />
234+
</VStack>
235+
<Actions
236+
primaryAction={props.primaryAction}
237+
secondaryAction={props.secondaryAction}
238+
/>
230239
</VStack>
231-
<Actions
232-
primaryAction={props.primaryAction}
233-
secondaryAction={props.secondaryAction}
234-
/>
235-
</VStack>
236-
</ContentWrapper>
237-
</IOScrollView>
238-
);
240+
</ContentWrapper>
241+
</IOScrollView>
242+
);
243+
};
239244

240245
/**
241246
* Renders the read progress screen content based on the platform.

0 commit comments

Comments
 (0)