Skip to content

Commit 4263767

Browse files
authored
fix: app crash on Home Screen (#1784)
Signed-off-by: Mostafa Gamal <moscd3@gmail.com>
1 parent 04a41bb commit 4263767

4 files changed

Lines changed: 13 additions & 4 deletions

File tree

.changeset/fifty-weeks-worry.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@bifold/core': patch
3+
---
4+
5+
Fix endless loop in notifications hook

packages/core/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@
44
"main": "lib/commonjs/index.js",
55
"module": "lib/module/index.js",
66
"types": "lib/typescript/src/index.d.ts",
7-
"react-native": "./lib/commonjs/index.js",
7+
"react-native": "./src/index.ts",
88
"source": "src/index.ts",
99
"exports": {
1010
".": {
11+
"react-native": "./src/index.ts",
1112
"import": "./lib/module/index.js",
1213
"require": "./lib/commonjs/index.js",
1314
"types": "./lib/typescript/src/index.d.ts"
1415
},
1516
"./utils/ledger": {
17+
"react-native": "./src/index.ts",
1618
"import": "./lib/module/utils/ledger.js",
1719
"require": "./lib/commonjs/utils/ledger.js",
1820
"types": "./lib/typescript/src/utils/ledger.d.ts"

packages/core/src/hooks/notifications.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
} from '@credo-ts/core'
1111
import { useBasicMessages, useCredentialByState, useProofByState } from '@bifold/react-hooks'
1212
import { ProofCustomMetadata, ProofMetadata } from '@bifold/verifier'
13-
import { useEffect, useState } from 'react'
13+
import { useEffect, useMemo, useState } from 'react'
1414

1515
import {
1616
BasicMessageMetadata,
@@ -44,13 +44,15 @@ export const useNotifications = ({
4444
openIDUri,
4545
openIDPresentationUri,
4646
}: NotificationsInputProps): NotificationReturnType => {
47+
const doneStates = useMemo(() => [ProofState.Done, ProofState.PresentationReceived] as ProofState[], [])
48+
4749
const [notifications, setNotifications] = useState<NotificationReturnType>([])
4850
const { records: basicMessages } = useBasicMessages()
4951
const offers = useCredentialByState(CredentialState.OfferReceived)
5052
const proofsRequested = useProofByState(ProofState.RequestReceived)
5153
const credsReceived = useCredentialByState(CredentialState.CredentialReceived)
5254
const credsDone = useCredentialByState(CredentialState.Done)
53-
const proofsDone = useProofByState([ProofState.Done, ProofState.PresentationReceived])
55+
const proofsDone = useProofByState(doneStates)
5456
const openIDCredRecieved = useOpenID({ openIDUri: openIDUri, openIDPresentationUri: openIDPresentationUri })
5557
const openIDExpiredNotifs = useExpiredNotifications()
5658
useEffect(() => {

samples/app/metro.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ const config = mergeConfig(defaultConfig, {
8383
tslib: path.join(__dirname, 'node_modules/tslib'),
8484
assetExts: assetExts.filter((ext) => ext !== 'svg'),
8585
sourceExts: [...sourceExts, 'svg', 'cjs'],
86-
unstable_enablePackageExports: true,
86+
unstable_enablePackageExports: false,
8787
unstable_conditionNames: ['react-native', 'require', 'browser'],
8888
},
8989
watchFolders: combinedWatchFolders,

0 commit comments

Comments
 (0)