diff --git a/.github/workflows/actions/early-exit-check/action.yml b/.github/workflows/actions/early-exit-check/action.yml new file mode 100644 index 000000000..22e022056 --- /dev/null +++ b/.github/workflows/actions/early-exit-check/action.yml @@ -0,0 +1,27 @@ +name: Check for early exit +description: | + This action checks for changes in specific directories and + exits early if there are none + +runs: + using: composite + steps: + - name: Check location of changed files + shell: bash + run: | + change_count=$(git diff --name-only origin/main..HEAD | grep -E '^(app/.*)|(.yarn/.*)|(.github/workflows/.*)' | wc -l) + echo "$change_count files changed in app, .yarn, or .github/workflows" + if [ $change_count -gt 0 ]; then + # A result greater than 0 means there are changes + # in the specified directories. + echo "result=false" >> $GITHUB_OUTPUT + else + echo "result=true" >> $GITHUB_OUTPUT + fi + + # - name: Record output + # if: env.output > 0 + # shell: bash + # run: | + # echo "${{ env.output }} files changed in app, .yarn, or .github/workflows" + # echo "result=false" >> $GITHUB_OUTPUT diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 46874bd0a..82ee86f31 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -14,15 +14,6 @@ on: - .github/workflows/** pull_request: branches: [main] - paths: - - app/** - - .yarn/** - - .github/workflows/** - - .gitmodules - - package.json - - yarn.lock - - .yarnrc.yml - - .yarn/** jobs: check-secrets: @@ -82,6 +73,17 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all branches, main needed. + + - name: Run early exit check + id: should_early_exit + uses: ./.github/workflows/actions/early-exit-check + + - name: Exit if no changes in core paths + if: steps.should_early_exit.outputs.result == 'true' + run: | + exit 0 - uses: actions/setup-python@v5 with: @@ -242,6 +244,17 @@ jobs: packages: write steps: - uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all branches, main needed. + + - name: Run early exit check + id: should_early_exit + uses: ./.github/workflows/actions/early-exit-check + + - name: Exit if no changes in core paths + if: steps.should_early_exit.outputs.result == 'true' + run: | + exit 0 - uses: actions/setup-python@v5 with: diff --git a/.gitignore b/.gitignore index af3e3fc04..df4457459 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,5 @@ app/vendor/bundle/** # child packages bifold/ +aries-oca-bundles/ +credo-ts/ diff --git a/app/App.tsx b/app/App.tsx index 8dbb5576e..86d1d5d00 100644 --- a/app/App.tsx +++ b/app/App.tsx @@ -15,6 +15,7 @@ import { initLanguages, ContainerProvider, MainContainer, + InactivityWrapper, } from '@hyperledger/aries-bifold-core' import { useNavigation } from '@react-navigation/native' import React, { useEffect, useState, useMemo } from 'react' @@ -68,31 +69,33 @@ const App = () => { - diff --git a/app/ios/Podfile.lock b/app/ios/Podfile.lock index f277478fc..80fb817a6 100644 --- a/app/ios/Podfile.lock +++ b/app/ios/Podfile.lock @@ -445,7 +445,7 @@ PODS: - React-jsinspector (0.72.5) - React-logger (0.72.5): - glog - - "react-native-attestation (1.0.0-alpha.346+6366eb31)": + - "react-native-attestation (1.0.0-alpha.349+c6ac1461)": - RCT-Folly (= 2021.07.22.00) - React-Core - react-native-config (1.5.0): @@ -931,7 +931,7 @@ SPEC CHECKSUMS: React-jsiexecutor: ff70a72027dea5cc7d71cfcc6fad7f599f63987a React-jsinspector: aef73cbd43b70675f572214d10fa438c89bf11ba React-logger: 2e4aee3e11b3ec4fa6cfd8004610bbb3b8d6cca4 - react-native-attestation: 9a66b5137d7d56d58c28efef378b1f579eec87e7 + react-native-attestation: 4ed85b84821a28dde29078e202e3831d47e73813 react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727 react-native-encrypted-storage: db300a3f2f0aba1e818417c1c0a6be549038deb7 react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a diff --git a/app/package.json b/app/package.json index 97e5677b1..574c6348d 100644 --- a/app/package.json +++ b/app/package.json @@ -62,11 +62,11 @@ "@formatjs/intl-relativetimeformat": "9.3.1", "@hyperledger/anoncreds-react-native": "0.2.4", "@hyperledger/aries-askar-react-native": "0.2.3", - "@hyperledger/aries-bifold-core": "1.0.0-alpha.346", - "@hyperledger/aries-bifold-remote-logs": "1.0.0-alpha.346", - "@hyperledger/aries-bifold-verifier": "1.0.0-alpha.346", - "@hyperledger/aries-oca": "1.0.0-alpha.346", - "@hyperledger/aries-react-native-attestation": "1.0.0-alpha.346", + "@hyperledger/aries-bifold-core": "1.0.0-alpha.349", + "@hyperledger/aries-bifold-remote-logs": "1.0.0-alpha.349", + "@hyperledger/aries-bifold-verifier": "1.0.0-alpha.349", + "@hyperledger/aries-oca": "1.0.0-alpha.349", + "@hyperledger/aries-react-native-attestation": "1.0.0-alpha.349", "@hyperledger/indy-vdr-react-native": "0.2.2", "@hyperledger/indy-vdr-shared": "0.2.2", "@react-native-async-storage/async-storage": "1.15.11", diff --git a/app/src/localization/en/index.ts b/app/src/localization/en/index.ts index 8b9590091..c0e91c485 100644 --- a/app/src/localization/en/index.ts +++ b/app/src/localization/en/index.ts @@ -47,9 +47,9 @@ const translation = { }, "Onboarding": { "DifferentWalletHeading": "A different smart wallet", - "DifferentWalletParagraph": "Unlike other digital wallets, BC Wallet helps you prove who you are in-person or online by storing and using digital credentials issued by participating services.\n\nInteract with confidence with individuals and organisations you trust.", + "DifferentWalletParagraph": "Unlike other digital wallets, BC Wallet helps you prove who you are in-person or online by storing and using digital credentials issued by participating services.\n\nInteract with confidence with individuals and organizations you trust.", "DigitalCredentialsHeading": "Digital credentials", - "DigitalCredentialsParagraph": "Digital credentials are the electronic equivalent of physical credentials such as certifications and permits offered by participating services.\n\nServices are simplified and expedited as organisations and individuals can confirm who you are with trusted information from digital credentials.", + "DigitalCredentialsParagraph": "Digital credentials are the electronic equivalent of physical credentials such as certifications and permits offered by participating services.\n\nServices are simplified and expedited as organizations and individuals can confirm who you are with trusted information from digital credentials.", "PrivateConfidentialHeading": "Private and confidential", "PrivateConfidentialParagraph": "Your privacy is important.\n\nThe B.C. government doesn't know when you use digital credentials, unless you're interacting with them. No analytics are recorded.\n\nYou approve every use of your digital credentials, and only provide the information that's needed.", "GetStarted": "Get Started", @@ -153,7 +153,7 @@ const translation = { "Tip11": "You can turn on the camera flash if the QR code is hard to see", "Tip12": "If the QR code isn't scanning, try increasing the screen's brightness", "Tip13": "Information sent via your wallet is trusted by you and your Contacts you interact with", - "Tip14": "Even revoked or expired credentials can be usable if the organisation doesn't request for it", + "Tip14": "Even revoked or expired credentials can be usable if the organization doesn't request for it", }, "Init": { "Retry": "Retry", diff --git a/yarn.lock b/yarn.lock index 605d7c4f8..d6796c6f6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3253,9 +3253,9 @@ __metadata: languageName: node linkType: hard -"@hyperledger/aries-bifold-core@npm:1.0.0-alpha.346": - version: 1.0.0-alpha.346 - resolution: "@hyperledger/aries-bifold-core@npm:1.0.0-alpha.346" +"@hyperledger/aries-bifold-core@npm:1.0.0-alpha.349": + version: 1.0.0-alpha.349 + resolution: "@hyperledger/aries-bifold-core@npm:1.0.0-alpha.349" peerDependencies: "@credo-ts/anoncreds": 0.5.11 "@credo-ts/askar": 0.5.11 @@ -3330,13 +3330,13 @@ __metadata: uuid: ^9.0.0 bin: bifold: bin/bifold - checksum: a7c013326c756cfd2ac1bff7d7c80876b4e66229d08e7a7656744767f7b970dc45ebc77bbf1c29ec43128fcbde03c0687d3a4182b01439a9b102b185813d0460 + checksum: 989061be159b25af8ced9d78613767d1401d5f73c3b881312432c0731f790d3c77e19b0fdc4131c28db12d817d455a84beae5bae7fd3c1fe668000a4e412bfb8 languageName: node linkType: hard -"@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.346": - version: 1.0.0-alpha.346 - resolution: "@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.346" +"@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.349": + version: 1.0.0-alpha.349 + resolution: "@hyperledger/aries-bifold-remote-logs@npm:1.0.0-alpha.349" peerDependencies: "@credo-ts/core": 0.5.11 axios: ^1.4.0 @@ -3344,43 +3344,43 @@ __metadata: react: ^18.2.0 react-native: ^0.72.5 react-native-logs: ^5.1.0 - checksum: 58c609703ad6136b209a508855814e354ed0c78e6f87d42cbb6a402dfcb99eb7d22d09dc692519174ea2eaea9818194f5cb7df736f0389e7b8a4fe3cfd787af8 + checksum: e54fadf19286c620247061459aeb272bea41023fbcb4c52d41325a9bd955759e069db27673ffdd43ee3b0be9d3c7147439d1dc64aa798617c5993293528475cc languageName: node linkType: hard -"@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.346": - version: 1.0.0-alpha.346 - resolution: "@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.346" +"@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.349": + version: 1.0.0-alpha.349 + resolution: "@hyperledger/aries-bifold-verifier@npm:1.0.0-alpha.349" peerDependencies: "@credo-ts/anoncreds": 0.5.11 "@credo-ts/core": 0.5.11 "@credo-ts/react-hooks": ^0.6.0 "@hyperledger/anoncreds-shared": 0.2.4 react: ^18.2.0 - checksum: aed520ab96319165d4db0cd115ef546285c92118c82f7de6683323154ce9c1c9433c1d2b17ef7f71b1b10e0712a63d61010ff479c5bee0e4d2604114e14dba4c + checksum: 738ea088eecef2affd8e8a51e5f3740e14dd15d4ea04ac9af83efb8339cc818a3c8a6998ead4bf0bc136c8930b0a74e31f5841fc5adb45cecfafb950407f8bb1 languageName: node linkType: hard -"@hyperledger/aries-oca@npm:1.0.0-alpha.346": - version: 1.0.0-alpha.346 - resolution: "@hyperledger/aries-oca@npm:1.0.0-alpha.346" +"@hyperledger/aries-oca@npm:1.0.0-alpha.349": + version: 1.0.0-alpha.349 + resolution: "@hyperledger/aries-oca@npm:1.0.0-alpha.349" dependencies: "@credo-ts/anoncreds": "npm:0.5.11" "@credo-ts/core": "npm:0.5.11" axios: "npm:^1.4.0" lodash.startcase: "npm:^4.4.0" react-native-fs: "npm:^2.16.6" - checksum: 21eca966736e2de09a03349c655fce502b74fc93ce3d78999695ddd835d9eb5ccc9a0b0d35f7270b160a6ae6f2191e665e8b574e16ea5e76fd24fcfe66bc5b84 + checksum: 8fe286a00c3a4397eef2e610adc5ecadf0c305d0a4a58a1dd0e000fcd7c5de58a1cbd22d1cbce79c273c90001e3f229f4cad9ad8ba507064208743925cb108e8 languageName: node linkType: hard -"@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.346": - version: 1.0.0-alpha.346 - resolution: "@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.346" +"@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.349": + version: 1.0.0-alpha.349 + resolution: "@hyperledger/aries-react-native-attestation@npm:1.0.0-alpha.349" peerDependencies: react: "*" react-native: "*" - checksum: f637a46f8f98e6232aa76aced346ec3146e3cdb1f0d29efaea9b3b6b3f0f9c349f8fa708d0784ed1688a144dacd47cc2008111e972e6ef7d35c36f5830448f24 + checksum: 383d1c0f6032b816a8981c8dff01282b60044b16a4334250ea542128845f78909d4c0d8e4ad131a14b036045f5b13654f32aae5e1cd5174bd3b16bd7ee41e7da languageName: node linkType: hard @@ -8291,11 +8291,11 @@ __metadata: "@formatjs/intl-relativetimeformat": "npm:9.3.1" "@hyperledger/anoncreds-react-native": "npm:0.2.4" "@hyperledger/aries-askar-react-native": "npm:0.2.3" - "@hyperledger/aries-bifold-core": "npm:1.0.0-alpha.346" - "@hyperledger/aries-bifold-remote-logs": "npm:1.0.0-alpha.346" - "@hyperledger/aries-bifold-verifier": "npm:1.0.0-alpha.346" - "@hyperledger/aries-oca": "npm:1.0.0-alpha.346" - "@hyperledger/aries-react-native-attestation": "npm:1.0.0-alpha.346" + "@hyperledger/aries-bifold-core": "npm:1.0.0-alpha.349" + "@hyperledger/aries-bifold-remote-logs": "npm:1.0.0-alpha.349" + "@hyperledger/aries-bifold-verifier": "npm:1.0.0-alpha.349" + "@hyperledger/aries-oca": "npm:1.0.0-alpha.349" + "@hyperledger/aries-react-native-attestation": "npm:1.0.0-alpha.349" "@hyperledger/indy-vdr-react-native": "npm:0.2.2" "@hyperledger/indy-vdr-shared": "npm:0.2.2" "@react-native-async-storage/async-storage": "npm:1.15.11"