mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-16 06:28:27 +02:00
MESSENGER-5158 fix permalink prefix
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}()
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user