Skip to content

Commit d8fa568

Browse files
Merge pull request #35 from 0xBigBoss/main
fix: Prevent iOS Safari crash by passing undefined for empty largeBlob in credential requests
2 parents 16570e8 + 7eca9ea commit d8fa568

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

.changeset/tasty-ideas-accept.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
"react-native-passkeys": patch
3+
---
4+
5+
Fix iOS Safari crashing due to largeBlob empty object
6+
7+
iOS Safari crashes when requesting a largeBlob credential with an empty object
8+
using the `get()` method.
9+
10+
This patch passes undefined if the request does not include a largeBlob object.

src/ReactNativePasskeysModule.web.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -119,12 +119,12 @@ export default {
119119
* browsers that do not support the extension will just ignore the property so it's safe to include it
120120
*
121121
* @ts-expect-error:*/
122-
largeBlob: {
123-
...request.extensions?.largeBlob,
124-
...(request.extensions?.largeBlob?.write && {
125-
write: base64URLStringToBuffer(request.extensions.largeBlob.write),
126-
}),
127-
},
122+
largeBlob: request.extensions?.largeBlob?.write
123+
? {
124+
...request.extensions?.largeBlob,
125+
write: base64URLStringToBuffer(request.extensions.largeBlob.write),
126+
}
127+
: request.extensions?.largeBlob,
128128
},
129129
challenge: base64URLStringToBuffer(request.challenge),
130130
allowCredentials: request.allowCredentials?.map((credential) => ({

0 commit comments

Comments
 (0)