mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-21 09:02:44 +02:00
IM: Terms modal: Make computation of baseUrl more generic
This commit is contained in:
@@ -36,6 +36,38 @@ class WidgetManagerConfig: NSObject, NSCoding {
|
||||
}
|
||||
}
|
||||
|
||||
var baseUrl: NSString? {
|
||||
// Same comment as https://github.com/matrix-org/matrix-react-sdk/blob/1b0d8510a2ee93beddcd34c2d5770aa9fc76b1d9/src/ScalarAuthClient.js#L108
|
||||
// The terms endpoints are new and so live on standard _matrix prefixes,
|
||||
// but IM rest urls are currently configured with paths, so remove the
|
||||
// path from the base URL before passing it to the js-sdk
|
||||
|
||||
// We continue to use the full URL for the calls done by
|
||||
// Riot-iOS, but the standard terms API called
|
||||
// by the matrix-ios-sdk lives on the standard _matrix path. This means we
|
||||
// don't support running IMs on a non-root path, but it's the only
|
||||
// realistic way of transitioning to _matrix paths since configs in
|
||||
// the wild contain bits of the API path.
|
||||
|
||||
// Once we've fully transitioned to _matrix URLs, we can give people
|
||||
// a grace period to update their configs, then use the rest url as
|
||||
// a regular base url.
|
||||
guard let apiUrl = self.apiUrl as String?, let imApiUrl = URL(string: apiUrl) else {
|
||||
return nil
|
||||
}
|
||||
|
||||
guard var baseUrl = URL(string: "/", relativeTo: imApiUrl)?.absoluteString else {
|
||||
return nil
|
||||
}
|
||||
|
||||
if baseUrl.hasSuffix("/") {
|
||||
// SDK doest not like trailing /
|
||||
baseUrl = String(baseUrl.dropLast())
|
||||
}
|
||||
|
||||
return baseUrl as NSString
|
||||
}
|
||||
|
||||
init(apiUrl: NSString?, uiUrl: NSString?) {
|
||||
self.apiUrl = apiUrl
|
||||
self.uiUrl = uiUrl
|
||||
|
||||
Reference in New Issue
Block a user