From ccc6316bdcfed2c2ef6331dcd96ec71dca95ef26 Mon Sep 17 00:00:00 2001 From: ukarpenkov Date: Thu, 28 May 2026 00:47:41 +0300 Subject: [PATCH 1/2] fix(android): replace GuardedResultAsyncTask with AsyncTask for RN 0.85+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GuardedResultAsyncTask was removed from React Native in the New Architecture (0.76+). Replace it with standard android.os.AsyncTask to restore Android build compatibility with RN 0.85+. Changes: - Replace GuardedResultAsyncTask with AsyncTask - Remove super(reactContext.getExceptionHandler()) call - Rename doInBackgroundGuarded() → doInBackground() - Rename onPostExecuteGuarded() → onPostExecute() --- .../RNDocumentPickerModule.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java b/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java index 5001525e..244eaf46 100644 --- a/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java +++ b/android/src/main/java/com/reactnativedocumentpicker/RNDocumentPickerModule.java @@ -18,7 +18,7 @@ import com.facebook.react.bridge.ActivityEventListener; import com.facebook.react.bridge.Arguments; import com.facebook.react.bridge.BaseActivityEventListener; -import com.facebook.react.bridge.GuardedResultAsyncTask; +import android.os.AsyncTask; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.bridge.ReactContext; @@ -229,14 +229,13 @@ public void onShowActivityResult(int resultCode, Intent data, Promise promise) { } } - private static class ProcessDataTask extends GuardedResultAsyncTask { + private static class ProcessDataTask extends AsyncTask { private final WeakReference weakContext; private final List uris; private final String copyTo; private final Promise promise; protected ProcessDataTask(ReactContext reactContext, List uris, String copyTo, Promise promise) { - super(reactContext.getExceptionHandler()); this.weakContext = new WeakReference<>(reactContext.getApplicationContext()); this.uris = uris; this.copyTo = copyTo; @@ -244,7 +243,7 @@ protected ProcessDataTask(ReactContext reactContext, List uris, String copy } @Override - protected ReadableArray doInBackgroundGuarded() { + protected ReadableArray doInBackground(Void... voids) { WritableArray results = Arguments.createArray(); for (Uri uri : uris) { results.pushMap(getMetadata(uri)); @@ -253,7 +252,7 @@ protected ReadableArray doInBackgroundGuarded() { } @Override - protected void onPostExecuteGuarded(ReadableArray readableArray) { + protected void onPostExecute(ReadableArray readableArray) { promise.resolve(readableArray); } From e16f5b05a085259a9935a12b448d41391b1cdfba Mon Sep 17 00:00:00 2001 From: ukarpenkov Date: Fri, 29 May 2026 20:56:36 +0300 Subject: [PATCH 2/2] invariant --- src/invariant.d.ts | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/invariant.d.ts diff --git a/src/invariant.d.ts b/src/invariant.d.ts new file mode 100644 index 00000000..a71ad5c8 --- /dev/null +++ b/src/invariant.d.ts @@ -0,0 +1,7 @@ +declare module 'invariant' { + export default function invariant( + condition: unknown, + format?: string, + ...args: unknown[] + ): asserts condition; +}