Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@
"react-native-pdf": "7.0.2",
"react-native-permissions": "^5.4.0",
"react-native-picker-select": "github:Expensify/react-native-picker-select#69d750a89aaba48392fb8b6f92a3d79f53b99c41",
"react-native-plaid-link-sdk": "12.5.3",
"react-native-plaid-link-sdk": "12.8.6",
"react-native-qrcode-svg": "6.3.21",
"react-native-quick-base64": "^3.0.1",
"react-native-quick-crypto": "^1.1.6",
Expand Down
3 changes: 2 additions & 1 deletion patches/react-native-plaid-link-sdk/details.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `react-native-plaid-link-sdk` patches

### [react-native-plaid-link-sdk+12.5.3+001+fix-oauth-hybrid-app-ios.patch](react-native-plaid-link-sdk+12.5.3+001+fix-oauth-hybrid-app-ios.patch)
### [react-native-plaid-link-sdk+12.8.6+001+fix-oauth-hybrid-app-ios.patch](react-native-plaid-link-sdk+12.8.6+001+fix-oauth-hybrid-app-ios.patch)

- Reason:

Expand All @@ -24,3 +24,4 @@
- Upstream PR/issue: -
- E/App issue: https://github.com/Expensify/App/issues/87757
- PR introducing patch: https://github.com/Expensify/App/pull/88534
- 12.8.6 port: upstream moved every place that drops `linkHandler` (success, exit, `dismiss`, the new `destroy`, `invalidate`) into `releaseCurrentSession`, so `sSharedInstance` is now cleared there instead of in the exit callback. The handoff path still drops `linkHandler` on its own and keeps its own clear.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
diff --git a/node_modules/react-native-plaid-link-sdk/ios/RNLinksdk.mm b/node_modules/react-native-plaid-link-sdk/ios/RNLinksdk.mm
index cca454e..a1b66d7 100644
index 9d2135a..460a8c4 100644
--- a/node_modules/react-native-plaid-link-sdk/ios/RNLinksdk.mm
+++ b/node_modules/react-native-plaid-link-sdk/ios/RNLinksdk.mm
@@ -12,6 +12,12 @@ static NSString* const kRNLinkKitEventNameKey = @"event";
@@ -13,6 +13,12 @@
static NSString* const kRNLinkKitEventMetadataKey = @"metadata";
static NSString* const kRNLinkKitVersionConstant = @"version";

Expand All @@ -15,17 +15,17 @@ index cca454e..a1b66d7 100644
@interface RNLinksdk ()
@property (nonatomic, strong) id<PLKHandler> linkHandler;
@property (nonatomic, strong) UIViewController* presentingViewController;
@@ -92,6 +98,9 @@ RCT_EXPORT_METHOD(createPlaidLink:(NSString*)token noLoadingState:(BOOL)noLoadin
}
strongSelf.exitCallback = nil;
strongSelf.linkHandler = nil;
+ if (sSharedInstance == strongSelf) {
+ sSharedInstance = nil;
+ }
}
};
@@ -84,6 +90,9 @@ - (void)releaseCurrentSession {
self.successCallback = nil;
self.exitCallback = nil;
self.linkHandler = nil;
+ if (sSharedInstance == self) {
+ sSharedInstance = nil;
+ }
self.creationError = nil;
}

@@ -108,6 +117,9 @@ RCT_EXPORT_METHOD(createPlaidLink:(NSString*)token noLoadingState:(BOOL)noLoadin
@@ -133,6 +142,9 @@ - (void)releaseCurrentSession {
if (strongSelf.presentingViewController == nil) {
// Deallocate the handler it's no longer needed.
strongSelf.linkHandler = nil;
Expand All @@ -35,17 +35,17 @@ index cca454e..a1b66d7 100644
}
}
}
@@ -121,6 +133,9 @@ RCT_EXPORT_METHOD(createPlaidLink:(NSString*)token noLoadingState:(BOOL)noLoadin
NSError *creationError = nil;
self.linkHandler = [RNPlaidHelper createWithLinkTokenConfiguration:config error:&creationError];
@@ -156,6 +168,9 @@ - (void)releaseCurrentSession {

self.linkHandler = [RNPlaidHelper createWithLinkTokenConfiguration:config onLoad:onLoadBlock error:&creationError];
self.creationError = creationError;
+ if (self.linkHandler) {
+ sSharedInstance = self;
+ }
}

RCT_EXPORT_METHOD(open:(BOOL)fullScreen onSuccess:(RCTResponseSenderBlock)onSuccess onExit:(RCTResponseSenderBlock)onExit) {
@@ -175,6 +190,15 @@ RCT_EXPORT_METHOD(open:(BOOL)fullScreen onSuccess:(RCTResponseSenderBlock)onSucc
@@ -216,6 +231,15 @@ - (void)releaseCurrentSession {
}
}

Expand All @@ -59,10 +59,10 @@ index cca454e..a1b66d7 100644
+}
+
RCT_EXPORT_METHOD(dismiss) {
[self.presentingViewController dismissViewControllerAnimated:YES
completion:nil];
[self releaseCurrentSession];
}
diff --git a/node_modules/react-native-plaid-link-sdk/src/fabric/NativePlaidLinkModuleiOS.ts b/node_modules/react-native-plaid-link-sdk/src/fabric/NativePlaidLinkModuleiOS.ts
index a783aa9..a15e91f 100644
index 707acb7..591f1af 100644
--- a/node_modules/react-native-plaid-link-sdk/src/fabric/NativePlaidLinkModuleiOS.ts
+++ b/node_modules/react-native-plaid-link-sdk/src/fabric/NativePlaidLinkModuleiOS.ts
@@ -12,6 +12,7 @@ export interface Spec extends TurboModule {
Expand All @@ -71,5 +71,5 @@ index a783aa9..a15e91f 100644
): void;
+ continueFromRedirectUri(urlString: string): void;
dismiss(): void;
destroy(): Promise<void>;
submit(
phoneNumber: string | undefined,
Loading