Skip to content

Commit 9ebd4b1

Browse files
fix(android): prevent race condition in concurrent permission requests
- Add check to reject new requests while one is pending - Prevent promise overwriting that causes hanging promises - Return clear error message for concurrent requests - Ensure all callers receive a response
1 parent 9cd69a2 commit 9ebd4b1

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerModule.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,15 @@ class ReactNativeScannerModule(reactContext: ReactApplicationContext) :
125125
return
126126
}
127127

128+
// Check if there's already a pending permission request
129+
if (permissionPromise != null) {
130+
promise.reject(
131+
"PERMISSION_REQUEST_IN_PROGRESS",
132+
"A camera permission request is already in progress"
133+
)
134+
return
135+
}
136+
128137
// Store promise to be resolved in permission callback
129138
permissionPromise = promise
130139

0 commit comments

Comments
 (0)