mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-16 06:28:27 +02:00
570 lines
22 KiB
Swift
570 lines
22 KiB
Swift
//
|
|
// Copyright 2020 Vector Creations Ltd
|
|
// Copyright (c) 2021 BWI GmbH
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/// BuildSettings provides settings computed at build time.
|
|
/// In future, it may be automatically generated from xcconfig files
|
|
@objcMembers
|
|
final class BuildSettings: NSObject {
|
|
|
|
// MARK: - Bundle Settings
|
|
static var applicationGroupIdentifier: String {
|
|
guard let applicationGroupIdentifier = Bundle.app.object(forInfoDictionaryKey: "applicationGroupIdentifier") as? String else {
|
|
fatalError("applicationGroupIdentifier should be defined")
|
|
}
|
|
return applicationGroupIdentifier
|
|
}
|
|
|
|
static var baseBundleIdentifier: String {
|
|
guard let baseBundleIdentifier = Bundle.app.object(forInfoDictionaryKey: "baseBundleIdentifier") as? String else {
|
|
fatalError("baseBundleIdentifier should be defined")
|
|
}
|
|
return baseBundleIdentifier
|
|
}
|
|
|
|
static var keychainAccessGroup: String {
|
|
guard let keychainAccessGroup = Bundle.app.object(forInfoDictionaryKey: "keychainAccessGroup") as? String else {
|
|
fatalError("keychainAccessGroup should be defined")
|
|
}
|
|
return keychainAccessGroup
|
|
}
|
|
|
|
static var applicationURLScheme: String? {
|
|
guard let urlTypes = Bundle.app.object(forInfoDictionaryKey: "CFBundleURLTypes") as? [AnyObject],
|
|
let urlTypeDictionary = urlTypes.first as? [String: AnyObject],
|
|
let urlSchemes = urlTypeDictionary["CFBundleURLSchemes"] as? [AnyObject],
|
|
let externalURLScheme = urlSchemes.first as? String else {
|
|
return nil
|
|
}
|
|
|
|
return externalURLScheme
|
|
}
|
|
|
|
static var pushKitAppIdProd: String {
|
|
return baseBundleIdentifier + ".ios.voip.prod"
|
|
}
|
|
|
|
static var pushKitAppIdDev: String {
|
|
return baseBundleIdentifier + ".ios.voip.dev"
|
|
}
|
|
|
|
static var pusherAppIdProd: String {
|
|
return baseBundleIdentifier + ".ios.prod"
|
|
}
|
|
|
|
static var pusherAppIdDev: String {
|
|
return baseBundleIdentifier + ".ios.dev"
|
|
}
|
|
|
|
static var pushKitAppId: String {
|
|
#if DEBUG
|
|
return pushKitAppIdDev
|
|
#else
|
|
return pushKitAppIdProd
|
|
#endif
|
|
}
|
|
|
|
static var pusherAppId: String {
|
|
#if DEBUG
|
|
return pusherAppIdDev
|
|
#else
|
|
return pusherAppIdProd
|
|
#endif
|
|
}
|
|
|
|
// Element-Web instance for the app
|
|
static let applicationWebAppUrlString = ""
|
|
|
|
// MARK: - Localization
|
|
|
|
/// Whether to allow the app to use a right to left layout or force left to right for all languages
|
|
static let disableRightToLeftLayout = true
|
|
|
|
|
|
// MARK: - Server configuration
|
|
|
|
// Default servers proposed on the authentication screen
|
|
static let serverConfigDefaultHomeserverUrlString = ""
|
|
static let serverConfigDefaultIdentityServerUrlString = ""
|
|
|
|
static let serverConfigPreSelections = ["":""]
|
|
|
|
static let serverConfigSygnalAPIUrlString = ""
|
|
|
|
// MARK: - Legal URLs
|
|
|
|
// Note: Set empty strings to hide the related entry in application settings
|
|
static let applicationCopyrightUrlString = "https://element.io/copyright"
|
|
static let applicationPrivacyPolicyUrlString = ""
|
|
static let applicationTermsConditionsUrlString = "https://element.io/terms-of-service"
|
|
static let applicationHelpUrlString = "https://element.io/help"
|
|
|
|
// MARk: - Matrix permalinks
|
|
// Paths for URLs that will considered as Matrix permalinks. Those permalinks are opened within the app
|
|
static let permalinkSupportedHosts: [String: [String]] = [:]
|
|
|
|
// For use in clients that use a custom base url for permalinks rather than matrix.to.
|
|
// This baseURL is used to generate permalinks within the app (E.g. timeline message permalinks).
|
|
// Optional String that when set is used as permalink base, when nil matrix.to format is used.
|
|
// Example value would be "https://www.example.com", note there is no trailing '/'.
|
|
static let clientPermalinkBaseUrl: String? = nil
|
|
|
|
// MARK: - VoIP
|
|
static var allowVoIPUsage: Bool {
|
|
#if canImport(JitsiMeetSDK)
|
|
return false
|
|
#else
|
|
return false
|
|
#endif
|
|
}
|
|
|
|
static let stunServerFallbackUrlString: String? = ""
|
|
|
|
// MARK: - Public rooms Directory
|
|
// List of homeservers for the public rooms directory
|
|
static let publicRoomsDirectoryServers = [
|
|
"matrix.org"
|
|
]
|
|
|
|
// MARK: - Rooms Screen
|
|
static let roomsAllowToJoinPublicRooms: Bool = true
|
|
|
|
// MARK: - Analytics
|
|
|
|
// $$$
|
|
static let analyticsServerUrl = URL(string: "")
|
|
static let analyticsAppId = "0"
|
|
|
|
/// BWI: set host and key to nil to disable PostHog tracking
|
|
static let analyticsHost: String? = nil
|
|
static let analyticsKey: String? = nil
|
|
static let analyticsTermsURL = URL(string: "https://element.io/cookie-policy")!
|
|
static let bwiPresentAnalyticsPrompt = false
|
|
|
|
static let bwiAnalyticsServerUrlString = ""
|
|
static let bwiAnalyticsAppId = "1"
|
|
|
|
/// A type that represents how to set up the analytics module in the app.
|
|
///
|
|
/// **Note:** Analytics are disabled by default for forks.
|
|
/// If you are maintaining a fork, set custom configurations.
|
|
struct AnalyticsConfiguration {
|
|
/// Whether or not analytics should be enabled.
|
|
let isEnabled: Bool
|
|
/// The host to use for PostHog analytics.
|
|
let host: String
|
|
/// The public key for submitting analytics.
|
|
let apiKey: String
|
|
/// The URL to open with more information about analytics terms.
|
|
let termsURL: URL
|
|
}
|
|
|
|
/// The configuration to use for analytics during development. Set `isEnabled` to false to disable analytics in debug builds.
|
|
static let analyticsConfiguration = AnalyticsConfiguration(isEnabled: false,
|
|
host: "",
|
|
apiKey: "",
|
|
termsURL: URL(string: "https://element.io/cookie-policy")!)
|
|
|
|
// MARK: - Bug report
|
|
static let bugReportEndpointUrlString = ""
|
|
// Use the name allocated by the bug report server
|
|
static let bugReportApplicationId = "riot-ios"
|
|
static let bugReportUISIId = "element-auto-uisi"
|
|
|
|
// MARK: - Integrations
|
|
static let integrationsUiUrlString = "https://scalar.vector.im/"
|
|
static let integrationsRestApiUrlString = "https://scalar.vector.im/api"
|
|
// Widgets in those paths require a scalar token
|
|
static let integrationsScalarWidgetsPaths = [""]
|
|
// Jitsi server used outside integrations to create conference calls from the call button in the timeline
|
|
static let jitsiServerUrl: URL = URL(string: "https://enter.jitsi.url")!
|
|
|
|
// MARK: - Features
|
|
|
|
/// Setting to force protection by pin code
|
|
static let forcePinProtection: Bool = true
|
|
|
|
/// Max allowed time to continue using the app without prompting PIN
|
|
static let pinCodeGraceTimeInSeconds: TimeInterval = 180
|
|
|
|
/// Force non-jailbroken app usage
|
|
static let forceNonJailbrokenUsage: Bool = true
|
|
|
|
static let allowSendingStickers: Bool = false
|
|
|
|
static let allowLocalContactsAccess: Bool = false
|
|
|
|
static let allowInviteExernalUsers: Bool = false
|
|
|
|
static let enableSideMenu: Bool = false
|
|
static let sideMenuShowInviteFriends: Bool = false
|
|
|
|
/// Whether to read the `io.element.functional_members` state event and exclude any service members when computing a room's name and avatar.
|
|
static let supportFunctionalMembers: Bool = true
|
|
|
|
// MARK: - Feature Specifics
|
|
|
|
/// Not allowed pin codes. User won't be able to select one of the pin in the list.
|
|
static let notAllowedPINs: [String] = [
|
|
"1234",
|
|
"1111",
|
|
"0000",
|
|
"1212",
|
|
"7777",
|
|
"1004",
|
|
"2000",
|
|
"4444",
|
|
"2222",
|
|
"6969",
|
|
"9999",
|
|
"3333",
|
|
"5555",
|
|
"6666",
|
|
"1122",
|
|
"1313",
|
|
"8888",
|
|
"4321",
|
|
"2001",
|
|
"1010",
|
|
"2580",
|
|
"4711",
|
|
"0815",
|
|
"0852"
|
|
]
|
|
|
|
/// Maximum number of allowed pin failures when unlocking, before force logging out the user. Defaults to `3`
|
|
static let maxAllowedNumberOfPinFailures: Int = 3
|
|
|
|
/// Maximum number of allowed biometrics failures when unlocking, before fallbacking the user to the pin if set or logging out the user. Defaults to `5`
|
|
static let maxAllowedNumberOfBiometricsFailures: Int = 5
|
|
|
|
static let allowLocalContactPresence: Bool = false
|
|
|
|
/// Indicates should the app log out the user when number of PIN failures reaches `maxAllowedNumberOfPinFailures`. Defaults to `false`
|
|
static let logOutUserWhenPINFailuresExceeded: Bool = true
|
|
|
|
/// Indicates should the app log out the user when number of biometrics failures reaches `maxAllowedNumberOfBiometricsFailures`. Defaults to `false`
|
|
static let logOutUserWhenBiometricsFailuresExceeded: Bool = true
|
|
|
|
|
|
/// If force is enabled the dialog for asking if reseting the key backup is not shown.. already asked before in mandatory verfication
|
|
static let forceResetBackupIfLost: Bool = true
|
|
|
|
/// if skip is enabled the key backup dialogs are passed through
|
|
static let skipKeyBackupStep: Bool = true
|
|
|
|
static let showNotificationsV2: Bool = true
|
|
|
|
// MARK: - Main Tabs
|
|
|
|
static let homeScreenShowHomeTab: Bool = false
|
|
static let homeScreenShowFavouritesTab: Bool = true
|
|
static let homeScreenShowPeopleTab: Bool = true
|
|
static let homeScreenShowRoomsTab: Bool = true
|
|
|
|
// MARK: - General Settings Screen
|
|
|
|
static let settingsScreenShowUserFirstName: Bool = false
|
|
static let settingsScreenShowUserSurname: Bool = false
|
|
static let settingsScreenAllowAddingLinkedEmails: Bool = false
|
|
static let settingsScreenAllowAddingPhoneNumbers: Bool = false
|
|
static let settingsScreenAllowAddingEmailThreepids: Bool = false
|
|
static let settingsScreenAllowAddingPhoneThreepids: Bool = false
|
|
static let settingsScreenShowThreepidExplanatory: Bool = false
|
|
static let settingsScreenShowDiscoverySettings: Bool = false
|
|
static let settingsScreenAllowIdentityServerConfig: Bool = false
|
|
static let settingsScreenShowConfirmMediaSize: Bool = false
|
|
static let settingsScreenShowAdvancedSettings: Bool = false
|
|
static let settingsScreenShowLabSettings: Bool = false
|
|
static let settingsScreenAllowChangingRageshakeSettings: Bool = false
|
|
static let settingsScreenAllowChangingCrashUsageDataSettings: Bool = false
|
|
static let settingsScreenAllowBugReportingManually: Bool = false
|
|
static let settingsScreenAllowDeactivatingAccount: Bool = false
|
|
static let settingsScreenEnableDecodedContentAndGlobalSettings: Bool = false
|
|
static let settingsScreenShowChangePassword:Bool = true
|
|
|
|
static let settingsScreenShowLinkPreviews:Bool = false
|
|
static let settingsScreenShowInviteFriends:Bool = false
|
|
static let settingsScreenShowSettings:Bool = true
|
|
static let settingsScreenShowFeedback:Bool = false
|
|
static let settingsScreenShowHelp:Bool = false
|
|
|
|
static let settingsScreenShowEnableStunServerFallback: Bool = true
|
|
static let settingsScreenShowNotificationDecodedContentOption: Bool = false
|
|
static let settingsScreenShowSystemSettingsOption: Bool = false
|
|
static let settingsScreenShowNsfwRoomsOption: Bool = false
|
|
static let settingsScreenShowTACSetting: Bool = false
|
|
static let settingsScreenShowSupportSetting: Bool = true
|
|
static let settingsSecurityScreenShowSessions:Bool = true
|
|
static let settingsSecurityScreenShowSetupBackup:Bool = true
|
|
static let settingsSecurityScreenShowRestoreBackup:Bool = true
|
|
static let settingsSecurityScreenShowDeleteBackup:Bool = true
|
|
/// A setting to enable the presence configuration settings section.
|
|
static let settingsScreenPresenceAllowConfiguration: Bool = false
|
|
|
|
static let settingsSecurityScreenShowCryptographyInfo:Bool = false
|
|
static let settingsSecurityScreenShowCryptographyExport:Bool = false
|
|
static let settingsSecurityScreenShowAdvancedUnverifiedDevices:Bool = false
|
|
|
|
// MARK: - Notification Settings
|
|
static let settingsNotificationsBWIDefaultSet:Bool = true
|
|
static let settingsNotificationsShowDefault:Bool = true
|
|
static let settingsNotificationsShowMentions:Bool = false
|
|
static let settingsNotificationsShowAdvanced:Bool = false
|
|
|
|
// MARK: - Timeline settings
|
|
static let roomInputToolbarCompressionMode: MediaCompressionMode = .none
|
|
|
|
enum MediaCompressionMode {
|
|
case prompt, small, medium, large, none
|
|
}
|
|
|
|
// MARK: - Room Creation Screen
|
|
|
|
static let roomCreationScreenAllowEncryptionConfiguration: Bool = false
|
|
static let roomCreationScreenRoomIsEncrypted: Bool = true
|
|
static let roomCreationScreenAllowRoomTypeConfiguration: Bool = true
|
|
static let roomCreationScreenRoomIsPublic: Bool = false
|
|
|
|
// MARK: - Room Screen
|
|
|
|
static let roomScreenAllowVoIPForDirectRoom: Bool = true
|
|
static let roomScreenAllowVoIPForNonDirectRoom: Bool = true
|
|
static let roomScreenAllowCameraAction: Bool = true
|
|
static let roomScreenAllowMediaLibraryAction: Bool = true
|
|
static let roomScreenAllowStickerAction: Bool = false
|
|
static let roomScreenAllowFilesAction: Bool = true
|
|
|
|
// Timeline style
|
|
static let roomScreenAllowTimelineStyleConfiguration: Bool = true
|
|
static let roomScreenTimelineDefaultStyleIdentifier: RoomTimelineStyleIdentifier = .plain
|
|
static var isRoomScreenEnableMessageBubblesByDefault: Bool {
|
|
return self.roomScreenTimelineDefaultStyleIdentifier == .bubble
|
|
}
|
|
static let roomScreenUseOnlyLatestUserAvatarAndName: Bool = false
|
|
|
|
/// Allow split view detail view stacking
|
|
static let allowSplitViewDetailsScreenStacking: Bool = true
|
|
|
|
// MARK: - Room Contextual Menu
|
|
|
|
static let roomContextualMenuShowMoreOptionForMessages: Bool = true
|
|
static let roomContextualMenuShowMoreOptionForStates: Bool = true
|
|
static let roomContextualMenuShowReportContentOption: Bool = true
|
|
static let roomContextualMenuShowEncryptionOption: Bool = false
|
|
|
|
// MARK: - Room Info Screen
|
|
|
|
static let roomInfoScreenShowIntegrations: Bool = false
|
|
|
|
// MARK: - Room Settings Screen
|
|
|
|
static let roomSettingsScreenShowLowPriorityOption: Bool = false
|
|
static let roomSettingsScreenShowDirectChatOption: Bool = false
|
|
static let roomSettingsScreenAllowChangingAccessSettings: Bool = false
|
|
static let roomSettingsScreenAllowChangingHistorySettings: Bool = false
|
|
static let roomSettingsScreenShowAddressSettings: Bool = false
|
|
static let roomSettingsScreenShowAdvancedSettings: Bool = false
|
|
|
|
static let roomSettingsScreenShowAccessSettingsBW: Bool = true
|
|
static let roomSettingsScreenRemoveLeave: Bool = true
|
|
|
|
static let roomSettingsScreenAdvancedShowEncryptToVerifiedOption: Bool = true
|
|
|
|
static let roomSettingsScreenShowNotificationsV2: Bool = false
|
|
|
|
// MARK: - Room Member Screen
|
|
static let roomMemberScreenShowIgnore: Bool = true
|
|
|
|
// MARK: - Message
|
|
static let messageDetailsAllowShare: Bool = false
|
|
static let messageDetailsAllowPermalink: Bool = false
|
|
static let messageDetailsAllowViewSource: Bool = false
|
|
static let messageDetailsAllowSave: Bool = false
|
|
static let messageDetailsAllowCopyMedia: Bool = false
|
|
static let messageDetailsAllowPasteMedia: Bool = false
|
|
|
|
// MARK: - Notifications
|
|
static let decryptNotificationsByDefault: Bool = true
|
|
|
|
// MARK: - Authentication Screen
|
|
static let authScreenShowRegister = false
|
|
static let authScreenShowPhoneNumber = false
|
|
static let authScreenShowForgotPassword = false
|
|
static let authScreenShowCustomServerOptions = true
|
|
static let authScreenShowTestServerOptions = true
|
|
static let authScreenShowSocialLoginSection = false
|
|
|
|
// MARK: - Authentication Options
|
|
static let authEnableRefreshTokens = false
|
|
|
|
// MARK: - Cross-signing (bwi=true)
|
|
static let disableSelfUserVerification = true
|
|
|
|
// MARK: - Antivirus scan (bwi=true)
|
|
static let enableAntivirusScan = false
|
|
|
|
// MARK: - Room Screen
|
|
static let enableRoomSearchItem = false
|
|
|
|
// MARK: - Matomo Analytics (bwi=false)
|
|
static let enableMatomoAnalytics = false
|
|
|
|
// MARK: Verification screen (bwi=false)
|
|
static let showDetailedVerificationElements : Bool = false
|
|
static let showRecoverWithKey : Bool = false
|
|
|
|
// MARK: Unified search screen (bwi=false)
|
|
static let showUnifiedSearchViewMessagesTab : Bool = false
|
|
static let showUnifiedSearchViewFilesTab : Bool = false
|
|
|
|
// MARK: - Onboarding
|
|
static let onboardingShowAccountPersonalization = false
|
|
static let onboardingEnableNewAuthenticationFlow = false
|
|
|
|
// MARK: - Secrets Recovery
|
|
static let secretsRecoveryAllowReset = true
|
|
|
|
// MARK: VoIP support (bwi=false)
|
|
static let enableVoIPSupport : Bool = false
|
|
// MARK: - UISI Autoreporting
|
|
static let cryptoUISIAutoReportingEnabled = false
|
|
|
|
// MARK: - Polls
|
|
|
|
// MARK: Last message timestamp support (bwi=false)
|
|
static let enableLastMessageTimestamp : Bool = false
|
|
|
|
// MARK: Room chat alert screen (bwi=false)
|
|
static let enableViewEncryptionAction : Bool = false
|
|
|
|
// MARK: JavaScript support in WKWebView (bwi=false)
|
|
static let enableJSInWebView : Bool = false
|
|
|
|
// MARK: Secure pin code description (bwi=false)
|
|
static let settingsSettingsSecureShowPinCodeDescription : Bool = false
|
|
|
|
// MARK: Invite friends in Direct Chat (bwi=false)
|
|
static let directChatShowInviteFriends : Bool = false
|
|
|
|
// MARK: Last admin is not allowed to leave the room (bwi=true)
|
|
static let lastAdminIsNotAllowedToLeaveRoom : Bool = true
|
|
|
|
// MARK: Room Member Details Screen (bwi=true)
|
|
static let roomMemberDetailsHideLeaveButton : Bool = true
|
|
|
|
// MARK: Room create options (bwi=false)
|
|
static let enableShowInRoomDirectory : Bool = false
|
|
|
|
// MARK: sticker in composer (bwi=false)
|
|
static let enableRoomComposerSticker : Bool = false
|
|
|
|
// Mark: Unified Search (bwi=true)
|
|
static let unifiedSearchScreenShowPublicDirectory = true
|
|
|
|
// MARK: Allows removal of uploaded avatar photos (bwi=true)
|
|
static let enableRemoveAvatarImage = true
|
|
|
|
// MARK: Add a toggle button to the login screen to make the password visible
|
|
static let passwordIndicatorOnLogin : Bool = true
|
|
|
|
// MARK: Displays the element base version on the settings screen
|
|
static let elementBaseVersion : String = "1.8.24"
|
|
|
|
static let showElementBaseVersion : Bool = true
|
|
|
|
// MARK: Bypasses the normal forgot password process by presenting the user an information alert
|
|
// (requires authScreenShowForgotPassword set to true)
|
|
static let forgotPasswordInformationAlert : Bool = true
|
|
|
|
// MARK: Promote new feature within a banner below the navigation view
|
|
static let showTopBanner : Bool = true
|
|
|
|
static let showCustomServerDisplayName : Bool = true
|
|
static let customServerDisplayName : String = ""
|
|
|
|
// MARK BWI show/hide developer menu
|
|
static let bwiShowDeveloperSettings : Bool = false
|
|
|
|
// MARK BWI personal notes room
|
|
static let bwiPersonalNotesRoom : Bool = false
|
|
static let bwiPersonalNotesRoomLeavable : Bool = false
|
|
static let bwiResetPersonalNotesAccountData : Bool = false
|
|
static let bwiShowTimelineSettings : Bool = false
|
|
|
|
// MARK BWI personal state
|
|
static let bwiPersonalState : Bool = false
|
|
|
|
// MARK BWI personal notes room
|
|
static let bwiRollsAndRights : Bool = true
|
|
|
|
// MARK: Timeline
|
|
static let settingsScreenShowSimpleTimeLineOptions : Bool = false
|
|
static let settingsScreenShowTimeStampOption : Bool = true
|
|
static let settingsScreenShowDeletedMessagesOption : Bool = false
|
|
static let settingsScreenShowNameChangeOption : Bool = false
|
|
static let settingsScreenShowChatEffectsOption : Bool = false
|
|
static let settingsScreenShowRoomAvatarChangeOption : Bool = false
|
|
static let settingsScreenShowUserAvatarChangeOption : Bool = true
|
|
static let settingsScreenShowEnterRoomOption : Bool = true
|
|
|
|
static let bwiLastAdminCanDowngradeHimself : Bool = false
|
|
|
|
static let bwiEnableErrorTracking : Bool = false
|
|
|
|
static let bwiEnableRegisterInfo : Bool = false
|
|
|
|
static let bwiShowHappyBirthdayCampaign: Bool = false
|
|
static let bwiHappyBirthdayCampaignIdentifier: String = "one_year_anniversary"
|
|
static let bwiDisableSecuritySettingsUntrustedDevices: Bool = true
|
|
static let bwiShowMatomoInfoScreen = false
|
|
static let bwiShowMatomoSettings = false
|
|
static let bwiMatomoTrackingDefaultState = false
|
|
static let bwiShowNewFeatures = true
|
|
static let bwiSendMessageThreshold = 10.0
|
|
|
|
static let pollsEnabled = true
|
|
|
|
// MARK: - Location Sharing
|
|
|
|
/// Overwritten by the home server's .well-known configuration (if any exists)
|
|
static let defaultTileServerMapStyleURL = URL(string: "https://api.maptiler.com")!
|
|
|
|
static let locationSharingEnabled = false
|
|
|
|
// MARK: - MXKAppSettings
|
|
static let enableBotCreation: Bool = false
|
|
static let maxAllowedMediaCacheSize: Int = 1073741824
|
|
static let presenceColorForOfflineUser: Int = 15020851
|
|
static let presenceColorForOnlineUser: Int = 3401011
|
|
static let presenceColorForUnavailableUser: Int = 15066368
|
|
static let showAllEventsInRoomHistory: Bool = false
|
|
static let showLeftMembersInRoomMemberList: Bool = false
|
|
static let showRedactionsInRoomHistory: Bool = true
|
|
static let showUnsupportedEventsInRoomHistory: Bool = false
|
|
static let sortRoomMembersUsingLastSeenTime: Bool = true
|
|
static let syncLocalContacts: Bool = false
|
|
|
|
// MARK: - New App Layout
|
|
static let newAppLayoutEnabled = false
|
|
|
|
// MARK: - Device manager
|
|
|
|
static let deviceManagerEnabled = false
|
|
}
|