MESSENGER-5158 fix permalink prefix

This commit is contained in:
JanNiklas Grabowski
2023-12-13 17:25:39 +01:00
parent cbd5d4bddb
commit 8c3d53b984
5 changed files with 8 additions and 3 deletions

View File

@@ -1908,6 +1908,9 @@ NSString *const AppDelegateUniversalLinkDidChangeNotification = @"AppDelegateUni
AppConfigService.shared.session = mxSession;
[BWIAnalytics.sharedTracker setSessionWithSession:mxSession];
// bwi: #5158 update permalink prefix when session is running
[MXSDKOptions sharedInstance].clientPermalinkBaseUrl = AppConfigService.shared.permalinkUrl;
[MXSDKOptions sharedInstance].analyticsDelegate = BWIAnalytics.sharedTracker;
[DecryptionFailureTracker sharedInstance].delegate = BWIAnalytics.sharedTracker;
}

View File

@@ -69,7 +69,7 @@ static NSRegularExpression* permalinkRegex;
htmlTagsRegex = [NSRegularExpression regularExpressionWithPattern:@"<(\\w+)[^>]*>" options:NSRegularExpressionCaseInsensitive error:nil];
linkDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil];
NSString *permalinkPattern = [NSString stringWithFormat:@"%@%@", BWIBuildSettings.shared.clientPermalinkBaseUrl ?: kMXMatrixDotToUrl, kMXKToolsRegexStringForPermalink];
NSString *permalinkPattern = [NSString stringWithFormat:@"%@%@", AppConfigService.shared.permalinkUrl ?: kMXMatrixDotToUrl, kMXKToolsRegexStringForPermalink];
permalinkRegex = [NSRegularExpression regularExpressionWithPattern:permalinkPattern options:NSRegularExpressionCaseInsensitive error:nil];
});
}

View File

@@ -26,7 +26,7 @@ enum PillType: Codable {
@available (iOS 15.0, *)
extension PillType {
private static var regexPermalinkTarget: NSRegularExpression? = {
let clientBaseUrl = BWIBuildSettings.shared.clientPermalinkBaseUrl
let clientBaseUrl = AppConfigService.shared.permalinkUrl() ?? BWIBuildSettings.shared.clientPermalinkBaseUrl
let pattern = #"\#(clientBaseUrl)(?:/.*)/#/(?:(?:room|user)/)?((?:@|!|#)[^@!#/?\s]*)/?((?:\$)[^\$/?\s]*)?"#
return try? NSRegularExpression(pattern: pattern, options: .caseInsensitive)
}()

View File

@@ -188,6 +188,7 @@ extension UserDefaults
}
func permalinkUrl() -> String? {
ServerURLHelper.shared.selectedIndex = ServerURLHelper.shared.indexOf(self.serverUrl())
if let url = appConfig.permalinkUrl {
return "https://" + url
} else if let url = ServerURLHelper.shared.httpsPermalink() {

View File

@@ -68,7 +68,8 @@ struct PermalinkQRCodeScanner: View {
}
private func checkQRCode() {
if !BWIBuildSettings.shared.clientPermalinkBaseUrl.isEmpty && qrCode.hasPrefix(BWIBuildSettings.shared.clientPermalinkBaseUrl) {
let permalinkURL = AppConfigService.shared.permalinkUrl() ?? BWIBuildSettings.shared.clientPermalinkBaseUrl
if !permalinkURL.isEmpty && qrCode.hasPrefix(permalinkURL) {
presentationMode.wrappedValue.dismiss()
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
if let url = NSURLComponents(string: qrCode)?.url {