From 7ae1342341dc4d455b0d87e7627350b4b9afa8f0 Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Mon, 21 Mar 2022 14:32:48 +1100 Subject: [PATCH 1/3] Fixed an issue where open groups with no scheme in the url might not match correctly --- SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift b/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift index 248c16069..ef4688cbb 100644 --- a/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift +++ b/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift @@ -31,7 +31,9 @@ public final class OpenGroupManagerV2 : NSObject { // MARK: Adding & Removing public func hasExistingOpenGroup(room: String, server: String, publicKey: String, using transaction: YapDatabaseReadWriteTransaction) -> Bool { - let schemeFreeServer: String = (server.starts(with: "https://") ? server.substring(from: "https://".count) : server.substring(from: "http://".count)) + guard let serverUrl: URL = URL(string: server) else { return false } + + let schemeFreeServer: String = (serverUrl.host ?? server) let schemeFreeDefaultServer: String = OpenGroupAPIV2.defaultServer.substring(from: "http://".count) var serverOptions: Set = Set([ schemeFreeServer, From eb939a746c00f9e94411cbd9eb1386b0e2d803e4 Mon Sep 17 00:00:00 2001 From: Ryan Zhao Date: Mon, 21 Mar 2022 14:39:04 +1100 Subject: [PATCH 2/3] bump up version & build number --- Session.xcodeproj/project.pbxproj | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Session.xcodeproj/project.pbxproj b/Session.xcodeproj/project.pbxproj index 592b9855d..f4998ffdb 100644 --- a/Session.xcodeproj/project.pbxproj +++ b/Session.xcodeproj/project.pbxproj @@ -5173,7 +5173,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 327; + CURRENT_PROJECT_VERSION = 329; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = SUQ8J2PCT7; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -5198,7 +5198,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.11.22; + MARKETING_VERSION = 1.11.23; MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.ShareExtension"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5246,7 +5246,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 327; + CURRENT_PROJECT_VERSION = 329; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = SUQ8J2PCT7; ENABLE_NS_ASSERTIONS = NO; @@ -5276,7 +5276,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.11.22; + MARKETING_VERSION = 1.11.23; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.ShareExtension"; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -5312,7 +5312,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 327; + CURRENT_PROJECT_VERSION = 329; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = SUQ8J2PCT7; FRAMEWORK_SEARCH_PATHS = "$(inherited)"; @@ -5335,7 +5335,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.11.22; + MARKETING_VERSION = 1.11.23; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.NotificationServiceExtension"; @@ -5386,7 +5386,7 @@ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 327; + CURRENT_PROJECT_VERSION = 329; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = SUQ8J2PCT7; ENABLE_NS_ASSERTIONS = NO; @@ -5414,7 +5414,7 @@ "@executable_path/Frameworks", "@executable_path/../../Frameworks", ); - MARKETING_VERSION = 1.11.22; + MARKETING_VERSION = 1.11.23; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger.NotificationServiceExtension"; @@ -6322,7 +6322,7 @@ CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 327; + CURRENT_PROJECT_VERSION = 329; DEVELOPMENT_TEAM = SUQ8J2PCT7; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -6361,7 +6361,7 @@ "$(SRCROOT)", ); LLVM_LTO = NO; - MARKETING_VERSION = 1.11.22; + MARKETING_VERSION = 1.11.23; OTHER_LDFLAGS = "$(inherited)"; OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\""; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger"; @@ -6393,7 +6393,7 @@ CODE_SIGN_ENTITLEMENTS = Session/Meta/Signal.entitlements; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 327; + CURRENT_PROJECT_VERSION = 329; DEVELOPMENT_TEAM = SUQ8J2PCT7; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -6432,7 +6432,7 @@ "$(SRCROOT)", ); LLVM_LTO = NO; - MARKETING_VERSION = 1.11.22; + MARKETING_VERSION = 1.11.23; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_BUNDLE_IDENTIFIER = "com.loki-project.loki-messenger"; PRODUCT_NAME = Session; From c9edac4ea8c48d7781d4ab558799bc7169ab7943 Mon Sep 17 00:00:00 2001 From: Morgan Pretty Date: Mon, 21 Mar 2022 14:42:11 +1100 Subject: [PATCH 3/3] Updated the code to add the port if present... --- .../Open Groups/OpenGroupManagerV2.swift | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift b/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift index ef4688cbb..dff1a97e6 100644 --- a/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift +++ b/SessionMessagingKit/Open Groups/OpenGroupManagerV2.swift @@ -33,23 +33,25 @@ public final class OpenGroupManagerV2 : NSObject { public func hasExistingOpenGroup(room: String, server: String, publicKey: String, using transaction: YapDatabaseReadWriteTransaction) -> Bool { guard let serverUrl: URL = URL(string: server) else { return false } - let schemeFreeServer: String = (serverUrl.host ?? server) - let schemeFreeDefaultServer: String = OpenGroupAPIV2.defaultServer.substring(from: "http://".count) + let serverHost: String = (serverUrl.host ?? server) + let serverPort: String = (serverUrl.port.map { ":\($0)" } ?? "") + let defaultServerHost: String = OpenGroupAPIV2.defaultServer.substring(from: "http://".count) var serverOptions: Set = Set([ - schemeFreeServer, - "http://\(schemeFreeServer)", - "https://\(schemeFreeServer)" + server, + "\(serverHost)\(serverPort)", + "http://\(serverHost)\(serverPort)", + "https://\(serverHost)\(serverPort)" ]) - if schemeFreeServer == OpenGroupAPIV2.legacyDefaultServerDNS { + if serverHost == OpenGroupAPIV2.legacyDefaultServerDNS { let defaultServerOptions: Set = Set([ - schemeFreeDefaultServer, + defaultServerHost, OpenGroupAPIV2.defaultServer, - "https://\(schemeFreeDefaultServer)" + "https://\(defaultServerHost)" ]) serverOptions = serverOptions.union(defaultServerOptions) } - else if schemeFreeServer == schemeFreeDefaultServer { + else if serverHost == defaultServerHost { let legacyServerOptions: Set = Set([ OpenGroupAPIV2.legacyDefaultServerDNS, "http://\(OpenGroupAPIV2.legacyDefaultServerDNS)",