From cb001f7e91f64cf8cbe73780791af86979433558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20W=C3=B3jcik?= Date: Sat, 4 Oct 2025 08:03:42 +0200 Subject: [PATCH] BTHLABS-58: Fixing URL paths resolution to avoid double slashes --- services/apple/Shared (App)/HPAuthFlow.m | 8 +++--- services/apple/Shared (App)/HPRPCClient.m | 3 ++- .../apple/iOS (Share Extension)/Info.plist | 8 +++--- .../apple/macOS (Share Extension)/Info.plist | 26 +++++++++---------- 4 files changed, 23 insertions(+), 22 deletions(-) diff --git a/services/apple/Shared (App)/HPAuthFlow.m b/services/apple/Shared (App)/HPAuthFlow.m index 220aea2..f67c9b5 100644 --- a/services/apple/Shared (App)/HPAuthFlow.m +++ b/services/apple/Shared (App)/HPAuthFlow.m @@ -10,6 +10,7 @@ #import "HPAPI.h" #import "HPCredentialsHelper.h" #import "HPRPCClient.h" +#import "NSURL+HotPocketExtensions.h" @implementation HPAuthParams @@ -26,15 +27,14 @@ return nil; } - NSURL *authURL = [self.baseURL URLByAppendingPathComponent:@"/integrations/extension/authenticate/"]; - - if (authURL.scheme == nil) { + if (self.baseURL.isUsableInHotPocket == NO) { return nil; } NSBundle *mainBundle = [NSBundle mainBundle]; - NSURLComponents *authURLComponents = [NSURLComponents componentsWithURL:authURL resolvingAgainstBaseURL:NO]; + NSURLComponents *authURLComponents = [NSURLComponents componentsWithURL:self.baseURL resolvingAgainstBaseURL:NO]; + authURLComponents.path = @"/integrations/extension/authenticate/"; authURLComponents.queryItems = @[ [NSURLQueryItem queryItemWithName:@"source" value:[[mainBundle infoDictionary] valueForKey:@"HPAuthFlowSource"]], [NSURLQueryItem queryItemWithName:@"session_token" value:self.sessionToken], diff --git a/services/apple/Shared (App)/HPRPCClient.m b/services/apple/Shared (App)/HPRPCClient.m index 375e604..7f12e73 100644 --- a/services/apple/Shared (App)/HPRPCClient.m +++ b/services/apple/Shared (App)/HPRPCClient.m @@ -96,7 +96,8 @@ return NO; } - NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:[self.baseURL URLByAppendingPathComponent:endpoint] resolvingAgainstBaseURL:NO]; + NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:self.baseURL resolvingAgainstBaseURL:NO]; + urlComponents.path = endpoint; urlComponents.queryItems = @[ [NSURLQueryItem queryItemWithName:@"method" value:method], ]; diff --git a/services/apple/iOS (Share Extension)/Info.plist b/services/apple/iOS (Share Extension)/Info.plist index 01480a5..223c6ec 100644 --- a/services/apple/iOS (Share Extension)/Info.plist +++ b/services/apple/iOS (Share Extension)/Info.plist @@ -6,17 +6,17 @@ NSExtensionAttributes - NSExtensionJavaScriptPreprocessingFile - ShareExtensionHelper NSExtensionActivationRule + NSExtensionActivationSupportsText + NSExtensionActivationSupportsWebPageWithMaxCount 1 NSExtensionActivationSupportsWebURLWithMaxCount 1 - NSExtensionActivationSupportsText - + NSExtensionJavaScriptPreprocessingFile + ShareExtensionHelper NSExtensionMainStoryboard MainInterface diff --git a/services/apple/macOS (Share Extension)/Info.plist b/services/apple/macOS (Share Extension)/Info.plist index 181376c..a2fb4d3 100644 --- a/services/apple/macOS (Share Extension)/Info.plist +++ b/services/apple/macOS (Share Extension)/Info.plist @@ -7,19 +7,19 @@ NSExtension NSExtensionAttributes - - NSExtensionJavaScriptPreprocessingFile - ShareExtensionHelper - NSExtensionActivationRule - - NSExtensionActivationSupportsWebPageWithMaxCount - 1 - NSExtensionActivationSupportsWebURLWithMaxCount - 1 - NSExtensionActivationSupportsText - - - + + NSExtensionActivationRule + + NSExtensionActivationSupportsText + + NSExtensionActivationSupportsWebPageWithMaxCount + 1 + NSExtensionActivationSupportsWebURLWithMaxCount + 1 + + NSExtensionJavaScriptPreprocessingFile + ShareExtensionHelper + NSExtensionPointIdentifier com.apple.share-services NSExtensionPrincipalClass