Skip to content
Merged
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
21 changes: 5 additions & 16 deletions .claude/agents/EXTERNAL-INTEGRATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,24 +27,13 @@ DSTransaction *transaction = [wallet transactionForAmounts:amounts
```

### Firebase Services
**Dependencies**: `Firebase/DynamicLinks`, `FirebaseStorage`
**Dependencies**: `Firebase/CoreOnly`, `FirebaseStorage`
**Configuration**: `GoogleService-Info.plist`

**Dynamic Links Integration:**
```swift
// Handle incoming dynamic links
func application(_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {

if let dynamicLink = DynamicLinks.dynamicLinks().dynamicLink(fromCustomSchemeURL: url) {
handleDynamicLink(dynamicLink)
return true
}

return false
}
```
Firebase Dynamic Links was removed (the service was shut down by Google in
August 2025 and nothing in the app used it). Invitation universal links are
routed directly in `AppDelegate continueUserActivity:` via
`DWInvitationLinkNormalizer`.

**Storage Integration:**
- Profile image storage for DashPay
Expand Down
6 changes: 0 additions & 6 deletions DashPay/dashpay-info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,6 @@
</array>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>FirebaseDeepLinkPasteboardRetrievalEnabled</key>
<false/>
<key>FirebaseDynamicLinksCustomDomains</key>
<array>
<string>https://invitations.dashpay.io/link</string>
</array>
<key>ITSAppUsesNonExemptEncryption</key>
<false/>
<key>LSApplicationQueriesSchemes</key>
Expand Down
8 changes: 0 additions & 8 deletions DashWallet.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -11803,7 +11803,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -11933,7 +11932,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -12272,7 +12270,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -12391,7 +12388,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -12521,7 +12517,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -12650,7 +12645,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -12841,7 +12835,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down Expand Up @@ -13138,7 +13131,6 @@
"-l\"DWAlertController\"",
"-l\"FirebaseCore\"",
"-l\"FirebaseCoreDiagnostics\"",
"-l\"FirebaseDynamicLinks\"",
"-l\"FirebaseStorage\"",
"-l\"GTMSessionFetcher\"",
"-l\"GoogleDataTransport\"",
Expand Down
4 changes: 0 additions & 4 deletions DashWallet/AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -270,10 +270,6 @@ - (BOOL)application:(UIApplication *)application
return NO;
}

if ([DWURLParser shouldIgnoreURL:url]) {
return NO;
}

if (![DWURLParser canHandleURL:url]) {
UIAlertController * alert = [UIAlertController
alertControllerWithTitle:NSLocalizedString(@"Not a Dash URL", nil)
Expand Down
1 change: 0 additions & 1 deletion DashWallet/Sources/Models/URL Handling/DWURLParser.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ NS_ASSUME_NONNULL_BEGIN

@interface DWURLParser : NSObject

+ (BOOL)shouldIgnoreURL:(NSURL *)url;
+ (BOOL)allowsURLHandling;
+ (BOOL)canHandleURL:(NSURL *)url;

Expand Down
13 changes: 0 additions & 13 deletions DashWallet/Sources/Models/URL Handling/DWURLParser.m
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,6 @@

@implementation DWURLParser

+ (BOOL)shouldIgnoreURL:(NSURL *)url {
if ([url.host isEqualToString:@"google"]) {
NSURLComponents *components = [NSURLComponents componentsWithURL:url resolvingAgainstBaseURL:NO];
for (NSURLQueryItem *item in components.queryItems) {
if ([item.name isEqual:@"match_message"]) {
return [item.value isEqualToString:@"No pre-install link matched for this device."];
}
}
}

return NO;
}

+ (BOOL)allowsURLHandling {
// Don't allow URL handling without a wallet
return DWWalletEnvironment.hasWallet;
Expand Down
12 changes: 10 additions & 2 deletions Podfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,11 @@ target 'dashwallet' do
pod 'SQLiteMigrationManager.swift', '0.8.3'
pod 'CloudInAppMessaging', '0.1.0'
pod 'FirebaseStorage', '8.15.0'
pod 'Firebase/DynamicLinks'
# CoreOnly provides the `Firebase` umbrella module (Firebase.h + its module
# map) that `@import Firebase` / `import Firebase` resolve against. It used to
# arrive implicitly as a dependency of Firebase/DynamicLinks; that subspec was
# removed, so depend on it directly.
pod 'Firebase/CoreOnly', '8.15.0'
pod 'SSZipArchive'
pod 'KVO-MVVM', '0.5.6'
pod 'UIViewController-KeyboardAdditions', '1.2.1'
Expand All @@ -38,7 +42,11 @@ target 'dashpay' do
pod 'SQLiteMigrationManager.swift', '0.8.3'
pod 'CloudInAppMessaging', '0.1.0'
pod 'FirebaseStorage', '8.15.0'
pod 'Firebase/DynamicLinks'
# CoreOnly provides the `Firebase` umbrella module (Firebase.h + its module
# map) that `@import Firebase` / `import Firebase` resolve against. It used to
# arrive implicitly as a dependency of Firebase/DynamicLinks; that subspec was
# removed, so depend on it directly.
pod 'Firebase/CoreOnly', '8.15.0'
pod 'SSZipArchive'
pod 'KVO-MVVM', '0.5.6'
pod 'UIViewController-KeyboardAdditions', '1.2.1'
Expand Down
11 changes: 2 additions & 9 deletions Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ PODS:
- DWAlertController (0.2.1)
- Firebase/CoreOnly (8.15.0):
- FirebaseCore (= 8.15.0)
- Firebase/DynamicLinks (8.15.0):
- Firebase/CoreOnly
- FirebaseDynamicLinks (~> 8.15.0)
- FirebaseCore (8.15.0):
- FirebaseCoreDiagnostics (~> 8.0)
- GoogleUtilities/Environment (~> 7.7)
Expand All @@ -23,8 +20,6 @@ PODS:
- GoogleUtilities/Environment (~> 7.7)
- GoogleUtilities/Logger (~> 7.7)
- nanopb (~> 2.30908.0)
- FirebaseDynamicLinks (8.15.0):
- FirebaseCore (~> 8.0)
- FirebaseStorage (8.15.0):
- FirebaseCore (~> 8.0)
- GTMSessionFetcher/Core (~> 1.5)
Expand Down Expand Up @@ -85,7 +80,7 @@ DEPENDENCIES:
- CocoaLumberjack (= 3.7.2)
- DSDynamicOptions (= 0.1.2)
- DWAlertController (= 0.2.1)
- Firebase/DynamicLinks
- Firebase/CoreOnly (= 8.15.0)
- FirebaseStorage (= 8.15.0)
- KVO-MVVM (= 0.5.6)
- MBProgressHUD (= 1.1.0)
Expand Down Expand Up @@ -113,7 +108,6 @@ SPEC REPOS:
- Firebase
- FirebaseCore
- FirebaseCoreDiagnostics
- FirebaseDynamicLinks
- FirebaseStorage
- GoogleDataTransport
- GoogleUtilities
Expand Down Expand Up @@ -157,7 +151,6 @@ SPEC CHECKSUMS:
Firebase: 5f8193dff4b5b7c5d5ef72ae54bb76c08e2b841d
FirebaseCore: 5743c5785c074a794d35f2fff7ecc254a91e08b1
FirebaseCoreDiagnostics: 92e07a649aeb66352b319d43bdd2ee3942af84cb
FirebaseDynamicLinks: 1dc816ef789c5adac6fede0b46d11478175c70e4
FirebaseStorage: 8019af461599b2c3bc61c6a5dbdfa3d2de66a4d9
GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a
GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15
Expand All @@ -180,6 +173,6 @@ SPEC CHECKSUMS:
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
UIViewController-KeyboardAdditions: a691dc7e63a49854d341455a778ee8497dfc4662

PODFILE CHECKSUM: 84531d88878e65f6868b95dff3cc1ce6aa4b22d8
PODFILE CHECKSUM: ff8162523641779b8eeee0429cf75257fb69713b

COCOAPODS: 1.15.2
Loading