Release 2.0.0
2
.github/ISSUE_TEMPLATE/enhancement.yml
vendored
@@ -5,7 +5,7 @@ body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thank you for taking the time to propose a new feature or make a suggestion.
|
||||
Thank you for taking the time to propose an enhancement to an existing feature. If you would like to propose a new feature or a major cross-platform change, please [start a discussion here](https://github.com/vector-im/element-meta/discussions/new?category=ideas)
|
||||
- type: textarea
|
||||
id: usecase
|
||||
attributes:
|
||||
|
||||
2
.github/workflows/ci-tests.yml
vendored
@@ -63,3 +63,5 @@ jobs:
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
flags: unittests
|
||||
|
||||
5
.github/workflows/ci-ui-tests.yml
vendored
@@ -1,9 +1,6 @@
|
||||
name: UI Tests CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop ]
|
||||
|
||||
pull_request:
|
||||
|
||||
workflow_dispatch:
|
||||
@@ -61,4 +58,6 @@ jobs:
|
||||
|
||||
- name: Upload coverage to Codecov
|
||||
uses: codecov/codecov-action@v3
|
||||
with:
|
||||
flags: uitests
|
||||
|
||||
7
.github/workflows/release-alpha.yml
vendored
@@ -4,6 +4,7 @@ on:
|
||||
|
||||
# Triggers the workflow on any pull request
|
||||
pull_request:
|
||||
types: [ labeled, synchronized, opened, reopened ]
|
||||
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
@@ -27,7 +28,11 @@ jobs:
|
||||
build:
|
||||
# Run job if secrets are available (not available for forks).
|
||||
needs: [check-secret]
|
||||
if: needs.check-secret.outputs.out-key == 'true'
|
||||
if: |
|
||||
needs.check-secret.outputs.out-key == 'true' &&
|
||||
(github.event_name == 'push' ||
|
||||
(github.event_name == 'pull_request' && contains(github.event.pull_request.labels.*.name, 'Trigger-PR-Build')))
|
||||
|
||||
name: Release
|
||||
runs-on: macos-12
|
||||
|
||||
|
||||
113
.github/workflows/triage-move-labelled.yml
vendored
@@ -17,7 +17,8 @@ jobs:
|
||||
contains(github.event.issue.labels.*.name, 'Z-IA') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Themes-Custom') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-E2EE-Dehydration') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Tags')
|
||||
contains(github.event.issue.labels.*.name, 'A-Tags') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor')
|
||||
steps:
|
||||
- uses: actions/github-script@v5
|
||||
with:
|
||||
@@ -44,7 +45,13 @@ jobs:
|
||||
name: P1 X-Needs-Design to Design project board
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'X-Needs-Design')
|
||||
contains(github.event.issue.labels.*.name, 'X-Needs-Design') &&
|
||||
(contains(github.event.issue.labels.*.name, 'S-Critical') &&
|
||||
(contains(github.event.issue.labels.*.name, 'O-Frequent') ||
|
||||
contains(github.event.issue.labels.*.name, 'O-Occasional')) ||
|
||||
(contains(github.event.issue.labels.*.name, 'S-Major') &&
|
||||
contains(github.event.issue.labels.*.name, 'O-Frequent')) ||
|
||||
contains(github.event.issue.labels.*.name, 'A11y'))
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
@@ -202,3 +209,105 @@ jobs:
|
||||
env:
|
||||
PROJECT_ID: "PN_kwDOAM0swc4AArk0"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
ps_features1:
|
||||
name: Add labelled issues to PS features team 1
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'A-Polls') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Location-Sharing') ||
|
||||
(contains(github.event.issue.labels.*.name, 'A-Voice-Messages') &&
|
||||
!contains(github.event.issue.labels.*.name, 'A-Broadcast')) ||
|
||||
(contains(github.event.issue.labels.*.name, 'A-Session-Mgmt') &&
|
||||
contains(github.event.issue.labels.*.name, 'A-User-Settings'))
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4AHJKF"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
ps_features2:
|
||||
name: Add labelled issues to PS features team 2
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'A-DM-Start') ||
|
||||
contains(github.event.issue.labels.*.name, 'A-Broadcast')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4AHJKd"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
ps_features3:
|
||||
name: Add labelled issues to PS features team 3
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'A-Rich-Text-Editor')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4AHJKW"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
voip:
|
||||
name: Add labelled issues to VoIP project board
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
contains(github.event.issue.labels.*.name, 'Team: VoIP')
|
||||
steps:
|
||||
- uses: octokit/graphql-action@v2.x
|
||||
id: add_to_project
|
||||
with:
|
||||
headers: '{"GraphQL-Features": "projects_next_graphql"}'
|
||||
query: |
|
||||
mutation add_to_project($projectid:ID!,$contentid:ID!) {
|
||||
addProjectV2ItemById(input: {projectId: $projectid contentId: $contentid}) {
|
||||
item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
projectid: ${{ env.PROJECT_ID }}
|
||||
contentid: ${{ github.event.issue.node_id }}
|
||||
env:
|
||||
PROJECT_ID: "PVT_kwDOAM0swc4ABMIk"
|
||||
GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
2
.github/workflows/triage-priority-bugs.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
- uses: alex-page/github-project-automation-plus@bb266ff4dde9242060e2d5418e120a133586d488
|
||||
with:
|
||||
project: iOS App Team
|
||||
column: P1
|
||||
column: "Important Issues & Topics (P1)"
|
||||
repo-token: ${{ secrets.ELEMENT_BOT_TOKEN }}
|
||||
|
||||
P1_issues_to_crypto_team_workboard:
|
||||
|
||||
94
CHANGES.md
@@ -1,3 +1,97 @@
|
||||
## Changes in 1.9.10 (2022-11-01)
|
||||
|
||||
✨ Features
|
||||
|
||||
- Changed the info in the background audio message player. ([#6870](https://github.com/vector-im/element-ios/pull/6870))
|
||||
- Added voice message support to the Rich Text Composer ([#6941](https://github.com/vector-im/element-ios/issues/6941))
|
||||
|
||||
🙌 Improvements
|
||||
|
||||
- Improves external links interaction UX. ([#6936](https://github.com/vector-im/element-ios/pull/6936))
|
||||
- Verification: Deprecate legacy device-to-device verification ([#6937](https://github.com/vector-im/element-ios/pull/6937))
|
||||
- Crypto: Define MXCrypto and MXCrossSigning as protocols ([#6943](https://github.com/vector-im/element-ios/pull/6943))
|
||||
- Hide the old session list when the new device manager is enabled. ([#6999](https://github.com/vector-im/element-ios/pull/6999))
|
||||
- Upgrade MatrixSDK version ([v0.24.2](https://github.com/matrix-org/matrix-ios-sdk/releases/tag/v0.24.2)).
|
||||
- Added a responsive placeholder text to the Rich Text Composer ([#6935](https://github.com/vector-im/element-ios/issues/6935))
|
||||
- Added the maximise/minimise toggle button to the Rich Text Composer ([#6954](https://github.com/vector-im/element-ios/issues/6954))
|
||||
|
||||
🐛 Bugfixes
|
||||
|
||||
- Timeline: Fix layout for SwiftUI content views. ([#5326](https://github.com/vector-im/element-ios/issues/5326))
|
||||
- Updates the avatar image loading logics. ([#6847](https://github.com/vector-im/element-ios/issues/6847))
|
||||
- Fixes input text view height when containing multiple lines of text. ([#6849](https://github.com/vector-im/element-ios/issues/6849))
|
||||
- Fixed the placeholder flickering in the input toolbar when there is an height change. ([#6949](https://github.com/vector-im/element-ios/issues/6949))
|
||||
|
||||
🧱 Build
|
||||
|
||||
- Add Z-Labs tag for rich text editor and update to the new label naming. ([#6996](https://github.com/vector-im/element-ios/pull/6996))
|
||||
|
||||
🚧 In development 🚧
|
||||
|
||||
- Device Manager: Multi-session selection. ([#6928](https://github.com/vector-im/element-ios/issues/6928))
|
||||
|
||||
Others
|
||||
|
||||
- Updated templates readme file. ([#6925](https://github.com/vector-im/element-ios/issues/6925))
|
||||
|
||||
|
||||
## Changes in 1.9.9 (2022-10-18)
|
||||
|
||||
✨ Features
|
||||
|
||||
- Added RendezvousService and secure channel establishment implementation ([#6806](https://github.com/vector-im/element-ios/pull/6806))
|
||||
- Implemented login with QR code flows when scanning from mobile ([#6857](https://github.com/vector-im/element-ios/pull/6857))
|
||||
|
||||
🙌 Improvements
|
||||
|
||||
- User agents: Ignore OS version for web based sessions (PSG-826). ([#6852](https://github.com/vector-im/element-ios/pull/6852))
|
||||
- Upgrade MatrixSDK version ([v0.24.1](https://github.com/matrix-org/matrix-ios-sdk/releases/tag/v0.24.1)).
|
||||
- Display push toggle for sessions with m.local_notification_settings.<device-id> events in account_data ([#6797](https://github.com/vector-im/element-ios/issues/6797))
|
||||
- CryptoV2: Incoming verification requests ([#6809](https://github.com/vector-im/element-ios/issues/6809))
|
||||
- Check enabled field in notification settings push toggles ([#6814](https://github.com/vector-im/element-ios/issues/6814))
|
||||
- Only use device type name as fallback for session display name ([#6820](https://github.com/vector-im/element-ios/issues/6820))
|
||||
- Include app name in default session display name ([#6828](https://github.com/vector-im/element-ios/issues/6828))
|
||||
- Tidy up TabBarCoordinator now that AllChatsCoordinator exists. ([#6853](https://github.com/vector-im/element-ios/issues/6853))
|
||||
- Sign Out: Add a SignOutFlowPresenter and use this in All Chats, Settings and the Device Manager. ([#6854](https://github.com/vector-im/element-ios/issues/6854))
|
||||
- Improved the Rich Text Editor to match design requirements. ([#6903](https://github.com/vector-im/element-ios/issues/6903))
|
||||
|
||||
🐛 Bugfixes
|
||||
|
||||
- Filter out application section in session details if needed. ([#6898](https://github.com/vector-im/element-ios/pull/6898))
|
||||
- Rich text editor now supports interactive dismissal by dragging the timeline. ([#6919](https://github.com/vector-im/element-ios/pull/6919), [#6900](https://github.com/vector-im/element-ios/issues/6900))
|
||||
- Location sharing: removing the loader. ([#5571](https://github.com/vector-im/element-ios/issues/5571))
|
||||
- Element freezes after searching in a room. ([#6762](https://github.com/vector-im/element-ios/issues/6762))
|
||||
- Settings: Use regular titles for all of the sub-screens. ([#6804](https://github.com/vector-im/element-ios/issues/6804))
|
||||
- All Chats: Fix a header glitch when aborting a pop gesture. ([#6833](https://github.com/vector-im/element-ios/issues/6833))
|
||||
- Device manager: Fixes from x-platform testing. ([#6864](https://github.com/vector-im/element-ios/issues/6864))
|
||||
- All chats shows no rooms in the list. ([#6869](https://github.com/vector-im/element-ios/issues/6869))
|
||||
- Device Manager: Navigating to session overview goes to session details. ([#6877](https://github.com/vector-im/element-ios/issues/6877))
|
||||
- "Notifications on this device" not refreshed in user settings screen ([#6888](https://github.com/vector-im/element-ios/issues/6888))
|
||||
- Rich text editor now always focuses if field is tapped within the border. ([#6897](https://github.com/vector-im/element-ios/issues/6897))
|
||||
- Device Manger: Device client information not updated. ([#6904](https://github.com/vector-im/element-ios/issues/6904))
|
||||
|
||||
🧱 Build
|
||||
|
||||
- Remove the (now unused) FFMPEG pod. ([#6419](https://github.com/vector-im/element-ios/issues/6419))
|
||||
- Update build tools from Cocoapods. ([#6886](https://github.com/vector-im/element-ios/issues/6886))
|
||||
|
||||
🚧 In development 🚧
|
||||
|
||||
- Device manager: Inactive sessions screen. ([#6786](https://github.com/vector-im/element-ios/issues/6786))
|
||||
- Device manager: Unverified sessions screen. ([#6801](https://github.com/vector-im/element-ios/issues/6801))
|
||||
- Device Manager: Add logout actions to UserSessionsOverview and UserSessionOverview ([#6802](https://github.com/vector-im/element-ios/issues/6802))
|
||||
- Device Manager: 'View all' button in other sessions list. ([#6817](https://github.com/vector-im/element-ios/issues/6817))
|
||||
- Device manager: Add UserSessionName and Rename actions to UserSessionsOverview and UserSessionOverview. ([#6823](https://github.com/vector-im/element-ios/issues/6823))
|
||||
- Device Manager: Filter sessions. ([#6838](https://github.com/vector-im/element-ios/issues/6838))
|
||||
- Device manager: Add verify device actions to UserSessionsOverview and UserSessionOverview. ([#6845](https://github.com/vector-im/element-ios/issues/6845))
|
||||
- Device manager: Identify inactive sessions. ([#6881](https://github.com/vector-im/element-ios/issues/6881))
|
||||
|
||||
Others
|
||||
|
||||
- Expose AuthenticationRestClient async login token generation method ([#6827](https://github.com/vector-im/element-ios/pull/6827))
|
||||
- Use unstable prefixes for login with QR flows. ([#6899](https://github.com/vector-im/element-ios/pull/6899))
|
||||
|
||||
|
||||
## Changes in 1.9.8 (2022-10-04)
|
||||
|
||||
🙌 Improvements
|
||||
|
||||
@@ -1,6 +1,37 @@
|
||||
|
||||
Changes in BWI project 2.0.0 (2022-11-23)
|
||||
===================================================
|
||||
|
||||
|
||||
Upstream merge ✨:
|
||||
|
||||
- v1.9.10
|
||||
|
||||
Features ✨:
|
||||
- Chat bubbles enabled
|
||||
- Praise the birthday (#3646)
|
||||
|
||||
Improvements 🙌:
|
||||
- New Logo (#3719)
|
||||
- Refactored Buildsettings (#3626)
|
||||
- Remove Element terms of service view (#3791)
|
||||
- Remove room settings for DMs to be more similar to Android (#3639)
|
||||
- being able to change pusher url and change it to push-local (#3637)
|
||||
|
||||
Bugfix 🐛:
|
||||
- Disable sharing toolbar for pdfs (#3880)
|
||||
- Fix going into app without pin log in some cases (#3891)
|
||||
|
||||
Translations 🗣 :
|
||||
|
||||
SDK API changes ⚠️:
|
||||
|
||||
+Build 🧱:
|
||||
|
||||
|
||||
Changes in BWI project 1.26.0 (2022-10-21)
|
||||
===================================================
|
||||
|
||||
|
||||
Upstream merge ✨:
|
||||
|
||||
|
||||
@@ -35,7 +35,8 @@ class AppConfiguration: CommonConfiguration {
|
||||
// bwi: add additional event for nicknames
|
||||
MXKAppSettings.standard()?.addSupportedEventTypes([kWidgetMatrixEventTypeString,
|
||||
kWidgetModularEventTypeString,
|
||||
BwiBuildSettings.bwiUserLabelEventTypeString])
|
||||
BWIBuildSettings.shared.bwiUserLabelEventTypeString,
|
||||
VoiceBroadcastSettings.voiceBroadcastInfoContentKeyType])
|
||||
|
||||
// Hide undecryptable messages that were sent while the user was not in the room
|
||||
MXKAppSettings.standard()?.hidePreJoinedUndecryptableEvents = true
|
||||
@@ -53,7 +54,7 @@ class AppConfiguration: CommonConfiguration {
|
||||
MXSDKOptions.sharedInstance().enableKeyBackupWhenStartingMXCrypto = true
|
||||
|
||||
// bwi: explicitly set option for key sharing
|
||||
MXSDKOptions.sharedInstance().enableRoomSharedHistoryOnInvite = BwiBuildSettings.allowKeySharingOnRoomInvite
|
||||
MXSDKOptions.sharedInstance().enableRoomSharedHistoryOnInvite = BWIBuildSettings.shared.allowKeySharingOnRoomInvite
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +64,7 @@ class AppConfiguration: CommonConfiguration {
|
||||
super.setupSettings(for: matrixSession)
|
||||
setupWidgetReadReceipts(for: matrixSession)
|
||||
|
||||
if BuildSettings.enableAntivirusScan, let homeServerStringURL = matrixSession.credentials?.homeServer {
|
||||
if BWIBuildSettings.shared.enableAntivirusScan, let homeServerStringURL = matrixSession.credentials?.homeServer {
|
||||
matrixSession.antivirusServerURL = homeServerStringURL
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,5 +16,5 @@
|
||||
//
|
||||
|
||||
// Version
|
||||
MARKETING_VERSION = 1.26.0
|
||||
MARKETING_VERSION = 2.0.0
|
||||
CURRENT_PROJECT_VERSION = 20220714163152
|
||||
|
||||
499
Config/BWIBuildSettings.swift
Normal file
@@ -0,0 +1,499 @@
|
||||
//
|
||||
/*
|
||||
* Copyright (c) 2022 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
|
||||
import KeychainAccess
|
||||
|
||||
@objcMembers
|
||||
class BWIBuildSettings: NSObject {
|
||||
static let shared = BWIBuildSettings()
|
||||
|
||||
private let vault: KeyValueVault
|
||||
|
||||
override init() {
|
||||
vault = KeychainVault(Keychain(service: BwiSettingsConstants.bwiSettingsKeychainService,
|
||||
accessGroup: BuildSettings.keychainAccessGroup))
|
||||
|
||||
super.init()
|
||||
overrideTargetSpecificSettings()
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
|
||||
private enum UserDefaultsKeys {
|
||||
static let additionalBwiHeaderKey = "bwiHeader"
|
||||
}
|
||||
|
||||
private struct BwiSettingsConstants {
|
||||
static let bwiSettingsKeychainService: String = BuildSettings.baseBundleIdentifier + ".bwi-settings-service"
|
||||
}
|
||||
|
||||
func reset() {
|
||||
additionalBwiHeader = UserAgentService().bwiUserAgentDict
|
||||
let sdkOptions = MXSDKOptions.sharedInstance()
|
||||
sdkOptions.httpAdditionalHeaders = UserAgentService().bwiUserAgentDict
|
||||
}
|
||||
|
||||
// MARK: Servers
|
||||
|
||||
var additionalBwiHeader: Dictionary<String, String> {
|
||||
get {
|
||||
do {
|
||||
guard let data = try vault.data(forKey: UserDefaultsKeys.additionalBwiHeaderKey) else {
|
||||
return UserAgentService().bwiUserAgentDict
|
||||
}
|
||||
var dict = try JSONDecoder().decode(Dictionary<String,String>.self, from: data)
|
||||
dict["User-Agent"] = UserAgentService().bwiUserAgent
|
||||
return dict
|
||||
} catch {
|
||||
return UserAgentService().bwiUserAgentDict
|
||||
}
|
||||
} set {
|
||||
do {
|
||||
let data = try JSONEncoder().encode(newValue)
|
||||
try vault.set(data, forKey: UserDefaultsKeys.additionalBwiHeaderKey)
|
||||
} catch let error {
|
||||
NSLog("[PinCodePreferences] Error when storing addional header to the vault: \(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: -
|
||||
|
||||
// Integration check
|
||||
var forcedPinProtection = true
|
||||
|
||||
// Jailbreak check
|
||||
var forcedNoneJailbroken = true
|
||||
|
||||
/// Default number of iterations for secure storage. Do not change this value after going live.
|
||||
var iterationsForSecureStorage: UInt = 100000
|
||||
|
||||
/// Allow split view detail view stacking
|
||||
var allowSplitViewDetailsScreenStacking = true
|
||||
|
||||
// direct rooms are for two persons only in bwi context
|
||||
var allowInviteOnDirectRooms = false
|
||||
|
||||
// test setup for downtime: should be false for all builds
|
||||
var useTestDataForDowntime = false
|
||||
|
||||
var flavor = ""
|
||||
|
||||
var showBwiSplashScreen = false
|
||||
|
||||
var bwiShowRoomSearch = false
|
||||
|
||||
var bwiAllowRoomPermalink = false
|
||||
|
||||
var bwiAllowUserPermalink = false
|
||||
|
||||
var bwiCheckAppVersion = true
|
||||
|
||||
var bwiNotificationTimes = true
|
||||
|
||||
var bwiUserLabelsAdminSettingsVisible = true
|
||||
var bwiUserLabelsMemberDetailsVisible = true
|
||||
var bwiUserLabelsParticipantsVisible = true
|
||||
var bwiUserLabelsTimelineDisplayNameVisible = true
|
||||
var bwiUserLabelsTimelineEventVisible = true
|
||||
|
||||
var bwiUserLabelEventTypeString = "de.bwi.room.user_function_labels"
|
||||
|
||||
var bwiUserLabelParticipantSorting = true
|
||||
|
||||
var bwiShowClosedPolls = true
|
||||
var bwiShowThreads = false
|
||||
|
||||
var bwiShowRoomCreationSectionFooter = false
|
||||
|
||||
var bwiAutoCreateAliasOnRoomCreation = true
|
||||
|
||||
var bwiLocationShareButtonVisible = true
|
||||
var bwiUseCustomPersonalNotesAvatar = true
|
||||
var bwiBetterIgnoredUsers = true
|
||||
var bwiSettingsShowInAppNotifications = false
|
||||
var bwiFilteredContextMenu = true
|
||||
|
||||
var bwiShowPinnedNotificationSettings = false
|
||||
var bwiShowSessionSettingsFooter = false
|
||||
|
||||
var bwiEnablePersonalState = false
|
||||
|
||||
// In onboarding splash screen dis/enable register button
|
||||
var bwiOnboardingSplashScreenEnableRegister = false
|
||||
|
||||
// make sure that the NSE extention always resets message body and title
|
||||
var bwiHideNotificationMessageBody = true
|
||||
|
||||
// in Auth screen dis/enable register button even with onboarding splash screen enabled
|
||||
var bwiAuthentificationScreenEnableRegister = false
|
||||
|
||||
// enable BuM style authentication UI (more Info text and a logo)
|
||||
var bwiEnableBuMAuthentificationUI = true
|
||||
|
||||
// voicemessages should resignplaying when the app enters the background
|
||||
var bwiResignPlayingVoiceMessageInBackground = true
|
||||
|
||||
// enable BUM style UI in pincode and maybe other places
|
||||
var bwiEnableBuMUI = true
|
||||
|
||||
// clear media cache every time when leaving a room vc: no media should be saved on device for security purposes
|
||||
var bwiClearMediaCacheOnRoomExit = true
|
||||
|
||||
var bwiEnableLoginProtection = true
|
||||
|
||||
var bwiHashes = [ "a3f65e35a7476799afe8d80282fb3c45b39dab06d1d8c70dc98e45ab7d8e93a9",
|
||||
"2fda1a831655c22a5e6096d7cfbff4429fbf27891141e191b46adbf168142a11",
|
||||
"4f8cbb3fef885f7284d0477d797d7007f0e1ba76221834132752f4d645796e28",
|
||||
"24c2ec541e61e8e68944b96dc45ed5df12f6bdbda283cb0b3a522742aa970256",
|
||||
"1be0b314a6c915d4475290522baef5b642db1b6d68937792b8e0eb5b7b0d6666",
|
||||
"3deb73db8cafcd1d5a59e25e251c35816162e1f6ee67b5d7d011da0e8d6ef931",
|
||||
"42e57985d61202c2c7dd87d898cef9bdce020877a4c7a8c7cd699f6a28f58c0c",
|
||||
"e1c3c7cac12bd65bd48de79a2677187d2e768d2769377627534023588b8d7a33"]
|
||||
|
||||
// use a different badge color if the user was mentioned in a room
|
||||
var showMentionsInRoom = true
|
||||
|
||||
// replace feature history link variable with the appropiate build setting
|
||||
var bwiFeatureHistoryLink = "https://messenger.bwi.de/#c4783"
|
||||
var bwiReplaceFeatureLink = true
|
||||
|
||||
// login with matrix id should only be enabled in some configurations
|
||||
var bwiEnableLoginWithMatrixID = true
|
||||
|
||||
// show app specific loading icons instead of the rotating element logo
|
||||
var showBUMLottieAnimation = true
|
||||
|
||||
// DMs don't need all roomsettings (like changing avatar, name, topic)
|
||||
var showUnrelatedRoomSettingsForDirectMessages = false
|
||||
|
||||
// create rooms without shared history
|
||||
var enableSharedHistoryOnRoomCreation = false
|
||||
|
||||
// explicitly set sdk option for key sharing => We don't want to share even if the room setting allows it
|
||||
var allowKeySharingOnRoomInvite = true
|
||||
|
||||
// DMs don't need all roomsettings (like changing avatar, name, topic)
|
||||
var allowDoubleTapOnImageAttachmentsForZoom = true
|
||||
|
||||
// ------ End of BwiBuildSettings ---------
|
||||
|
||||
// Element-Web instance for the app
|
||||
var applicationWebAppUrlString = ""
|
||||
|
||||
// Default servers proposed on the authentication screen
|
||||
var serverConfigDefaultHomeserverUrlString = ""
|
||||
var serverConfigDefaultIdentityServerUrlString = ""
|
||||
var serverConfigPreSelections = ["":""]
|
||||
var serverConfigSygnalAPIUrlString = "http://push-local/_matrix/push/v1/notify"
|
||||
|
||||
// Note: Set empty strings to hide the related entry in application settings
|
||||
var applicationCopyrightUrlString = "https://messenger.bwi.de/copyright"
|
||||
var applicationPrivacyPolicyUrlString = ""
|
||||
var applicationTermsConditionsUrlString = ""
|
||||
|
||||
// MARk: - Matrix permalinks
|
||||
// Paths for URLs that will considered as Matrix permalinks. Those permalinks are opened within the app
|
||||
var permalinkSupportedHosts: [String: [String]] = [:]
|
||||
|
||||
// MARK: - VoIP
|
||||
var allowVoIPUsage = false
|
||||
var stunServerFallbackUrlString: String? = ""
|
||||
|
||||
// MARK: - Public rooms Directory
|
||||
// List of homeservers for the public rooms directory
|
||||
var publicRoomsDirectoryServers = ["matrix.org"]
|
||||
|
||||
// MARK: - Analytics
|
||||
|
||||
/// BWI: set host and key to nil to disable PostHog tracking
|
||||
var analyticsHost: String? = nil
|
||||
var analyticsKey: String? = nil
|
||||
var bwiAnalyticsServerUrlString = ""
|
||||
var bwiAnalyticsAppId = "1"
|
||||
|
||||
/// The configuration to use for analytics during development. Set `isEnabled` to false to disable analytics in debug builds.
|
||||
var analyticsConfiguration = BuildSettings.AnalyticsConfiguration(isEnabled: false,
|
||||
host: "",
|
||||
apiKey: "",
|
||||
termsURL: URL(string: "https://element.io/cookie-policy")!)
|
||||
|
||||
// MARK: - Bug report
|
||||
var bugReportEndpointUrlString = ""
|
||||
|
||||
// MARK: - Integrations
|
||||
// Widgets in those paths require a scalar token
|
||||
var integrationsScalarWidgetsPaths = [""]
|
||||
// Jitsi server used outside integrations to create conference calls from the call button in the timeline
|
||||
var jitsiServerUrl = URL(string: "https://enter.jitsi.url")!
|
||||
var enableJSInWebView = false
|
||||
|
||||
// MARK: - Features
|
||||
|
||||
/// Setting to force protection by pin code
|
||||
var forcePinProtection = true
|
||||
|
||||
/// Max allowed time to continue using the app without prompting PIN
|
||||
var pinCodeGraceTimeInSeconds: TimeInterval = 180
|
||||
|
||||
var allowLocalContactsAccess = false
|
||||
var allowInviteExernalUsers = false
|
||||
var enableSideMenu = false
|
||||
var sideMenuShowInviteFriends = false
|
||||
|
||||
// MARK: - Feature Specifics
|
||||
|
||||
/// Not allowed pin codes. User won't be able to select one of the pin in the list.
|
||||
var 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"
|
||||
]
|
||||
|
||||
var allowLocalContactPresence = false
|
||||
|
||||
/// Indicates should the app log out the user when number of PIN failures reaches `maxAllowedNumberOfPinFailures`. Defaults to `false`
|
||||
var logOutUserWhenPINFailuresExceeded = true
|
||||
|
||||
/// Indicates should the app log out the user when number of biometrics failures reaches `maxAllowedNumberOfBiometricsFailures`. Defaults to `false`
|
||||
var logOutUserWhenBiometricsFailuresExceeded = true
|
||||
|
||||
/// If force is enabled the dialog for asking if reseting the key backup is not shown.. already asked before in mandatory verfication
|
||||
var forceResetBackupIfLost = true
|
||||
|
||||
/// if skip is enabled the key backup dialogs are passed through
|
||||
var skipKeyBackupStep = true
|
||||
|
||||
// MARK: - Main Tabs
|
||||
|
||||
var homeScreenShowHomeTab = false
|
||||
|
||||
// MARK: - General Settings Screen
|
||||
|
||||
var settingsScreenAllowAddingLinkedEmails = false
|
||||
var settingsScreenAllowAddingPhoneNumbers = false
|
||||
var settingsScreenAllowAddingEmailThreepids = false
|
||||
var settingsScreenAllowAddingPhoneThreepids = false
|
||||
var settingsScreenShowThreepidExplanatory = false
|
||||
var settingsScreenShowDiscoverySettings = false
|
||||
var settingsScreenAllowIdentityServerConfig = false
|
||||
var settingsScreenShowConfirmMediaSize = false
|
||||
var settingsScreenShowAdvancedSettings = false
|
||||
var settingsScreenShowLabSettings = false
|
||||
var settingsScreenAllowChangingRageshakeSettings = false
|
||||
var settingsScreenAllowChangingCrashUsageDataSettings = false
|
||||
var settingsScreenAllowBugReportingManually = false
|
||||
var settingsScreenAllowDeactivatingAccount = false
|
||||
|
||||
var settingsScreenShowLinkPreviews = false
|
||||
var settingsScreenShowInviteFriends = false
|
||||
var settingsScreenShowSettings = true
|
||||
var settingsScreenShowFeedback = false
|
||||
var settingsScreenShowHelp = false
|
||||
|
||||
var settingsScreenShowNotificationDecodedContentOption = false
|
||||
var settingsScreenShowSystemSettingsOption = false
|
||||
var settingsScreenShowNsfwRoomsOption = false
|
||||
var settingsScreenShowSupportSetting = true
|
||||
var settingsScreenSupportSettingHTML = "support"
|
||||
|
||||
var settingsSecurityScreenShowCryptographyInfo:Bool = false
|
||||
var settingsSecurityScreenShowCryptographyExport:Bool = false
|
||||
var settingsSecurityScreenShowAdvancedUnverifiedDevices:Bool = false
|
||||
|
||||
// MARK: - Notification Settings
|
||||
var settingsNotificationsBWIDefaultSet = true
|
||||
var settingsNotificationsShowDefault = true
|
||||
var settingsNotificationsShowMentions = false
|
||||
var settingsNotificationsShowAdvanced = false
|
||||
|
||||
// MARK: - Timeline settings
|
||||
var roomInputToolbarCompressionMode: BuildSettings.MediaCompressionMode = .none
|
||||
|
||||
// MARK: - Room Creation Screen
|
||||
|
||||
var roomCreationScreenAllowEncryptionConfiguration = false
|
||||
|
||||
// MARK: - Room Screen
|
||||
|
||||
var roomScreenAllowStickerAction = false
|
||||
|
||||
// MARK: - Room Info Screen
|
||||
|
||||
var roomInfoScreenShowIntegrations = false
|
||||
|
||||
// MARK: - Room Settings Screen
|
||||
|
||||
var roomSettingsScreenShowLowPriorityOption = false
|
||||
var roomSettingsScreenShowDirectChatOption = false
|
||||
var roomSettingsScreenAllowChangingAccessSettings = false
|
||||
var roomSettingsScreenAllowChangingHistorySettings = false
|
||||
var roomSettingsScreenShowAddressSettings = false
|
||||
var roomSettingsScreenShowAdvancedSettings = false
|
||||
var roomSettingsScreenShowAccessSettingsBW = true
|
||||
var roomSettingsScreenRemoveLeave = true
|
||||
var roomSettingsScreenShowNotificationsV2 = false
|
||||
|
||||
// MARK: - Message
|
||||
|
||||
var messageDetailsAllowShare = false
|
||||
var messageDetailsAllowPermalink = false
|
||||
var messageDetailsAllowViewSource = false
|
||||
var messageDetailsAllowSave = false
|
||||
var messageDetailsAllowCopyMedia = false
|
||||
var messageDetailsAllowPasteMedia = false
|
||||
|
||||
// MARK: - Authentication Screen
|
||||
|
||||
var authScreenShowRegister = false
|
||||
var authScreenShowPhoneNumber = false
|
||||
var authScreenShowForgotPassword = false
|
||||
var authScreenShowCustomServerOptions = true
|
||||
var authScreenShowTestServerOptions = true
|
||||
var authScreenShowSocialLoginSection = false
|
||||
|
||||
// MARK: - Cross-signing (bwi=true)
|
||||
var disableSelfUserVerification = true
|
||||
|
||||
// MARK: - Antivirus scan (bwi=true)
|
||||
|
||||
var enableAntivirusScan = true
|
||||
|
||||
// MARK: Verification screen (bwi=false)
|
||||
|
||||
var showRecoverWithKey = false
|
||||
|
||||
// MARK: Unified search screen (bwi=false)
|
||||
|
||||
var showUnifiedSearchViewMessagesTab = false
|
||||
var showUnifiedSearchViewFilesTab = false
|
||||
|
||||
// MARK: - Onboarding
|
||||
|
||||
var onboardingShowAccountPersonalization = false
|
||||
var onboardingEnableNewAuthenticationFlow = false
|
||||
|
||||
// ---
|
||||
|
||||
// MARK: Last message timestamp support (bwi=false)
|
||||
var enableLastMessageTimestamp = false
|
||||
|
||||
// MARK: Invite friends in Direct Chat (bwi=false)
|
||||
var directChatShowInviteFriends = false
|
||||
|
||||
// MARK: Last admin is not allowed to leave the room (bwi=true)
|
||||
var lastAdminIsNotAllowedToLeaveRoom = true
|
||||
|
||||
// MARK: Room Member Details Screen (bwi=true)
|
||||
var roomMemberDetailsHideLeaveButton = true
|
||||
|
||||
// MARK: Room create options (bwi=false)
|
||||
var enableShowInRoomDirectory = false
|
||||
|
||||
// Mark: Unified Search (bwi=true)
|
||||
var unifiedSearchScreenShowPublicDirectory = true
|
||||
|
||||
// MARK: Allows removal of uploaded avatar photos (bwi=true)
|
||||
var enableRemoveAvatarImage = true
|
||||
|
||||
// MARK: Add a toggle button to the login screen to make the password visible
|
||||
var passwordIndicatorOnLogin = true
|
||||
|
||||
// MARK: Displays the element base version on the settings screen
|
||||
var elementBaseVersion = "1.9.10"
|
||||
|
||||
var showElementBaseVersion = true
|
||||
|
||||
// MARK: Bypasses the normal forgot password process by presenting the user an information alert
|
||||
// (requires authScreenShowForgotPassword set to true)
|
||||
var forgotPasswordInformationAlert = true
|
||||
|
||||
// MARK: Promote new feature within a banner below the navigation view
|
||||
var showTopBanner = true
|
||||
|
||||
var showCustomServerDisplayName = true
|
||||
var customServerDisplayName = ""
|
||||
|
||||
// MARK BWI show/hide developer menu
|
||||
var bwiShowDeveloperSettings = false
|
||||
|
||||
// MARK BWI personal notes room
|
||||
var bwiPersonalNotesRoom = false
|
||||
var bwiPersonalNotesRoomLeavable = false
|
||||
var bwiResetPersonalNotesAccountData = false
|
||||
var bwiShowTimelineSettings = false
|
||||
|
||||
// MARK BWI personal state
|
||||
var bwiPersonalState = false
|
||||
|
||||
// MARK BWI personal notes room
|
||||
var bwiRollsAndRights = true
|
||||
|
||||
// MARK: Timeline
|
||||
var settingsScreenShowSimpleTimeLineOptions = false
|
||||
var settingsScreenShowTimeStampOption = true
|
||||
var settingsScreenShowDeletedMessagesOption = false
|
||||
var settingsScreenShowNameChangeOption = false
|
||||
var settingsScreenShowChatEffectsOption = false
|
||||
var settingsScreenShowRoomAvatarChangeOption = false
|
||||
var settingsScreenShowUserAvatarChangeOption = true
|
||||
var settingsScreenShowEnterRoomOption = true
|
||||
|
||||
var bwiLastAdminCanDowngradeHimself = false
|
||||
|
||||
var bwiEnableErrorTracking = false
|
||||
|
||||
var bwiEnableRegisterInfo = false
|
||||
|
||||
var bwiShowHappyBirthdayCampaign = false
|
||||
var bwiHappyBirthdayCampaignIdentifier: String = "2022"
|
||||
var bwiDisableSecuritySettingsUntrustedDevices = true
|
||||
var bwiMatomoTrackingDefaultState = false
|
||||
var bwiShowNewFeatures = true
|
||||
|
||||
// MARK: - Message Bubbles bwi show in our menu and only for beta builds
|
||||
|
||||
var bwiShowMessageBubbleSettings = false
|
||||
|
||||
// bwi disable encrypted option in message context menu
|
||||
var roomContextualMenuShowEncryptionOption = false
|
||||
|
||||
// bwi disable side menu coach message
|
||||
var showSideMenuCoachMessage = false
|
||||
}
|
||||
32
Config/BuM-Beta/BWIBuildSettings+BuM-Beta.swift
Normal file
@@ -0,0 +1,32 @@
|
||||
//
|
||||
/*
|
||||
* Copyright (c) 2022 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
|
||||
|
||||
extension BWIBuildSettings {
|
||||
|
||||
func overrideTargetSpecificSettings() {
|
||||
authScreenShowRegister = true
|
||||
showTopBanner = false
|
||||
bwiShowDeveloperSettings = true
|
||||
bwiPersonalState = true
|
||||
bwiEnableErrorTracking = true
|
||||
bwiMatomoTrackingDefaultState = true
|
||||
bwiShowMessageBubbles = true
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,572 +0,0 @@
|
||||
//
|
||||
// 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://messenger.bwi.de/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? = ""
|
||||
|
||||
// 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",
|
||||
"gitter.im"
|
||||
]
|
||||
|
||||
// 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 = true
|
||||
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 = true
|
||||
|
||||
// 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.9.8"
|
||||
|
||||
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 = false
|
||||
|
||||
static let showCustomServerDisplayName : Bool = true
|
||||
static let customServerDisplayName : String = ""
|
||||
|
||||
// MARK BWI show/hide developer menu
|
||||
static let bwiShowDeveloperSettings : Bool = true
|
||||
|
||||
// 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 = true
|
||||
|
||||
// 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 = true
|
||||
|
||||
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 = true
|
||||
static let bwiShowMatomoSettings = true
|
||||
static let bwiMatomoTrackingDefaultState = true
|
||||
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://msgpriv.example.com/")!
|
||||
|
||||
static let locationSharingEnabled = true
|
||||
|
||||
// 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
|
||||
|
||||
// MARK: - Message Bubbles bwi show in our menu and only for beta builds
|
||||
static let bwiShowMessageBubbles = true
|
||||
}
|
||||
25
Config/BuM/BWIBuildSettings+BuM.swift
Normal file
@@ -0,0 +1,25 @@
|
||||
//
|
||||
/*
|
||||
* Copyright (c) 2022 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
|
||||
|
||||
extension BWIBuildSettings {
|
||||
|
||||
func overrideTargetSpecificSettings() {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
//
|
||||
// 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.
|
||||
@@ -88,7 +87,8 @@ final class BuildSettings: NSObject {
|
||||
}
|
||||
|
||||
// Element-Web instance for the app
|
||||
static let applicationWebAppUrlString = ""
|
||||
static let applicationWebAppUrlString = "https://app.element.io"
|
||||
|
||||
|
||||
// MARK: - Localization
|
||||
|
||||
@@ -99,25 +99,42 @@ final class BuildSettings: NSObject {
|
||||
// MARK: - Server configuration
|
||||
|
||||
// Default servers proposed on the authentication screen
|
||||
static let serverConfigDefaultHomeserverUrlString = ""
|
||||
static let serverConfigDefaultIdentityServerUrlString = ""
|
||||
static let serverConfigDefaultHomeserverUrlString = "https://matrix.org"
|
||||
static let serverConfigDefaultIdentityServerUrlString = "https://vector.im"
|
||||
|
||||
static let serverConfigPreSelections = ["":""]
|
||||
static let serverConfigSygnalAPIUrlString = "https://matrix.org/_matrix/push/v1/notify"
|
||||
|
||||
static let serverConfigSygnalAPIUrlString = ""
|
||||
|
||||
// MARK: - Legal URLs
|
||||
|
||||
// Note: Set empty strings to hide the related entry in application settings
|
||||
static let applicationCopyrightUrlString = "https://messenger.bwi.de/copyright"
|
||||
static let applicationPrivacyPolicyUrlString = ""
|
||||
static let applicationCopyrightUrlString = "https://element.io/copyright"
|
||||
static let applicationPrivacyPolicyUrlString = "https://element.io/privacy"
|
||||
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]] = [:]
|
||||
|
||||
static let applicationHelpUrlString =
|
||||
"https://element.io/help"
|
||||
|
||||
|
||||
// MARK: - Permalinks
|
||||
// Hosts/Paths for URLs that will considered as valid permalinks. Those permalinks are opened within the app.
|
||||
static let permalinkSupportedHosts: [String: [String]] = [
|
||||
"app.element.io": [],
|
||||
"staging.element.io": [],
|
||||
"develop.element.io": [],
|
||||
"mobile.element.io": [""],
|
||||
// Historical ones
|
||||
"riot.im": ["/app", "/staging", "/develop"],
|
||||
"www.riot.im": ["/app", "/staging", "/develop"],
|
||||
"vector.im": ["/app", "/staging", "/develop"],
|
||||
"www.vector.im": ["/app", "/staging", "/develop"],
|
||||
// Official Matrix ones
|
||||
"matrix.to": ["/"],
|
||||
"www.matrix.to": ["/"],
|
||||
// Client Permalinks (for use with `BuildSettings.clientPermalinkBaseUrl`)
|
||||
// "example.com": ["/"],
|
||||
// "www.example.com": ["/"],
|
||||
]
|
||||
|
||||
// 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.
|
||||
@@ -127,37 +144,24 @@ final class BuildSettings: NSObject {
|
||||
// MARK: - VoIP
|
||||
static var allowVoIPUsage: Bool {
|
||||
#if canImport(JitsiMeetSDK)
|
||||
return false
|
||||
return true
|
||||
#else
|
||||
return false
|
||||
#endif
|
||||
}
|
||||
|
||||
static let stunServerFallbackUrlString: String? = ""
|
||||
static let stunServerFallbackUrlString: String? = "stun:turn.matrix.org"
|
||||
|
||||
// MARK: - Public rooms Directory
|
||||
// List of homeservers for the public rooms directory
|
||||
static let publicRoomsDirectoryServers = [
|
||||
"matrix.org"
|
||||
"matrix.org",
|
||||
"gitter.im"
|
||||
]
|
||||
|
||||
// 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.
|
||||
///
|
||||
@@ -174,45 +178,67 @@ final class BuildSettings: NSObject {
|
||||
let termsURL: URL
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
/// 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: "",
|
||||
static let analyticsConfiguration = AnalyticsConfiguration(isEnabled: BuildSettings.baseBundleIdentifier.starts(with: "im.vector.app"),
|
||||
host: "https://posthog.element.dev",
|
||||
apiKey: "phc_VtA1L35nw3aeAtHIx1ayrGdzGkss7k1xINeXcoIQzXN",
|
||||
termsURL: URL(string: "https://element.io/cookie-policy")!)
|
||||
|
||||
#else
|
||||
/// The configuration to use for analytics. Set `isEnabled` to false to disable analytics.
|
||||
static let analyticsConfiguration = AnalyticsConfiguration(isEnabled: BuildSettings.baseBundleIdentifier.starts(with: "im.vector.app"),
|
||||
host: "https://posthog.hss.element.io",
|
||||
apiKey: "phc_Jzsm6DTm6V2705zeU5dcNvQDlonOR68XvX2sh1sEOHO",
|
||||
termsURL: URL(string: "https://element.io/cookie-policy")!)
|
||||
#endif
|
||||
|
||||
|
||||
// MARK: - Bug report
|
||||
static let bugReportEndpointUrlString = ""
|
||||
static let bugReportEndpointUrlString = "https://riot.im/bugreports"
|
||||
// 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")!
|
||||
static let integrationsScalarWidgetsPaths = [
|
||||
"https://scalar.vector.im/_matrix/integrations/v1",
|
||||
"https://scalar.vector.im/api",
|
||||
"https://scalar-staging.vector.im/_matrix/integrations/v1",
|
||||
"https://scalar-staging.vector.im/api",
|
||||
"https://scalar-staging.riot.im/scalar/api",
|
||||
]
|
||||
// Jitsi server used outside integrations to create conference calls from the call button in the timeline.
|
||||
// Setting this to nil effectively disables Jitsi conference calls (given that there is no wellknown override).
|
||||
// Note: this will not remove the conference call button, use roomScreenAllowVoIPForNonDirectRoom setting.
|
||||
static let jitsiServerUrl: URL? = URL(string: "https://jitsi.riot.im")
|
||||
|
||||
|
||||
// MARK: - Features
|
||||
|
||||
|
||||
/// Setting to force protection by pin code
|
||||
static let forcePinProtection: Bool = true
|
||||
|
||||
static let forcePinProtection: Bool = false
|
||||
|
||||
/// Max allowed time to continue using the app without prompting PIN
|
||||
static let pinCodeGraceTimeInSeconds: TimeInterval = 180
|
||||
static let pinCodeGraceTimeInSeconds: TimeInterval = 0
|
||||
|
||||
/// Force non-jailbroken app usage
|
||||
static let forceNonJailbrokenUsage: Bool = true
|
||||
|
||||
static let allowSendingStickers: Bool = false
|
||||
static let allowSendingStickers: Bool = true
|
||||
|
||||
static let allowLocalContactsAccess: Bool = false
|
||||
|
||||
static let allowInviteExernalUsers: Bool = false
|
||||
static let allowLocalContactsAccess: Bool = true
|
||||
|
||||
static let allowInviteExernalUsers: Bool = true
|
||||
|
||||
static let allowBackgroundAudioMessagePlayback: Bool = true
|
||||
|
||||
// MARK: - Side Menu
|
||||
static let enableSideMenu: Bool = false
|
||||
static let sideMenuShowInviteFriends: Bool = false
|
||||
static let sideMenuShowInviteFriends: Bool = true
|
||||
|
||||
/// 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
|
||||
@@ -220,32 +246,7 @@ final class BuildSettings: NSObject {
|
||||
// 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"
|
||||
]
|
||||
static let notAllowedPINs: [String] = []
|
||||
|
||||
/// Maximum number of allowed pin failures when unlocking, before force logging out the user. Defaults to `3`
|
||||
static let maxAllowedNumberOfPinFailures: Int = 3
|
||||
@@ -253,26 +254,16 @@ final class BuildSettings: NSObject {
|
||||
/// 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
|
||||
static let logOutUserWhenPINFailuresExceeded: Bool = false
|
||||
|
||||
/// Indicates should the app log out the user when number of biometrics failures reaches `maxAllowedNumberOfBiometricsFailures`. Defaults to `false`
|
||||
static let logOutUserWhenBiometricsFailuresExceeded: Bool = true
|
||||
static let logOutUserWhenBiometricsFailuresExceeded: Bool = false
|
||||
|
||||
|
||||
/// 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
|
||||
@@ -281,54 +272,34 @@ final class BuildSettings: NSObject {
|
||||
|
||||
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 settingsScreenAllowAddingEmailThreepids: Bool = true
|
||||
static let settingsScreenAllowAddingPhoneThreepids: Bool = true
|
||||
static let settingsScreenShowThreepidExplanatory: Bool = true
|
||||
static let settingsScreenShowDiscoverySettings: Bool = true
|
||||
static let settingsScreenAllowIdentityServerConfig: Bool = true
|
||||
static let settingsScreenShowConfirmMediaSize: Bool = true
|
||||
static let settingsScreenShowAdvancedSettings: Bool = true
|
||||
static let settingsScreenShowLabSettings: Bool = true
|
||||
static let settingsScreenAllowChangingRageshakeSettings: Bool = true
|
||||
static let settingsScreenAllowChangingCrashUsageDataSettings: Bool = true
|
||||
static let settingsScreenAllowBugReportingManually: Bool = true
|
||||
static let settingsScreenAllowDeactivatingAccount: Bool = true
|
||||
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 settingsScreenShowNotificationDecodedContentOption: Bool = true
|
||||
static let settingsScreenShowNsfwRoomsOption: Bool = true
|
||||
static let settingsSecurityScreenShowSessions:Bool = true
|
||||
static let settingsSecurityScreenShowSetupBackup:Bool = true
|
||||
static let settingsSecurityScreenShowRestoreBackup:Bool = true
|
||||
static let settingsSecurityScreenShowDeleteBackup:Bool = true
|
||||
static let settingsSecurityScreenShowCryptographyInfo:Bool = true
|
||||
static let settingsSecurityScreenShowCryptographyExport:Bool = true
|
||||
static let settingsSecurityScreenShowAdvancedUnverifiedDevices: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
|
||||
static let roomInputToolbarCompressionMode: MediaCompressionMode = .prompt
|
||||
|
||||
enum MediaCompressionMode {
|
||||
case prompt, small, medium, large, none
|
||||
@@ -336,7 +307,7 @@ final class BuildSettings: NSObject {
|
||||
|
||||
// MARK: - Room Creation Screen
|
||||
|
||||
static let roomCreationScreenAllowEncryptionConfiguration: Bool = false
|
||||
static let roomCreationScreenAllowEncryptionConfiguration: Bool = true
|
||||
static let roomCreationScreenRoomIsEncrypted: Bool = true
|
||||
static let roomCreationScreenAllowRoomTypeConfiguration: Bool = true
|
||||
static let roomCreationScreenRoomIsPublic: Bool = false
|
||||
@@ -347,7 +318,7 @@ final class BuildSettings: NSObject {
|
||||
static let roomScreenAllowVoIPForNonDirectRoom: Bool = true
|
||||
static let roomScreenAllowCameraAction: Bool = true
|
||||
static let roomScreenAllowMediaLibraryAction: Bool = true
|
||||
static let roomScreenAllowStickerAction: Bool = false
|
||||
static let roomScreenAllowStickerAction: Bool = true
|
||||
static let roomScreenAllowFilesAction: Bool = true
|
||||
|
||||
// Timeline style
|
||||
@@ -366,186 +337,79 @@ final class BuildSettings: NSObject {
|
||||
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
|
||||
static let roomInfoScreenShowIntegrations: Bool = true
|
||||
|
||||
// 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 roomSettingsScreenShowLowPriorityOption: Bool = true
|
||||
static let roomSettingsScreenShowDirectChatOption: Bool = true
|
||||
static let roomSettingsScreenAllowChangingAccessSettings: Bool = true
|
||||
static let roomSettingsScreenAllowChangingHistorySettings: Bool = true
|
||||
static let roomSettingsScreenShowAddressSettings: Bool = true
|
||||
static let roomSettingsScreenShowAdvancedSettings: 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
|
||||
static let messageDetailsAllowShare: Bool = true
|
||||
static let messageDetailsAllowPermalink: Bool = true
|
||||
static let messageDetailsAllowViewSource: Bool = true
|
||||
static let messageDetailsAllowSave: Bool = true
|
||||
static let messageDetailsAllowCopyMedia: Bool = true
|
||||
static let messageDetailsAllowPasteMedia: Bool = true
|
||||
|
||||
// MARK: - Notifications
|
||||
static let decryptNotificationsByDefault: Bool = true
|
||||
|
||||
// MARK: - HTTP
|
||||
/// Additional HTTP headers will be sent by all requests. Not recommended to use request-specific headers, like `Authorization`.
|
||||
/// Empty dictionary by default.
|
||||
static let httpAdditionalHeaders: [String: String] = [:]
|
||||
|
||||
|
||||
// MARK: - Authentication Screen
|
||||
static let authScreenShowRegister = false
|
||||
static let authScreenShowPhoneNumber = false
|
||||
static let authScreenShowForgotPassword = false
|
||||
static let authScreenShowRegister = true
|
||||
static let authScreenShowPhoneNumber = true
|
||||
static let authScreenShowForgotPassword = true
|
||||
static let authScreenShowCustomServerOptions = true
|
||||
static let authScreenShowTestServerOptions = true
|
||||
static let authScreenShowSocialLoginSection = false
|
||||
static let authScreenShowSocialLoginSection = true
|
||||
|
||||
// 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
|
||||
static let onboardingShowAccountPersonalization = true
|
||||
static let onboardingEnableNewAuthenticationFlow = true
|
||||
|
||||
// MARK: - Unified Search
|
||||
static let unifiedSearchScreenShowPublicDirectory = true
|
||||
|
||||
// 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.9.8"
|
||||
|
||||
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://msgpriv.example.com/")!
|
||||
static let defaultTileServerMapStyleURL = URL(string: "https://api.maptiler.com/maps/streets/style.json?")!
|
||||
|
||||
static let locationSharingEnabled = true
|
||||
|
||||
// MARK: - Voice Broadcast
|
||||
static let voiceBroadcastChunkLength: Int = 120
|
||||
static let voiceBroadcastMaxLength: UInt64 = 144000
|
||||
|
||||
// MARK: - MXKAppSettings
|
||||
static let enableBotCreation: Bool = false
|
||||
@@ -562,11 +426,15 @@ final class BuildSettings: NSObject {
|
||||
|
||||
// MARK: - New App Layout
|
||||
static let newAppLayoutEnabled = false
|
||||
|
||||
// MARK: - Device manager
|
||||
|
||||
// MARK: - QR Login
|
||||
|
||||
static let deviceManagerEnabled = false
|
||||
/// Flag indicating whether the QR login enabled from login screen
|
||||
static let qrLoginEnabledFromNotAuthenticated = true
|
||||
/// Flag indicating whether the QR login enabled from Device Manager screen
|
||||
static let qrLoginEnabledFromAuthenticated = false
|
||||
/// Flag indicating whether displaying QRs enabled for the QR login screens
|
||||
static let qrLoginEnableDisplayingQRs = false
|
||||
|
||||
// MARK: - Message Bubbles bwi show in our menu and only for beta builds
|
||||
static let bwiShowMessageBubbles = false
|
||||
static let rendezvousServerBaseURL = URL(string: "https://rendezvous.lab.element.dev/")!
|
||||
}
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
/*
|
||||
* 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
|
||||
import MatrixSDK
|
||||
import KeychainAccess
|
||||
|
||||
@objcMembers
|
||||
final class BwiSettings : NSObject {
|
||||
static let shared = BwiSettings()
|
||||
|
||||
private enum UserDefaultsKeys {
|
||||
static let additionalBwiHeaderKey = "bwiHeader"
|
||||
}
|
||||
|
||||
private struct BwiSettingsConstants {
|
||||
static let bwiSettingsKeychainService: String = BuildSettings.baseBundleIdentifier + ".bwi-settings-service"
|
||||
}
|
||||
|
||||
private let vault: KeyValueVault
|
||||
|
||||
override init() {
|
||||
vault = KeychainVault(Keychain(service: BwiSettingsConstants.bwiSettingsKeychainService,
|
||||
accessGroup: BuildSettings.keychainAccessGroup))
|
||||
super.init()
|
||||
}
|
||||
|
||||
func reset() {
|
||||
additionalBwiHeader = UserAgentService().bwiUserAgentDict
|
||||
let sdkOptions = MXSDKOptions.sharedInstance()
|
||||
sdkOptions.httpAdditionalHeaders = UserAgentService().bwiUserAgentDict
|
||||
}
|
||||
|
||||
// MARK: Servers
|
||||
|
||||
var additionalBwiHeader: Dictionary<String, String> {
|
||||
get {
|
||||
do {
|
||||
guard let data = try vault.data(forKey: UserDefaultsKeys.additionalBwiHeaderKey) else {
|
||||
return UserAgentService().bwiUserAgentDict
|
||||
}
|
||||
var dict = try JSONDecoder().decode(Dictionary<String,String>.self, from: data)
|
||||
dict["User-Agent"] = UserAgentService().bwiUserAgent
|
||||
return dict
|
||||
} catch {
|
||||
return UserAgentService().bwiUserAgentDict
|
||||
}
|
||||
} set {
|
||||
do {
|
||||
let data = try JSONEncoder().encode(newValue)
|
||||
try vault.set(data, forKey: UserDefaultsKeys.additionalBwiHeaderKey)
|
||||
} catch let error {
|
||||
NSLog("[PinCodePreferences] Error when storing addional header to the vault: \(error)")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -46,15 +46,15 @@ class CommonConfiguration: NSObject, Configurable {
|
||||
// Customize the default notification content
|
||||
settings.notificationBodyLocalizationKey = "Notification"
|
||||
|
||||
settings.messageDetailsAllowSharing = BuildSettings.messageDetailsAllowShare
|
||||
settings.messageDetailsAllowSaving = BuildSettings.messageDetailsAllowSave
|
||||
settings.messageDetailsAllowCopyingMedia = BuildSettings.messageDetailsAllowCopyMedia
|
||||
settings.messageDetailsAllowPastingMedia = BuildSettings.messageDetailsAllowPasteMedia
|
||||
settings.messageDetailsAllowSharing = BWIBuildSettings.shared.messageDetailsAllowShare
|
||||
settings.messageDetailsAllowSaving = BWIBuildSettings.shared.messageDetailsAllowSave
|
||||
settings.messageDetailsAllowCopyingMedia = BWIBuildSettings.shared.messageDetailsAllowCopyMedia
|
||||
settings.messageDetailsAllowPastingMedia = BWIBuildSettings.shared.messageDetailsAllowPasteMedia
|
||||
|
||||
// Enable link detection if url preview are enabled
|
||||
settings.enableBubbleComponentLinkDetection = true
|
||||
|
||||
MXKContactManager.shared().allowLocalContactsAccess = BuildSettings.allowLocalContactsAccess
|
||||
MXKContactManager.shared().allowLocalContactsAccess = BWIBuildSettings.shared.allowLocalContactsAccess
|
||||
}
|
||||
|
||||
private func setupMatrixSDKSettings() {
|
||||
@@ -162,7 +162,7 @@ class CommonConfiguration: NSObject, Configurable {
|
||||
// Let's call invite be valid for 1 minute
|
||||
callManager.inviteLifetime = 60000
|
||||
|
||||
if RiotSettings.shared.allowStunServerFallback, let stunServerFallback = BuildSettings.stunServerFallbackUrlString {
|
||||
if RiotSettings.shared.allowStunServerFallback, let stunServerFallback = BWIBuildSettings.shared.stunServerFallbackUrlString {
|
||||
callManager.fallbackSTUNServer = stunServerFallback
|
||||
}
|
||||
}
|
||||
@@ -172,7 +172,7 @@ class CommonConfiguration: NSObject, Configurable {
|
||||
|
||||
func setupSettingsWhenLoaded(for matrixSession: MXSession) {
|
||||
// Do not warn for unknown devices. We have cross-signing now
|
||||
matrixSession.crypto.warnOnUnknowDevices = false
|
||||
(matrixSession.crypto as? MXLegacyCrypto)?.warnOnUnknowDevices = false
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
25
Podfile
@@ -16,7 +16,7 @@ use_frameworks!
|
||||
# - `{ :specHash => {sdk spec hash}` to depend on specific pod options (:git => …, :podspec => …) for MatrixSDK repo. Used by Fastfile during CI
|
||||
#
|
||||
# Warning: our internal tooling depends on the name of this variable name, so be sure not to change it
|
||||
$matrixSDKVersion = '= 0.24.0'
|
||||
$matrixSDKVersion = '= 0.24.2'
|
||||
# $matrixSDKVersion = :local
|
||||
# $matrixSDKVersion = { :branch => 'develop'}
|
||||
# $matrixSDKVersion = { :specHash => { git: 'https://git.io/fork123', branch: 'fix' } }
|
||||
@@ -43,7 +43,7 @@ when String # specific MatrixSDK released version
|
||||
$matrixSDKVersionSpec = $matrixSDKVersion
|
||||
end
|
||||
|
||||
$matrixSDKVersionSpec = { :git => 'https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk', :tag => 'v0.24.0_bwi_dev' }
|
||||
$matrixSDKVersionSpec = { :git => 'https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk', :tag => 'v0.24.2_bwi_beta' }
|
||||
|
||||
# Method to import the MatrixSDK
|
||||
def import_MatrixSDK
|
||||
@@ -63,6 +63,7 @@ end
|
||||
def import_SwiftUI_pods
|
||||
pod 'Introspect', '~> 0.1'
|
||||
pod 'DSBottomSheet', '~> 0.3'
|
||||
pod 'ZXingObjC', '~> 3.6.5'
|
||||
end
|
||||
|
||||
abstract_target 'RiotPods' do
|
||||
@@ -85,8 +86,9 @@ abstract_target 'RiotPods' do
|
||||
pod 'zxcvbn-ios'
|
||||
|
||||
# Tools
|
||||
pod 'SwiftGen', '~> 6.3'
|
||||
pod 'SwiftLint', '~> 0.44.0'
|
||||
pod 'SwiftGen'
|
||||
pod 'SwiftLint'
|
||||
pod 'SwiftFormat/CLI'
|
||||
|
||||
target "Riot" do
|
||||
import_MatrixSDK
|
||||
@@ -97,7 +99,6 @@ abstract_target 'RiotPods' do
|
||||
pod 'UICollectionViewRightAlignedLayout', '~> 0.0.3'
|
||||
pod 'UICollectionViewLeftAlignedLayout', '~> 1.0.2'
|
||||
pod 'KTCenterFlowLayout', '~> 1.3.1'
|
||||
pod 'ZXingObjC', '~> 3.6.5'
|
||||
pod 'FlowCommoniOS', '~> 1.12.0'
|
||||
pod 'DTTJailbreakDetection', '~> 0.4.0'
|
||||
pod 'ReadMoreTextView', '~> 3.0.1'
|
||||
@@ -105,7 +106,6 @@ abstract_target 'RiotPods' do
|
||||
pod 'SwiftJWT', '~> 3.6.200'
|
||||
pod 'SideMenu', '~> 6.5'
|
||||
pod 'DSWaveformImage', '~> 6.1.1'
|
||||
pod 'ffmpeg-kit-ios-audio', '4.5.1'
|
||||
|
||||
pod 'FLEX', '~> 4.5.0', :configurations => ['Debug'], :inhibit_warnings => true
|
||||
|
||||
@@ -127,7 +127,6 @@ abstract_target 'RiotPods' do
|
||||
pod 'UICollectionViewLeftAlignedLayout', '~> 1.0.2'
|
||||
pod 'UICollectionViewRightAlignedLayout', '~> 0.0.3'
|
||||
pod 'KTCenterFlowLayout', '~> 1.3.1'
|
||||
pod 'ZXingObjC', '~> 3.6.5'
|
||||
pod 'FlowCommoniOS', '~> 1.12.0'
|
||||
pod 'DTTJailbreakDetection', '~> 0.4.0'
|
||||
pod 'ReadMoreTextView', '~> 3.0.1'
|
||||
@@ -135,7 +134,6 @@ abstract_target 'RiotPods' do
|
||||
pod 'SwiftJWT', '~> 3.6.200'
|
||||
pod 'SideMenu', '~> 6.5'
|
||||
pod 'DSWaveformImage', '~> 6.1.1'
|
||||
pod 'ffmpeg-kit-ios-audio', '4.5.1'
|
||||
|
||||
pod 'FLEX', '~> 4.5.0', :configurations => ['Debug']
|
||||
end
|
||||
@@ -149,7 +147,6 @@ abstract_target 'RiotPods' do
|
||||
pod 'UICollectionViewLeftAlignedLayout', '~> 1.0.2'
|
||||
pod 'UICollectionViewRightAlignedLayout', '~> 0.0.3'
|
||||
pod 'KTCenterFlowLayout', '~> 1.3.1'
|
||||
pod 'ZXingObjC', '~> 3.6.5'
|
||||
pod 'FlowCommoniOS', '~> 1.12.0'
|
||||
pod 'DTTJailbreakDetection', '~> 0.4.0'
|
||||
pod 'ReadMoreTextView', '~> 3.0.1'
|
||||
@@ -157,7 +154,6 @@ abstract_target 'RiotPods' do
|
||||
pod 'SwiftJWT', '~> 3.6.200'
|
||||
pod 'SideMenu', '~> 6.5'
|
||||
pod 'DSWaveformImage', '~> 6.1.1'
|
||||
pod 'ffmpeg-kit-ios-audio', '4.5.1'
|
||||
|
||||
pod 'FLEX', '~> 4.5.0', :configurations => ['Debug']
|
||||
end
|
||||
@@ -198,6 +194,15 @@ post_install do |installer|
|
||||
config.build_settings['WARNING_CFLAGS'] ||= ['$(inherited)','-Wno-nullability-completeness']
|
||||
config.build_settings['OTHER_SWIFT_FLAGS'] ||= ['$(inherited)', '-Xcc', '-Wno-nullability-completeness']
|
||||
end
|
||||
|
||||
# Fix Xcode 14 resource bundle signing issues
|
||||
# https://github.com/CocoaPods/CocoaPods/issues/11402#issuecomment-1259231655
|
||||
if target.respond_to?(:product_type) and target.product_type == "com.apple.product-type.bundle"
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO'
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Dir.glob("#{installer.sandbox.target_support_files_root}/**/*.pch") do |item|
|
||||
|
||||
44
Podfile.lock
@@ -39,7 +39,6 @@ PODS:
|
||||
- DTFoundation/UIKit (1.7.18):
|
||||
- DTFoundation/Core
|
||||
- DTTJailbreakDetection (0.4.0)
|
||||
- ffmpeg-kit-ios-audio (4.5.1)
|
||||
- FLEX (4.5.0)
|
||||
- FlowCommoniOS (1.12.2)
|
||||
- GBDeviceInfo (6.6.0):
|
||||
@@ -60,9 +59,9 @@ PODS:
|
||||
- MatomoTracker (7.4.1):
|
||||
- MatomoTracker/Core (= 7.4.1)
|
||||
- MatomoTracker/Core (7.4.1)
|
||||
- MatrixSDK (0.24.0):
|
||||
- MatrixSDK/Core (= 0.24.0)
|
||||
- MatrixSDK/Core (0.24.0):
|
||||
- MatrixSDK (0.24.2):
|
||||
- MatrixSDK/Core (= 0.24.2)
|
||||
- MatrixSDK/Core (0.24.2):
|
||||
- AFNetworking (~> 4.0.0)
|
||||
- GZIP (~> 1.3.0)
|
||||
- libbase58 (~> 0.1.4)
|
||||
@@ -70,12 +69,12 @@ PODS:
|
||||
- OLMKit (~> 3.2.5)
|
||||
- Realm (= 10.27.0)
|
||||
- SwiftyBeaver (= 1.9.5)
|
||||
- MatrixSDK/CryptoSDK (0.24.0):
|
||||
- MatrixSDKCrypto (= 0.1.0)
|
||||
- MatrixSDK/JingleCallStack (0.24.0):
|
||||
- MatrixSDK/CryptoSDK (0.24.2):
|
||||
- MatrixSDKCrypto (= 0.1.5)
|
||||
- MatrixSDK/JingleCallStack (0.24.2):
|
||||
- JitsiMeetSDK (= 5.0.2)
|
||||
- MatrixSDK/Core
|
||||
- MatrixSDKCrypto (0.1.0)
|
||||
- MatrixSDKCrypto (0.1.5)
|
||||
- OLMKit (3.2.12):
|
||||
- OLMKit/olmc (= 3.2.12)
|
||||
- OLMKit/olmcpp (= 3.2.12)
|
||||
@@ -96,6 +95,7 @@ PODS:
|
||||
- Sentry/Core (7.15.0)
|
||||
- SideMenu (6.5.0)
|
||||
- SwiftBase32 (0.9.0)
|
||||
- SwiftFormat/CLI (0.50.2)
|
||||
- SwiftGen (6.6.2)
|
||||
- SwiftJWT (3.6.200):
|
||||
- BlueCryptor (~> 1.0)
|
||||
@@ -103,7 +103,7 @@ PODS:
|
||||
- BlueRSA (~> 1.0)
|
||||
- KituraContracts (~> 1.2)
|
||||
- LoggerAPI (~> 1.7)
|
||||
- SwiftLint (0.44.0)
|
||||
- SwiftLint (0.49.1)
|
||||
- SwiftyBeaver (1.9.5)
|
||||
- UICollectionViewLeftAlignedLayout (1.0.2)
|
||||
- UICollectionViewRightAlignedLayout (0.0.3)
|
||||
@@ -120,7 +120,6 @@ DEPENDENCIES:
|
||||
- DSWaveformImage (~> 6.1.1)
|
||||
- DTCoreText (~> 1.6.25)
|
||||
- DTTJailbreakDetection (~> 0.4.0)
|
||||
- ffmpeg-kit-ios-audio (= 4.5.1)
|
||||
- FLEX (~> 4.5.0)
|
||||
- FlowCommoniOS (~> 1.12.0)
|
||||
- GBDeviceInfo (~> 6.6.0)
|
||||
@@ -129,8 +128,8 @@ DEPENDENCIES:
|
||||
- KTCenterFlowLayout (~> 1.3.1)
|
||||
- libPhoneNumber-iOS (~> 0.9.13)
|
||||
- MatomoTracker (~> 7.4.1)
|
||||
- MatrixSDK (from `https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk`, tag `v0.24.0_bwi_dev`)
|
||||
- MatrixSDK/JingleCallStack (from `https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk`, tag `v0.24.0_bwi_dev`)
|
||||
- MatrixSDK (from `https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk`, tag `v0.24.2_bwi_beta`)
|
||||
- MatrixSDK/JingleCallStack (from `https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk`, tag `v0.24.2_bwi_beta`)
|
||||
- OLMKit
|
||||
- PostHog (~> 1.4.4)
|
||||
- ReadMoreTextView (~> 3.0.1)
|
||||
@@ -138,9 +137,10 @@ DEPENDENCIES:
|
||||
- Sentry (~> 7.15.0)
|
||||
- SideMenu (~> 6.5)
|
||||
- SwiftBase32 (~> 0.9.0)
|
||||
- SwiftGen (~> 6.3)
|
||||
- SwiftFormat/CLI
|
||||
- SwiftGen
|
||||
- SwiftJWT (~> 3.6.200)
|
||||
- SwiftLint (~> 0.44.0)
|
||||
- SwiftLint
|
||||
- UICollectionViewLeftAlignedLayout (~> 1.0.2)
|
||||
- UICollectionViewRightAlignedLayout (~> 0.0.3)
|
||||
- WeakDictionary (~> 2.0)
|
||||
@@ -159,7 +159,6 @@ SPEC REPOS:
|
||||
- DTCoreText
|
||||
- DTFoundation
|
||||
- DTTJailbreakDetection
|
||||
- ffmpeg-kit-ios-audio
|
||||
- FLEX
|
||||
- FlowCommoniOS
|
||||
- GBDeviceInfo
|
||||
@@ -183,6 +182,7 @@ SPEC REPOS:
|
||||
- Sentry
|
||||
- SideMenu
|
||||
- SwiftBase32
|
||||
- SwiftFormat
|
||||
- SwiftGen
|
||||
- SwiftJWT
|
||||
- SwiftLint
|
||||
@@ -199,7 +199,7 @@ EXTERNAL SOURCES:
|
||||
:git: https://github.com/matrix-org/matrix-analytics-events.git
|
||||
MatrixSDK:
|
||||
:git: https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk
|
||||
:tag: v0.24.0_bwi_dev
|
||||
:tag: v0.24.2_bwi_beta
|
||||
|
||||
CHECKOUT OPTIONS:
|
||||
AnalyticsEvents:
|
||||
@@ -207,7 +207,7 @@ CHECKOUT OPTIONS:
|
||||
:git: https://github.com/matrix-org/matrix-analytics-events.git
|
||||
MatrixSDK:
|
||||
:git: https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios-matrix-sdk
|
||||
:tag: v0.24.0_bwi_dev
|
||||
:tag: v0.24.2_bwi_beta
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
AFNetworking: 7864c38297c79aaca1500c33288e429c3451fdce
|
||||
@@ -221,7 +221,6 @@ SPEC CHECKSUMS:
|
||||
DTCoreText: ec749e013f2e1f76de5e7c7634642e600a7467ce
|
||||
DTFoundation: a53f8cda2489208cbc71c648be177f902ee17536
|
||||
DTTJailbreakDetection: 5e356c5badc17995f65a83ed9483f787a0057b71
|
||||
ffmpeg-kit-ios-audio: 662ce2064e56733ca7d8216705efbc38d9e1c3fe
|
||||
FLEX: e51461dd6f0bfb00643c262acdfea5d5d12c596b
|
||||
FlowCommoniOS: ca92071ab526dc89905495a37844fd7e78d1a7f2
|
||||
GBDeviceInfo: ed0db16230d2fa280e1cbb39a5a7f60f6946aaec
|
||||
@@ -236,8 +235,8 @@ SPEC CHECKSUMS:
|
||||
LoggerAPI: ad9c4a6f1e32f518fdb43a1347ac14d765ab5e3d
|
||||
Logging: beeb016c9c80cf77042d62e83495816847ef108b
|
||||
MatomoTracker: 24a846c9d3aa76933183fe9d47fd62c9efa863fb
|
||||
MatrixSDK: 196ae670143c5169ca9d02ff4d4a87f1e4dd8f08
|
||||
MatrixSDKCrypto: 4b9146d5ef484550341be056a164c6930038028e
|
||||
MatrixSDK: 1b64384084050652fcffafdf8641200f1ab25060
|
||||
MatrixSDKCrypto: dcab554bc7157cad31c01fc1137cf5acb01959a4
|
||||
OLMKit: da115f16582e47626616874e20f7bb92222c7a51
|
||||
PostHog: 4b6321b521569092d4ef3a02238d9435dbaeb99f
|
||||
ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d
|
||||
@@ -246,9 +245,10 @@ SPEC CHECKSUMS:
|
||||
Sentry: 63ca44f5e0c8cea0ee5a07686b02e56104f41ef7
|
||||
SideMenu: f583187d21c5b1dd04c72002be544b555a2627a2
|
||||
SwiftBase32: 9399c25a80666dc66b51e10076bf591e3bbb8f17
|
||||
SwiftFormat: 710117321c55c82675c0dc03055128efbb13c38f
|
||||
SwiftGen: 1366a7f71aeef49954ca5a63ba4bef6b0f24138c
|
||||
SwiftJWT: 88c412708f58c169d431d344c87bc79a87c830ae
|
||||
SwiftLint: e96c0a8c770c7ebbc4d36c55baf9096bb65c4584
|
||||
SwiftLint: 32ee33ded0636d0905ef6911b2b67bbaeeedafa5
|
||||
SwiftyBeaver: 84069991dd5dca07d7069100985badaca7f0ce82
|
||||
UICollectionViewLeftAlignedLayout: 830bf6fa5bab9f9b464f62e3384f9d2e00b3c0f6
|
||||
UICollectionViewRightAlignedLayout: 823eef8c567eba4a44c21bc2ffcb0d0d5f361e2d
|
||||
@@ -256,6 +256,6 @@ SPEC CHECKSUMS:
|
||||
zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c
|
||||
ZXingObjC: fdbb269f25dd2032da343e06f10224d62f537bdb
|
||||
|
||||
PODFILE CHECKSUM: 76f4286f10bb28fa143ae00ccb47a2bdd09e95a4
|
||||
PODFILE CHECKSUM: 2a4c3677b5191c24b0cbe401539fc90087024f3c
|
||||
|
||||
COCOAPODS: 1.11.3
|
||||
|
||||
@@ -9,6 +9,15 @@
|
||||
"version" : "4.7.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "lottie-ios",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/airbnb/lottie-ios.git",
|
||||
"state" : {
|
||||
"revision" : "b4bd0604ded9574807f41b4004b57dd1226a30a4",
|
||||
"version" : "3.5.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "maplibre-gl-native-distribution",
|
||||
"kind" : "remoteSourceControl",
|
||||
@@ -18,6 +27,14 @@
|
||||
"version" : "5.12.2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "matrix-wysiwyg-composer-swift",
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/matrix-org/matrix-wysiwyg-composer-swift",
|
||||
"state" : {
|
||||
"revision" : "d5ef7054fb43924d5b92d5d627347ca2bc333717"
|
||||
}
|
||||
},
|
||||
{
|
||||
"identity" : "ogg-swift",
|
||||
"kind" : "remoteSourceControl",
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Secure connection.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<svg width="70" height="70" viewBox="0 0 70 70" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="70" height="70" rx="35" fill="#0DBD8B"/>
|
||||
<g clip-path="url(#clip0_432_24662)">
|
||||
<path d="M61.6666 34.9997C61.6666 33.533 60.4666 32.333 59 32.333H53.48C52.1733 23.293 44.4133 16.333 35 16.333C25.5866 16.333 17.8266 23.293 16.52 32.333H11C9.53331 32.333 8.33331 33.533 8.33331 34.9997C8.33331 36.4663 9.53331 37.6663 11 37.6663H16.52C17.8266 46.7063 25.5866 53.6663 35 53.6663C44.4133 53.6663 52.1733 46.7063 53.48 37.6663H59C60.4666 37.6663 61.6666 36.4663 61.6666 34.9997ZM43 41.6663C43 43.133 41.8 44.333 40.3333 44.333H29.6666C28.2 44.333 27 43.133 27 41.6663V33.6663C27 32.1997 28.2 30.9997 29.6666 30.9997V28.333C29.6666 25.1063 32.5466 22.5197 35.9066 23.0797C38.52 23.5063 40.3333 25.9597 40.3333 28.6263V30.9997C41.8 30.9997 43 32.1997 43 33.6663V41.6663ZM37 37.6663C37 38.7597 36.0933 39.6663 35 39.6663C33.9066 39.6663 33 38.7597 33 37.6663C33 36.573 33.9066 35.6663 35 35.6663C36.0933 35.6663 37 36.573 37 37.6663ZM37.6666 28.333V30.9997H32.3333V28.333C32.3333 26.8663 33.5333 25.6663 35 25.6663C36.4666 25.6663 37.6666 26.8663 37.6666 28.333Z" fill="white"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_432_24662">
|
||||
<rect width="64" height="64" fill="white" transform="translate(3 3)"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
274
Riot/Assets/Images.xcassets/BWI/birthday_cake.imageset/20221027_BwM_Bday_scaled.svg
vendored
Normal file
@@ -0,0 +1,274 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
data-name="Layer 1"
|
||||
width="297mm"
|
||||
height="210mm"
|
||||
viewBox="0 0 1122.5197 793.70082"
|
||||
version="1.1"
|
||||
id="svg129"
|
||||
sodipodi:docname="20221027_BwM_Bday_scaled.svg"
|
||||
inkscape:export-filename="/Users/masterb/Desktop/20220922_BwM_Bday.png"
|
||||
inkscape:export-xdpi="96"
|
||||
inkscape:export-ydpi="96"
|
||||
inkscape:version="1.1.1 (c3084ef, 2021-09-22)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs133" />
|
||||
<sodipodi:namedview
|
||||
id="namedview131"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="false"
|
||||
showgrid="false"
|
||||
units="mm"
|
||||
inkscape:zoom="0.58854462"
|
||||
inkscape:cx="496.1391"
|
||||
inkscape:cy="459.60831"
|
||||
inkscape:window-width="1698"
|
||||
inkscape:window-height="969"
|
||||
inkscape:window-x="36"
|
||||
inkscape:window-y="25"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg129"
|
||||
inkscape:document-units="mm" />
|
||||
<path
|
||||
d="M 272.19319,415.40121 C 219.37506,351.85165 197.06717,285.55351 209.3771,228.72127 225.17468,155.78911 295.35551,105.36267 401.92444,90.371865 l 0.39359,4.183519 C 297.23266,109.33651 228.12242,158.63122 212.70752,229.79849 c -11.98024,55.30893 10.00384,120.15875 61.90272,182.6033 z"
|
||||
fill="#f0f0f0"
|
||||
id="path42"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 781.79896,520.30565 c -65.92027,0 -137.55436,-11.9729 -208.70745,-34.99568 C 485.1014,456.83937 404.4239,413.8662 339.78108,361.03451 l 1.91422,-3.49896 c 64.33158,52.57576 144.65166,95.35259 232.27762,123.70396 79.18639,25.62335 158.96654,37.49557 230.68641,34.36249 l 0.12454,4.2062 q -11.3612,0.49949 -22.98485,0.49745 z"
|
||||
fill="#f0f0f0"
|
||||
id="path44"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 933.02817,614.50633 -1.1034,-3.98819 C 990.88145,586.15498 1027.7565,546.90898 1038.5635,497.0191 1052.3007,433.59703 1022.4564,359.9998 954.52782,289.78437 886.25273,219.21226 787.79873,160.65518 677.29807,124.90194 l 0.88138,-4.07046 c 110.98343,35.91051 209.91677,94.77082 278.57201,165.73866 69.00174,71.32351 99.23954,146.44509 85.14244,211.52621 -11.1165,51.32065 -48.7619,91.57399 -108.86573,116.40998 z"
|
||||
fill="#f0f0f0"
|
||||
id="path46"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="M 391.66829,642.74256 C 262.13887,572.52918 162.32665,481.43612 110.61949,386.2419 l 2.86955,-2.3292 c 51.34971,94.5354 150.638,185.08875 279.57533,254.98143 z"
|
||||
fill="#f0f0f0"
|
||||
id="path48"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 847.0834,764.38149 q -20.0405,0 -40.76558,-1.09367 l 0.14811,-4.20618 c 103.10983,5.45604 194.08557,-9.62521 263.10917,-43.62178 l 1.2884,3.90601 c -60.2115,29.65272 -136.95563,45.01562 -223.7801,45.01562 z"
|
||||
fill="#f0f0f0"
|
||||
id="path50"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="M 771.92884,94.147329 C 750.52,85.628145 728.49894,77.695872 706.47785,70.570512 579.7549,29.56782 455.18494,15.00977 346.23003,28.478264 l -0.34649,-4.189706 c 109.36108,-13.512689 234.35745,1.080256 361.47567,42.211497 22.08331,7.145909 44.16662,15.100791 65.63599,23.644647 z"
|
||||
fill="#f0f0f0"
|
||||
id="path52"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="M 191.24068,421.71657 C 138.42255,358.16703 116.11466,291.86889 128.42459,235.03663 144.22217,162.10447 214.40301,111.67805 320.97193,96.687252 l 0.39359,4.183518 c -105.08537,14.78113 -174.19561,64.07584 -189.61051,135.2431 -11.98023,55.30894 10.00384,120.15875 61.90274,182.60331 z"
|
||||
fill="#f0f0f0"
|
||||
id="path54"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 700.84642,526.62104 c -65.92024,0 -137.55434,-11.97291 -208.70743,-34.99568 C 404.14887,463.15473 323.47136,420.18158 258.82856,367.34988 l 1.91422,-3.49894 c 64.33159,52.57575 144.65166,95.35258 232.27762,123.70396 79.18639,25.62333 158.96654,37.49556 230.68641,34.36249 l 0.12454,4.20619 q -11.3612,0.4995 -22.98485,0.49746 z"
|
||||
fill="#f0f0f0"
|
||||
id="path56"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 852.07567,620.82175 -1.10342,-3.98819 C 909.92892,592.47041 946.80397,553.2244 957.61097,503.33455 971.34814,439.91246 941.5039,366.31524 873.5753,296.0998 805.3002,225.5276 706.84617,166.9705 596.34556,131.21729 l 0.88137,-4.07046 c 110.9834,35.91051 209.91679,94.77071 278.57202,165.73862 69.00173,71.32351 99.2395,146.44509 85.14244,211.52618 -11.11653,51.32074 -48.76193,91.57409 -108.86572,116.41012 z"
|
||||
fill="#f0f0f0"
|
||||
id="path58"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="M 310.71576,649.05795 C 181.18635,578.84457 81.374123,487.75151 29.666982,392.55728 l 2.869532,-2.32921 C 83.886229,484.76349 183.1745,575.31684 312.11184,645.20952 Z"
|
||||
fill="#f0f0f0"
|
||||
id="path60"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 766.13087,770.69695 q -20.04047,0 -40.76557,-1.09368 l 0.14793,-4.20619 c 103.10985,5.45606 194.08556,-9.62519 263.10917,-43.62176 l 1.28835,3.90599 c -60.2113,29.65266 -136.95538,45.01564 -223.77988,45.01564 z"
|
||||
fill="#f0f0f0"
|
||||
id="path62"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="M 690.9763,100.46269 C 669.56748,91.943506 647.54642,84.011259 625.52533,76.885872 498.80238,35.883181 374.23241,21.325118 265.27751,34.793625 l -0.3465,-4.189693 c 109.36109,-13.512715 234.35743,1.080255 361.47565,42.211484 22.08332,7.145921 44.16663,15.100779 65.636,23.644647 z"
|
||||
fill="#f0f0f0"
|
||||
id="path64"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 348.75867,292.40691 a 26.727034,32.666043 0 0 0 -26.69718,32.62954 1254.4728,1533.2289 0 0 0 -10.12832,275.70174 c 0.20268,5.87955 0.42724,11.25749 0.68798,16.4463 0.37846,8.56852 0.85952,17.61399 1.42889,26.8897 0.32715,5.47252 0.67195,10.96147 1.04958,16.43191 0.63245,8.90979 1.32712,17.96348 2.06638,26.90823 0.46423,5.46428 0.94613,10.95529 1.46166,16.42377 0.98989,10.74149 2.1101,21.75229 3.42631,33.66148 a 26.763216,32.710266 0 0 0 26.7047,32.77111 h 447.82245 a 26.727034,32.666043 0 0 0 26.69717,-32.62956 l 0.0203,-0.22612 c 1.99488,-11.10743 3.85268,-22.42649 5.52289,-33.64503 0.89316,-5.91451 1.66437,-11.28627 2.35736,-16.42164 1.25651,-9.34973 2.37419,-18.39937 3.31948,-26.89588 0.64674,-5.7048 1.23208,-11.22881 1.73838,-16.42572 0.83344,-8.5048 1.58783,-17.29535 2.30521,-26.8753 0.39276,-5.20732 0.75271,-10.58526 1.10174,-16.44015 v -0.003 a 783.09975,957.1122 0 0 0 -16.3453,-275.44578 l -0.0203,-0.22613 a 26.727034,32.666043 0 0 0 -26.69717,-32.62955 z"
|
||||
fill="#3f3d56"
|
||||
id="path66"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 590.05614,432.09565 c -97.03268,0 -199.85152,-10.77643 -334.41856,-32.33548 h -0.0143 a 28.319628,34.612527 0 0 1 -28.11589,-30.88616 26.010651,31.790472 0 0 1 -0.17747,-3.84026 v -98.94093 a 4.1084728,5.0214157 0 0 1 0.0236,-0.63319 28.481254,34.810068 0 0 1 28.39597,-34.10139 c 234.11775,-38.90579 376.33636,-38.9017 633.94697,0.008 h 0.0111 a 28.476237,34.803937 0 0 1 28.28492,34.20628 3.1402623,3.8380594 0 0 1 0.0169,0.52009 v 98.94098 a 26.075052,31.869185 0 0 1 -0.17836,3.85049 28.358183,34.659649 0 0 1 -28.24059,30.88457 C 778.29083,421.317 687.06542,432.09556 590.05621,432.09556 Z"
|
||||
fill="#f29100"
|
||||
id="path68"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 605.62078,500.81449 h -58.87343 a 28.295517,34.583059 0 0 1 -28.26307,-34.54343 v -261.4181 a 28.295533,34.583078 0 0 1 28.26307,-34.54341 h 58.87343 a 28.295709,34.583292 0 0 1 28.2639,34.54341 v 261.4181 a 28.295693,34.583273 0 0 1 -28.2639,34.54343 z"
|
||||
fill="#3f3d56"
|
||||
id="path70"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 732.41981,123.08369 a 74.643477,91.22999 0 0 0 -2.24497,-14.50424 76.93954,94.03626 0 0 0 -4.3638,-13.884909 66.862376,81.719851 0 0 0 -30.10479,-38.205413 c -16.42173,-9.880366 -35.2068,-10.688944 -52.86334,-5.928507 a 104.47741,127.69332 0 0 0 -40.83852,23.36814 106.20032,129.79908 0 0 0 -17.0323,19.633553 c -5.23145,7.671936 -14.96328,28.750046 -15.6647,30.701516 a 104.56307,127.79801 0 0 0 -23.23937,-40.630907 109.25959,133.53813 0 0 0 -40.02984,-29.567619 100.85823,123.26991 0 0 0 -24.53466,-6.095155 78.084202,95.435278 0 0 0 -26.31759,2.806413 66.299225,81.031562 0 0 0 -37.52639,33.527191 69.198522,84.575112 0 0 0 -11.72035,51.587167 70.996663,86.772818 0 0 0 4.8272,26.93673 84.028751,102.70076 0 0 0 5.27505,13.52479 86.082509,105.21089 0 0 0 7.01257,12.28049 79.434158,97.085207 0 0 0 39.02446,31.76077 c 16.36275,6.18074 33.71957,6.38272 50.54532,3.48097 17.2785,-2.97994 33.91015,-9.81612 50.1838,-17.30292 2.17098,-0.99872 4.3328,-2.02651 6.49787,-3.04419 14.46732,6.80222 29.05731,13.36275 44.20143,17.52662 a 133.098,162.67368 0 0 0 52.03146,2.55034 83.493167,102.04617 0 0 0 43.14764,-25.75955 77.479598,94.696325 0 0 0 22.35305,-47.4427 67.008331,81.898239 0 0 0 1.38077,-27.31858 z m -224.28958,80.45388 a 116.00956,141.78802 0 0 1 -28.14,0.20122 87.336722,106.7438 0 0 1 -19.56848,-6.36574 61.522623,75.193552 0 0 1 -32.97117,-40.00975 65.856868,80.490909 0 0 1 -3.98997,-17.72707 60.046346,73.389233 0 0 1 -0.005,-16.26771 62.646836,76.567578 0 0 1 3.74178,-16.59932 64.003561,78.22578 0 0 1 7.02466,-14.698374 60.362926,73.776159 0 0 1 9.0617,-11.124118 55.163889,67.421845 0 0 1 10.1505,-7.269513 62.034652,75.81936 0 0 1 13.27508,-4.340162 78.569972,96.028991 0 0 1 18.50816,0.176729 95.709784,116.97744 0 0 1 21.31726,7.181777 100.60614,122.96182 0 0 1 20.52712,14.627455 98.539279,120.43567 0 0 1 15.86244,19.329016 97.199022,118.7976 0 0 1 11.54994,24.30829 100.75511,123.14388 0 0 1 6.20235,28.01449 l 0.0127,0.14053 a 104.46997,127.68423 0 0 0 -0.67649,14.53545 c 0.004,1.87104 0.07,3.73974 0.147,5.60742 a 9.1517129,11.185313 0 0 0 -1.79452,2.95199 289.40644,353.7154 0 0 1 -36.81323,14.26896 q -6.65519,1.87778 -13.42335,3.05849 z m 207.05808,-63.90184 a 65.84599,80.477616 0 0 1 -3.99061,17.72925 61.182569,74.777936 0 0 1 -32.97054,40.00811 87.338442,106.7459 0 0 1 -19.56868,6.36574 116.03873,141.82367 0 0 1 -28.19117,-0.20865 c -16.61715,-2.9042 -32.64706,-9.31492 -48.32691,-16.46943 -0.64558,-0.29464 -1.28613,-0.60518 -1.93098,-0.90211 a 8.987348,10.984425 0 0 0 -1.71703,-2.91961 103.12795,126.04399 0 0 0 -0.51448,-20.31697 100.76234,123.15272 0 0 1 6.19585,-27.9618 97.199214,118.79783 0 0 1 11.54931,-24.30738 98.534183,120.42945 0 0 1 15.86306,-19.329924 100.60614,122.96182 0 0 1 20.52713,-14.627455 95.71851,116.9881 0 0 1 21.31746,-7.181777 78.572488,96.032065 0 0 1 18.50775,-0.176729 62.042727,75.829229 0 0 1 13.27533,4.340161 55.162327,67.419938 0 0 1 10.15123,7.270154 60.354263,73.765572 0 0 1 9.06129,11.124118 64.012256,78.236407 0 0 1 7.02435,14.697732 62.647697,76.56863 0 0 1 3.74176,16.59932 60.047382,73.390499 0 0 1 -0.005,16.26717 z"
|
||||
fill="#3f3d56"
|
||||
id="path72"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="396.98572"
|
||||
cy="499.76193"
|
||||
fill="#f29100"
|
||||
id="circle74"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="471.04865"
|
||||
cy="468.185"
|
||||
fill="#f29100"
|
||||
id="circle76"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="438.32315"
|
||||
cy="567.12598"
|
||||
fill="#f29100"
|
||||
id="circle78"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="744.90936"
|
||||
cy="499.76193"
|
||||
fill="#f29100"
|
||||
id="circle80"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="742.47461"
|
||||
cy="522.05872"
|
||||
fill="#f29100"
|
||||
id="circle82"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="703.57196"
|
||||
cy="567.12598"
|
||||
fill="#f29100"
|
||||
id="circle84"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="753.5213"
|
||||
cy="720.80023"
|
||||
fill="#f29100"
|
||||
id="circle86"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="779.35724"
|
||||
cy="630.27985"
|
||||
fill="#f29100"
|
||||
id="circle88"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="698.40479"
|
||||
cy="670.27716"
|
||||
fill="#f29100"
|
||||
id="circle90"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="457.26947"
|
||||
cy="720.80023"
|
||||
fill="#f29100"
|
||||
id="circle92"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="483.10544"
|
||||
cy="630.27985"
|
||||
fill="#f29100"
|
||||
id="circle94"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="402.15286"
|
||||
cy="670.27716"
|
||||
fill="#f29100"
|
||||
id="circle96"
|
||||
rx="10.334358"
|
||||
ry="12.630754"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="332.57251"
|
||||
cy="71.152756"
|
||||
fill="#fd6584"
|
||||
id="circle101"
|
||||
rx="13.77916"
|
||||
ry="16.841024"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="159.05939"
|
||||
cy="327.4451"
|
||||
fill="#fd6584"
|
||||
id="circle103"
|
||||
rx="13.77916"
|
||||
ry="16.841024"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="1041.161"
|
||||
cy="473.08023"
|
||||
fill="#fd6584"
|
||||
id="circle105"
|
||||
rx="13.77916"
|
||||
ry="16.841024"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="932.65021"
|
||||
cy="666.75189"
|
||||
fill="#e6e6e6"
|
||||
id="circle109"
|
||||
rx="13.77916"
|
||||
ry="16.841024"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="797.74304"
|
||||
cy="137.02742"
|
||||
fill="#e6e6e6"
|
||||
id="circle111"
|
||||
rx="13.77916"
|
||||
ry="16.841024"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 356.0393,319.21837 c -1.19108,2.30279 -4.0791,1.96815 -5.70082,0.52851 -2.25128,-1.99857 -1.52245,-5.8481 0.0279,-8.12262 4.92716,-7.22921 13.07613,0.40314 14.17532,7.58252 a 14.777692,18.06144 0 0 1 -6.95339,17.9847 c -5.62163,4.07142 -12.92366,2.02962 -17.75698,-2.84337 -10.08231,-10.16513 -7.33719,-30.5177 3.86179,-37.8718 7.14707,-4.69328 16.18262,-2.63338 23.22322,1.29808 7.92542,4.42555 14.74045,11.20881 22.06962,16.86297 a 123.0537,150.39744 0 0 0 53.15227,22.18268 c 3.30508,0.41194 3.28156,-5.9064 0,-6.31539 a 118.20176,144.46735 0 0 1 -30.54118,-8.988 134.21843,164.04309 0 0 1 -27.44338,-18.40996 c -8.62964,-7.22953 -17.64523,-14.25242 -28.32489,-15.44705 a 24.57215,30.032323 0 0 0 -22.65164,12.04644 25.093384,30.669381 0 0 0 -3.77124,26.90323 23.239074,28.403026 0 0 0 17.71492,18.64119 18.998088,23.219649 0 0 0 20.02862,-11.30979 c 3.93086,-8.30901 3.80298,-19.47025 -2.13416,-26.35912 a 13.706603,16.752346 0 0 0 -13.32788,-4.43035 11.725273,14.330744 0 0 0 -7.92845,12.33299 c -0.57287,10.78541 11.95381,16.17909 16.74199,6.92177 1.78204,-3.44542 -2.68751,-6.61778 -4.46172,-3.18749 z"
|
||||
fill="#3f3d56"
|
||||
id="path113"
|
||||
style="stroke-width:1.7606" />
|
||||
<path
|
||||
d="m 797.91245,319.21837 c 1.19107,2.30279 4.07912,1.96815 5.70082,0.52851 2.2513,-1.99857 1.52246,-5.8481 -0.0279,-8.12262 -4.92717,-7.22921 -13.07613,0.40314 -14.17531,7.58252 a 14.777676,18.06142 0 0 0 6.95337,17.9847 c 5.62164,4.07142 12.92368,2.02962 17.75699,-2.84337 10.0823,-10.16513 7.33718,-30.5177 -3.86179,-37.8718 -7.14709,-4.69328 -16.18264,-2.63338 -23.22321,1.29808 -7.92543,4.42555 -14.74047,11.20881 -22.06962,16.86297 a 123.0537,150.39744 0 0 1 -53.15229,22.18268 c -3.30506,0.41194 -3.28154,-5.9064 0,-6.31539 a 118.20203,144.46768 0 0 0 30.54121,-8.988 134.21881,164.04356 0 0 0 27.44337,-18.40996 c 8.62963,-7.22953 17.64524,-14.25242 28.32487,-15.44705 a 24.572118,30.032284 0 0 1 22.65166,12.04644 25.093384,30.669381 0 0 1 3.77125,26.90323 23.239107,28.403064 0 0 1 -17.71493,18.64119 18.998104,23.219668 0 0 1 -20.02864,-11.30979 c -3.93086,-8.30901 -3.80296,-19.47025 2.13416,-26.35912 a 13.706619,16.752365 0 0 1 13.32789,-4.43035 11.725289,14.330764 0 0 1 7.92845,12.33299 c 0.57287,10.78541 -11.95381,16.17909 -16.74197,6.92177 -1.78205,-3.44542 2.68748,-6.61778 4.4617,-3.18749 z"
|
||||
fill="#3f3d56"
|
||||
id="path115"
|
||||
style="stroke-width:1.7606" />
|
||||
<ellipse
|
||||
cx="214.2404"
|
||||
cy="597.08728"
|
||||
fill="#e6e6e6"
|
||||
id="circle2791"
|
||||
rx="13.77916"
|
||||
ry="16.841024"
|
||||
style="stroke-width:1.7606" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 16 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "undraw_Birthday_cake_BwM.svg",
|
||||
"filename" : "20221027_BwM_Bday_scaled.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
|
||||
@@ -1,758 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="b1da7443-2b43-4a55-9b6b-835488f8f109"
|
||||
data-name="Layer 1"
|
||||
width="1077.87045"
|
||||
height="818.13939"
|
||||
viewBox="0 0 1077.87045 818.13939"
|
||||
version="1.1"
|
||||
sodipodi:docname="undraw_Birthday_cake_BwM.svg"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)">
|
||||
<metadata
|
||||
id="metadata373">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title>Birthday cake</dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs371" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview369"
|
||||
showgrid="false"
|
||||
inkscape:zoom="0.69142914"
|
||||
inkscape:cx="781.85579"
|
||||
inkscape:cy="344.59674"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="b1da7443-2b43-4a55-9b6b-835488f8f109" />
|
||||
<title
|
||||
id="title2">Birthday cake</title>
|
||||
<path
|
||||
d="M724.88913,132.77315C678.637,165.15693,618.64686,163.06077,566.0755,146.21272S465.2185,99.36712,413.9902,78.0458A494.18659,494.18659,0,0,0,280.38075,43.2116c-65.27725-7.46816-138.17815,1.629-183.6634,53.98071C46.06687,155.489,49.9558,260.63994,104.74175,314.16073c27.86523,27.22173,64.3542,40.58007,96.17591,61.83552s61.27768,56.54522,58.56766,97.56983c-2.50884,37.97919-31.67671,67.1203-61.86034,85.4044-23.33,14.13247-52.06519,29.56582-54.877,58.83474-2.72081,28.32129,21.43765,50.51207,44.50822,63.13276,75.26244,41.17208,167.99042,40.7761,242.96352-1.03754,26.75083-14.91935,51.33838-34.75613,79.39114-46.38368,73.6499-30.52707,154.80787.20352,232.79573,11.43993A465.4391,465.4391,0,0,0,940.40967,630.544c38.62329-11.40826,77.38928-28.84831,104.52167-61.3378,19.56546-23.42852,31.75437-53.07661,43.19758-82.35738q18.30444-46.83727,35.18876-94.3336c6.75709-19.00815,13.40626-38.38513,15.15148-58.71982,3.16313-36.85563-10.159-73.28074-28.30108-104.38505C1067.09817,155.56778,994.559,103.64386,916.0413,90.45336s-161.71258,12.571-222.64322,68.9421"
|
||||
transform="translate(-61.06478 -40.93031)"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="path4" />
|
||||
<path
|
||||
d="m 850.13864,538.05009 -2.78768,-1.6121 c 2.606,-4.50561 -4.388,-23.6855 -10.16161,-33.34366 -4.00573,-6.70054 -6.51846,-12.79214 -7.68236,-18.62319 -1.85316,-9.28413 -0.0928,-17.33381 5.23238,-23.92538 11.04722,-13.6744 10.95161,-39.778 10.94925,-40.03985 l 3.22,-0.0288 c 0.0102,1.11657 0.11332,27.51363 -11.66457,42.0925 -7.82879,9.69069 -6.91723,22.76927 2.709,38.87274 4.53651,7.58822 14.22699,29.62004 10.18559,36.60779 z"
|
||||
fill="#d4d5e0"
|
||||
id="path6" />
|
||||
<path
|
||||
d="m 885.41237,392.72961 c 0.73072,-26.15292 -16.46834,-47.85115 -38.41521,-48.46435 -21.94687,-0.6132 -40.33063,20.09086 -41.06134,46.24379 -0.70948,25.39283 15.48424,46.58433 36.51445,48.356 a 13.88746,13.88746 0 0 1 -3.25839,7.15025 c -3.18843,3.25617 10.02792,0.28018 10.02792,0.28018 a 23.47942,23.47942 0 0 1 -1.4247,-7.4045 c 20.39429,-1.50966 36.92512,-21.38943 37.61727,-46.16137 z"
|
||||
fill="#ff0000"
|
||||
id="path8" />
|
||||
<path
|
||||
d="m 817.50885,410.18998 c -3.2502,-9.95233 -0.25316,-19.94507 6.68944,-22.9455 -0.32111,0.073 -0.64062,0.15961 -0.95767,0.26315 -7.59894,2.48164 -11.00956,12.91264 -7.61784,23.2983 3.29314,10.0838 11.78807,16.41654 19.23453,14.50467 0.15121,0.79026 -14.06082,-5.05367 -17.34846,-15.12062 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path10" />
|
||||
<path
|
||||
d="m 866.63555,574.28524 3.21738,0.13587 c 0.2192,-5.20037 16.41432,-17.63033 26.46937,-22.68106 6.97606,-3.50395 12.36555,-7.29537 16.4771,-11.59083 6.54635,-6.83918 9.38122,-14.57609 8.42553,-22.9959 -1.9825,-17.46712 12.10769,-39.44145 12.25024,-39.66117 l -2.70147,-1.75247 c -0.60785,0.93668 -14.86191,23.15462 -12.7483,41.77705 1.40487,12.37844 -6.38342,22.92464 -23.14841,31.34612 -7.90035,3.96808 -27.90124,17.35729 -28.24144,25.42239 z"
|
||||
fill="#d4d5e0"
|
||||
id="path12" />
|
||||
<path
|
||||
d="m 914.86434,432.73574 c 13.41945,-22.45947 39.57686,-31.53743 58.42426,-20.27616 18.8474,11.26127 23.2476,38.5973 9.8282,61.05677 -13.0294,21.80671 -38.0667,30.99666 -56.76236,21.20489 a 13.88742,13.88742 0 0 0 -1.08811,7.782 c 0.94278,4.45868 -8.61172,-5.14548 -8.61172,-5.14548 a 23.47928,23.47928 0 0 0 5.17605,-5.48314 c -16.39805,-12.21928 -19.67717,-37.86537 -6.96632,-59.13888 z"
|
||||
fill="#ff0000"
|
||||
id="path14" />
|
||||
<path
|
||||
d="m 962.7891,483.91158 c 8.0838,-6.65322 10.918,-16.69337 6.6702,-22.9511 0.2318,0.23389 0.4549,0.47849 0.6669,0.736 5.08,6.17223 2.3595,16.80415 -6.0762,23.747 -8.1906,6.74111 -18.7571,7.5254 -24.01423,1.91576 -0.55171,0.58572 14.57643,3.28218 22.75333,-3.44766 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path16" />
|
||||
<path
|
||||
d="m 294.69734,704.07757 -3.21738,0.13586 c -0.21921,-5.20037 -16.41432,-17.63032 -26.46938,-22.68106 -6.97606,-3.50394 -12.36555,-7.29536 -16.47709,-11.59082 -6.54636,-6.83918 -9.38122,-14.57609 -8.42554,-22.99591 1.9825,-17.46712 -12.10768,-39.44145 -12.25023,-39.66116 l 2.70146,-1.75248 c 0.60785,0.93668 14.86191,23.15462 12.74831,41.77705 -1.40487,12.37844 6.38342,22.92465 23.14841,31.34613 7.90032,3.96808 27.90123,17.35728 28.24144,25.42239 z"
|
||||
fill="#d4d5e0"
|
||||
id="path18" />
|
||||
<path
|
||||
d="m 246.46855,562.52807 c -13.41945,-22.45947 -39.57689,-31.53743 -58.4243,-20.27617 -18.84741,11.26126 -23.2476,38.5973 -9.82815,61.05677 13.02944,21.80672 38.06663,30.99667 56.76235,21.2049 a 13.8874,13.8874 0 0 1 1.08811,7.782 c -0.94278,4.45868 8.61172,-5.14547 8.61172,-5.14547 a 23.47942,23.47942 0 0 1 -5.17605,-5.48315 c 16.39805,-12.21926 19.67717,-37.86538 6.96632,-59.13888 z"
|
||||
fill="#ff0000"
|
||||
id="path20" />
|
||||
<path
|
||||
d="m 198.54375,613.7039 c -8.08377,-6.65321 -10.91793,-16.69336 -6.67021,-22.95109 -0.23179,0.23389 -0.45488,0.47849 -0.66683,0.736 -5.08,6.17223 -2.35956,16.80415 6.07618,23.74705 8.19057,6.74111 18.75713,7.5254 24.01422,1.91576 0.55172,0.58566 -14.57648,3.28213 -22.75336,-3.44772 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path22" />
|
||||
<path
|
||||
d="m 400.69734,366.07757 -3.21738,0.13586 c -0.21921,-5.20037 -16.41432,-17.63032 -26.46938,-22.68106 -6.97606,-3.50394 -12.36555,-7.29536 -16.47709,-11.59082 -6.54636,-6.83918 -9.38122,-14.57609 -8.42554,-22.99591 1.9825,-17.46712 -12.10768,-39.44145 -12.25023,-39.66116 l 2.70146,-1.75248 c 0.60785,0.93668 14.86191,23.15462 12.74831,41.777 -1.40487,12.37844 6.38342,22.92465 23.14841,31.34613 7.90032,3.96813 27.90123,17.35733 28.24144,25.42244 z"
|
||||
fill="#d4d5e0"
|
||||
id="path24" />
|
||||
<path
|
||||
d="m 352.46855,224.52807 c -13.41945,-22.45947 -39.57689,-31.53743 -58.4243,-20.27617 -18.84741,11.26126 -23.2476,38.5973 -9.82815,61.05677 13.02944,21.80672 38.06663,30.99667 56.76235,21.2049 a 13.8874,13.8874 0 0 1 1.08811,7.782 c -0.94278,4.45868 8.61172,-5.14547 8.61172,-5.14547 a 23.47942,23.47942 0 0 1 -5.17605,-5.48315 c 16.39805,-12.21926 19.67717,-37.86538 6.96632,-59.13888 z"
|
||||
fill="#ff0000"
|
||||
id="path26" />
|
||||
<path
|
||||
d="m 304.54375,275.7039 c -8.08377,-6.65321 -10.91793,-16.69336 -6.67021,-22.95109 -0.23179,0.23389 -0.45488,0.47849 -0.66683,0.736 -5.08,6.17223 -2.35956,16.80415 6.07618,23.74705 8.19057,6.74111 18.75713,7.5254 24.01422,1.91576 0.55172,0.58566 -14.57648,3.28213 -22.75336,-3.44772 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path28" />
|
||||
<path
|
||||
d="m 363.69734,509.07757 -3.21738,0.13586 c -0.21921,-5.20037 -16.41432,-17.63032 -26.46938,-22.68106 -6.97606,-3.50394 -12.36555,-7.29536 -16.47709,-11.59082 -6.54636,-6.83918 -9.38122,-14.57609 -8.42554,-22.99591 1.9825,-17.46712 -12.10768,-39.44145 -12.25023,-39.66116 l 2.70146,-1.75248 c 0.60785,0.93668 14.86191,23.15462 12.74831,41.777 -1.40487,12.37844 6.38342,22.92465 23.14841,31.34613 7.90032,3.96813 27.90123,17.35733 28.24144,25.42244 z"
|
||||
fill="#d4d5e0"
|
||||
id="path30" />
|
||||
<path
|
||||
d="m 315.46855,367.52807 c -13.41945,-22.45947 -39.57689,-31.53743 -58.4243,-20.27617 -18.84741,11.26126 -23.2476,38.5973 -9.82815,61.05677 13.02944,21.80672 38.06663,30.99667 56.76235,21.2049 a 13.8874,13.8874 0 0 1 1.08811,7.782 c -0.94278,4.45868 8.61172,-5.14547 8.61172,-5.14547 a 23.47942,23.47942 0 0 1 -5.17605,-5.48315 c 16.39805,-12.21926 19.67717,-37.86538 6.96632,-59.13888 z"
|
||||
fill="#ff0000"
|
||||
id="path32" />
|
||||
<path
|
||||
d="m 267.54375,418.7039 c -8.08377,-6.65321 -10.91793,-16.69336 -6.67021,-22.95109 -0.23179,0.23389 -0.45488,0.47849 -0.66683,0.736 -5.08,6.17223 -2.35956,16.80415 6.07618,23.74705 8.19057,6.74111 18.75713,7.5254 24.01422,1.91576 0.55172,0.58566 -14.57648,3.28213 -22.75336,-3.44772 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path34" />
|
||||
<path
|
||||
d="m 807.62983,698.32458 -2.04355,-2.48874 c 4.0229,-3.30276 4.21344,-23.7172 2.20127,-34.78811 -1.39615,-7.68075 -1.60844,-14.26682 -0.64945,-20.135 1.52689,-9.34333 6.00319,-16.26135 13.30481,-20.5617 15.14731,-8.92134 24.22911,-33.39427 24.31892,-33.64034 l 3.02483,1.10431 c -0.38277,1.049 -9.56062,25.79936 -25.70982,35.31071 -10.73443,6.32229 -14.476,18.88733 -11.12136,37.34627 1.58124,8.69836 2.9132,32.73026 -3.32565,37.8526 z"
|
||||
fill="#d4d5e0"
|
||||
id="path36" />
|
||||
<path
|
||||
d="m 891.71207,574.66192 c 9.87277,-24.22886 1.39373,-50.58653 -18.93851,-58.8715 -20.33224,-8.28497 -44.81821,4.64011 -54.691,28.869 -9.58584,23.52469 -1.87,49.05471 17.197,58.10228 a 13.88748,13.88748 0 0 1 -5.56285,5.54959 c -4.12919,1.92835 9.29017,3.78556 9.29017,3.78556 a 23.47942,23.47942 0 0 1 1.26765,-7.433 c 19.62452,5.75192 42.0861,-7.05246 51.43754,-30.00193 z"
|
||||
fill="#ff0000"
|
||||
id="path38" />
|
||||
<path
|
||||
d="m 822.00304,567.15169 c 0.45369,-10.45977 6.77053,-18.76245 14.32471,-19.13236 -0.32627,-0.0445 -0.65586,-0.0756 -0.98908,-0.0901 -7.98639,-0.3464 -14.84443,8.22129 -15.31787,19.13648 -0.45968,10.598 5.26871,19.5116 12.91216,20.33787 -0.13608,0.79304 -11.38883,-9.67162 -10.92992,-20.25189 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path40" />
|
||||
<ellipse
|
||||
cx="547.48303"
|
||||
cy="706.71136"
|
||||
rx="302.44354"
|
||||
ry="22.4762"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse42" />
|
||||
<polygon
|
||||
points="580.006,156.496 583.71,156.496 583.71,119.458 580.006,121.167 "
|
||||
fill="#53425a"
|
||||
id="polygon44"
|
||||
transform="translate(-58)" />
|
||||
<path
|
||||
d="m 543.66246,230.85469 -27.924,3.41892 v -83.19083 h 17.66724 c -0.11962,0.94018 -0.19657,2.00859 -0.23929,3.19668 a 140.553,140.553 0 0 0 1.10258,18.77838 c 0.59832,5.419 1.38466,11.23971 2.24794,17.02625 0.66672,4.48733 1.38466,8.949 2.0941,13.197 2.56419,15.23981 5.05143,27.5736 5.05143,27.5736 z"
|
||||
fill="#ff0000"
|
||||
id="path52" />
|
||||
<path
|
||||
d="m 529.03566,38.85702 c 0,0 2.07871,8.31482 -19.74771,31.18059 -21.82642,22.86577 -13.16514,68.94375 10.04708,67.55795 0,0 21.70014,3.57941 29.50612,-11.19363 a 19.78166,19.78166 0 0 0 -1.385,-20.27 C 540.28321,95.56868 526.44854,73.36947 529.03569,62.76214 Z"
|
||||
fill="#ffc13d"
|
||||
id="path64" />
|
||||
<path
|
||||
d="m 526.74691,80.12829 c 0,0 1.15975,4.639 -11.01769,17.39635 -12.17744,12.75735 -7.34513,38.46526 5.60549,37.69209 0,0 12.107,1.997 16.46212,-6.24517 a 11.03664,11.03664 0 0 0 -0.77274,-11.30909 c -4.00194,-5.89348 -11.72062,-18.27891 -10.27718,-24.197 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.5"
|
||||
id="path66" />
|
||||
<path
|
||||
d="m 534.26899,173.05784 a 199.17332,199.17332 0 0 0 -18.53053,16.85529 v -21.5563 a 99.76217,99.76217 0 0 1 17.428,-14.07737 140.553,140.553 0 0 0 1.10253,18.77838 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.5"
|
||||
id="path70" />
|
||||
<path
|
||||
d="m 538.61103,203.28111 c -6.8635,6.01728 -16.30825,14.57313 -22.87257,20.53913 v -15.42786 c 6.855,-6.30791 15.23984,-13.57311 20.77847,-18.30829 0.66672,4.48733 1.38466,8.94899 2.0941,13.19702 z"
|
||||
fill="#ff0000"
|
||||
id="path72" />
|
||||
<rect
|
||||
x="395.79425"
|
||||
y="246.23978"
|
||||
width="278.92389"
|
||||
height="127.64532"
|
||||
fill="#c99398"
|
||||
id="rect76" />
|
||||
<path
|
||||
d="m 674.71814,246.23978 v 19.21435 c -5.3335,1.03419 -12.32518,-0.56415 -18.18011,-2.52146 a 24.1701,24.1701 0 0 0 -20.90665,2.63258 c -16.06895,10.5046 -28.61638,8.28233 -37.3688,3.05989 a 32.191,32.191 0 0 0 -29.12919,-2.24789 31.62676,31.62676 0 0 1 -12.91495,2.36757 27.26651,27.26651 0 0 0 -14.65858,4.0429 c -13.197,7.9917 -26.35133,3.36759 -34.61655,-1.4616 a 24.40043,24.40043 0 0 0 -17.898,-2.5813 25.785,25.785 0 0 1 -7.949,0.6496 29.82535,29.82535 0 0 0 -17.55613,3.78645 c -21.787,12.72693 -28.98385,-2.72659 -33.27461,-5.00015 -4.8463,-2.56419 -5.41045,6.26513 -6.83783,6.26513 -1.42738,0 -6.26519,-11.67558 -7.41049,-7.69257 -0.52993,1.87186 -5.01726,4.11981 -9.63282,5.98311 a 19.218,19.218 0 0 1 -10.59011,1.09408 v -27.59069 z"
|
||||
opacity="0.1"
|
||||
id="path78" />
|
||||
<path
|
||||
d="m 406.90784,220.79181 c 0,0 -45.71376,20.40038 -21.32,45.891 a 18.99689,18.99689 0 0 0 20.79823,4.34267 c 4.61229,-1.8591 9.09915,-4.10715 9.63391,-5.9788 1.13964,-3.98874 5.98311,7.69257 7.40766,7.69257 1.42455,0 1.99437,-8.83221 6.83783,-6.268 4.29018,2.27127 11.48632,17.73112 33.27042,4.99755 a 29.88085,29.88085 0 0 1 17.5643,-3.784 25.57433,25.57433 0 0 0 7.94279,-0.65068 24.42806,24.42806 0 0 1 17.9011,2.57955 c 8.26488,4.83 21.42127,9.45336 34.61417,1.4682 a 27.26077,27.26077 0 0 1 14.66319,-4.0486 31.46519,31.46519 0 0 0 12.90972,-2.36943 32.23663,32.23663 0 0 1 29.13319,2.24885 c 8.75173,5.2288 21.30162,7.44766 37.36683,-3.05448 a 24.1437,24.1437 0 0 1 20.90269,-2.63919 c 11.68411,3.91417 27.91865,6.40973 26.44662,-10.70267 -2.27927,-26.49666 -33.61932,-34.18922 -46.72517,-34.47413 -13.10585,-0.28491 -34.759,-2.56419 -59.26125,0 -24.50225,2.56419 -74.36146,2.27928 -74.36146,2.27928 0,0 -83.72051,-3.32416 -95.72477,2.47031 z"
|
||||
fill="#f8f8fa"
|
||||
id="path80" />
|
||||
<rect
|
||||
x="338.80945"
|
||||
y="373.8851"
|
||||
width="397.87659"
|
||||
height="156.2702"
|
||||
fill="#c99398"
|
||||
id="rect82" />
|
||||
<path
|
||||
d="m 674.71814,347.22608 v 26.659 H 519.61041 q -0.39753,-0.0513 -0.79494,-0.077 a 20.86814,20.86814 0 0 0 -3.94029,0.077 H 395.79422 v -23.77 c 12.97478,1.58123 26.06069,3.58988 38.95858,3.5386 17.12026,-0.077 34.03534,-3.6326 51.18976,-2.67531 59.97636,3.33341 121.04679,4.32493 180.78385,-2.77787 2.65823,-0.31626 5.32498,-0.64961 7.99173,-0.97442 z"
|
||||
opacity="0.1"
|
||||
id="path84" />
|
||||
<path
|
||||
d="m 736.68603,373.8851 v 14.09448 c -4.32493,-0.547 -8.48745,-2.27356 -12.66709,-3.64116 -3.76934,-1.23081 -7.84641,-2.1881 -11.67559,-1.171 -2.0172,0.53848 -3.85483,1.59834 -5.84637,2.21377 -8.32506,2.59836 -17.00908,-2.81209 -25.73589,-2.84626 -8.64986,-0.0342 -16.38515,5.17966 -24.82988,7.07718 -13.05174,2.93172 -26.394,-2.21377 -38.89875,-6.98317 -5.06,-1.92315 -10.92347,-3.76078 -15.65009,-1.12825 -2.077,1.15391 -3.64116,3.05139 -5.66687,4.29931 -5.92326,3.65827 -13.67567,0.80345 -19.58188,-2.889 -3.73516,-2.33339 -8.25666,-5.07709 -12.197,-3.11123 -2.03426,1.00858 -3.3078,3.05139 -4.99164,4.56428 -5.33351,4.77791 -13.727,3.49582 -20.26561,0.58977 -6.53014,-2.9061 -12.73549,-7.19681 -19.86395,-7.72679 -10.05158,-0.76067 -18.85533,6.01733 -27.62482,10.9833 -8.76949,4.96597 -20.93236,7.90625 -28.08645,0.7949 -2.36756,-2.35051 -4.1198,-5.75232 -7.3592,-6.56432 -5.35917,-1.33338 -9.38492,5.29933 -14.78681,6.46175 -6.65838,1.43594 -12.07734,-5.64975 -18.75277,-7.043 -6.90623,-1.44449 -13.33381,3.35908 -19.428,6.90618 -6.09419,3.5471 -14.94926,5.54723 -19.36819,0.0513 -1.41028,-1.75224 -2.17955,-4.1113 -4.11125,-5.27372 a 8.23976,8.23976 0 0 0 -4.7523,-0.76072 48.28961,48.28961 0 0 0 -16.76123,4.00868 c -6.08567,2.68387 -11.97477,6.70966 -18.616,6.58143 -0.11962,0 -0.2393,-0.009 -0.359,-0.0171 V 373.8851 Z"
|
||||
opacity="0.1"
|
||||
id="path86" />
|
||||
<path
|
||||
d="m 434.74956,355.36259 c -30.52022,0.12919 -62.04306,-11.3139 -90.817,-1.13741 -10.4405,3.6925 -21.029,12.42945 -19.92809,23.44882 a 16.08175,16.08175 0 0 0 15.16183,13.99129 c 6.64583,0.12838 12.53348,-3.90136 18.61606,-6.582 a 48.23892,48.23892 0 0 1 16.76677,-4.01339 8.28854,8.28854 0 0 1 4.753,0.76727 c 1.928,1.15674 2.70008,3.52168 4.10938,5.27352 4.42088,5.49545 13.26969,3.49469 19.3653,-0.0532 6.09561,-3.54791 12.52636,-8.35316 19.43022,-6.91063 6.67,1.39365 12.08971,8.48267 18.75064,7.04643 5.39973,-1.1643 9.42524,-7.79193 14.78555,-6.45783 3.24447,0.8075 4.99258,4.20694 7.36357,6.56428 7.14781,7.10667 19.31229,4.16878 28.08228,-0.79943 8.76999,-4.96821 17.57221,-11.74161 27.62338,-10.98672 7.13314,0.53573 13.33311,4.828 19.87015,7.73241 6.53704,2.90441 14.93261,4.18424 20.26041,-0.58893 1.68926,-1.5134 2.96278,-3.56046 4.99346,-4.57057 3.93911,-1.9594 8.46274,0.78428 12.19394,3.11537 5.90792,3.691 13.66249,6.5482 19.5889,2.887 2.01867,-1.24709 3.588,-3.14367 5.661,-4.29821 4.72765,-2.633 10.59585,-0.79551 15.65211,1.13266 12.50125,4.76725 25.84952,9.9135 38.90289,6.97792 8.43711,-1.89742 16.17949,-7.106 24.82727,-7.07412 8.72291,0.0321 17.40825,5.44354 25.73608,2.84788 1.98918,-0.62 3.82748,-1.677 5.84081,-2.21343 3.83579,-1.022 7.90741,-0.0656 11.68031,1.16845 5.00614,1.63742 9.99053,3.7923 15.25762,3.80752 5.26709,0.0152 11.02793,-2.86 12.288,-7.97416 0.9646,-3.9149 -0.91453,-7.9726 -3.25943,-11.2526 -8.51489,-11.91046 -23.27858,-18.03985 -37.82877,-19.6692 -14.55019,-1.62935 -29.21245,0.64422 -43.75131,2.37166 -59.73875,7.09789 -120.8111,6.10982 -180.78208,2.77458 -17.15392,-0.95398 -34.07119,2.60231 -51.19425,2.67479 z"
|
||||
fill="#f8f8fa"
|
||||
id="path88" />
|
||||
<rect
|
||||
x="311.88547"
|
||||
y="516.05225"
|
||||
width="439.93784"
|
||||
height="181.20265"
|
||||
fill="#c99398"
|
||||
id="rect90" />
|
||||
<path
|
||||
d="m 753.77207,511.08629 a 519.32412,519.32412 0 0 1 -66.72874,9.91484 45.84426,45.84426 0 0 0 -22.51355,1.718 c -0.13678,0.0427 -0.27352,0.0855 -0.4103,0.13673 -13.86369,4.90619 -25.79573,16.539 -40.49709,16.351 -11.73542,-0.15384 -21.88105,-7.90625 -33.15494,-11.15421 a 42.23114,42.23114 0 0 0 -9.89778,-1.61545 43.4249,43.4249 0 0 0 -6.82928,0.18807 c -13.63294,0.359 -27.26584,0.50426 -40.89878,0.22224 -20.00069,-0.40175 -39.95861,-1.72657 -59.91657,-3.04284 q -32.001,-2.11548 -64.0021,-4.23092 -30.10362,-1.98723 -60.2157,-3.97451 -7.38487,-0.4872 -14.78681,-0.98291 c -5.30789,-0.35047 -9.24818,0.79489 -11.39356,-3.94885 -2.54713,-5.67541 -0.29919,-11.32516 2.8206,-16.26552 2.68386,0.0513 5.37623,0.23935 8.05153,0.42736 q 60.97641,4.295 121.92719,8.88921 l -6.24807,1.10258 a 682.06118,682.06118 0 0 1 128.36326,-7.94042 c 20.04342,0.65811 40.1979,2.19666 60.096,-0.359 13.98336,-1.79491 27.6847,-5.58991 41.73646,-6.778 19.29975,-1.63251 38.64228,1.7009 57.737,5.02581 a 116.104,116.104 0 0 1 11.93205,2.53 c 1.01712,4.88903 2.15387,9.76955 4.82918,13.78679 z"
|
||||
opacity="0.1"
|
||||
id="path92" />
|
||||
<path
|
||||
d="m 751.82331,516.05227 v 17.03475 c -5.4874,-0.812 -10.86363,-1.61545 -14.1971,2.28211 -1.56411,1.83769 -2.171,4.33349 -3.69238,6.2139 -3.1369,3.8719 -9.26529,3.8634 -13.74407,1.66674 -4.47027,-2.19666 -7.88063,-6.043 -11.73547,-9.20546 a 46.66119,46.66119 0 0 0 -44.33481,-7.76951 c -13.86369,4.90619 -25.79573,16.539 -40.49709,16.351 -11.73542,-0.15385 -21.88105,-7.90625 -33.15494,-11.15421 a 44.78974,44.78974 0 0 0 -37.779,6.419 c -7.98314,5.66686 -15.52186,14.462 -25.24013,13.34231 -5.09421,-0.58976 -9.37641,-3.90612 -13.70134,-6.66688 A 72.89966,72.89966 0 0 0 485.0537,533.93319 c -4.45311,-0.6325 -9.17979,-0.82056 -13.28248,1.02568 -5.1711,2.3334 -8.51312,7.48744 -13.3167,10.51316 -11.15421,7.01735 -25.61621,0.68378 -37.11234,-5.75231 -11.50467,-6.43614 -25.73589,-13.02607 -37.12945,-6.41047 -2.68386,1.55561 -4.98308,3.77789 -7.82079,5.02581 -16.02623,7.03442 -31.76178,-20.06907 -48.20672,-14.07737 -3.70955,1.35049 -6.66688,4.26509 -10.3166,5.76943 a 12.36821,12.36821 0 0 1 -5.9831,0.83761 v -14.81246 z"
|
||||
opacity="0.1"
|
||||
id="path94" />
|
||||
<path
|
||||
d="m 455.33042,505.42518 q -60.95452,-4.58713 -121.93034,-8.885 c -7.05844,-0.49751 -14.29773,-0.97386 -21.08084,1.04075 -6.78311,2.01461 -13.12151,7.08092 -14.57243,14.00653 -2.19351,10.47014 10.23123,20.79764 20.124,16.72713 3.65133,-1.50239 6.60662,-4.41991 10.31685,-5.7703 16.44216,-5.98439 32.18,21.11323 48.20052,14.07749 2.84064,-1.24753 5.13753,-3.46238 7.82058,-5.02021 11.39733,-6.61752 25.6285,-0.0238 37.12917,6.41247 11.50067,6.43625 25.96162,12.76192 37.118,5.74583 4.80482,-3.02169 8.1408,-8.17553 13.31563,-10.50751 4.10424,-1.84954 8.82484,-1.663 13.28113,-1.02493 a 72.77513,72.77513 0 0 1 28.69594,10.63272 c 4.32394,2.75614 8.60687,6.07051 13.70048,6.66035 9.719,1.12546 17.25985,-7.676 25.23738,-13.34036 a 44.82021,44.82021 0 0 1 37.78062,-6.42169 c 11.27221,3.25 21.42144,11.00426 33.15182,11.157 14.70313,0.19145 26.63606,-11.44248 40.49649,-16.35242 a 46.685,46.685 0 0 1 44.34037,7.77212 c 3.85411,3.16471 7.25985,7.00548 11.73593,9.20416 4.47608,2.19868 10.60421,2.20775 13.74426,-1.66647 1.52069,-1.87624 2.12239,-4.37738 3.6922,-6.21272 6.41716,-7.50261 20.39158,2.41224 28.17191,-3.66523 a 10.65272,10.65272 0 0 0 3.5614,-5.86348 c 1.95046,-7.77429 -2.93317,-15.96775 -9.622,-20.384 -6.68883,-4.41625 -14.83663,-5.88933 -22.73286,-7.26531 -19.087,-3.32605 -38.429,-6.66492 -57.7346,-5.03172 -14.05,1.18858 -27.75122,4.98941 -41.73679,6.78385 -19.89389,2.55253 -40.04886,1.01561 -60.09508,0.35892 a 682.05255,682.05255 0 0 0 -128.36461,7.93591"
|
||||
fill="#f8f8fa"
|
||||
id="path96" />
|
||||
<path
|
||||
d="m 751.82331,647.91991 v 42.57407 q -25.25727,1.29494 -50.5231,2.57274 c -27.19745,1.38466 -54.42061,2.76932 -81.64372,2.23939 -23.00936,-0.453 -45.96738,-2.265 -68.96813,-2.983 -48.36061,-1.50433 -96.858,1.87186 -145.08177,-2 -15.43642,-1.23937 -30.82155,-3.21379 -46.28363,-4.09419 a 340.601,340.601 0 0 0 -47.43748,0.68377 v -40.11248 a 37.31411,37.31411 0 0 1 4.36765,-0.10256 55.84923,55.84923 0 0 1 22.0264,5.32495 c 5.39334,2.55568 10.50461,6.02588 16.38515,7.043 15.29968,2.64109 28.59071,-11.81236 44.0784,-12.96628 12.47053,-0.92307 23.676,6.81222 34.37725,13.28253 2.05988,1.23937 4.35055,2.48724 6.71816,2.13682 1.983,-0.29063 3.61549,-1.64962 5.23094,-2.83771 15.26546,-11.26532 38.52267,-9.89778 52.35218,3.08557 1.50434,1.40176 3.00011,2.983 4.98309,3.50437 3.92318,1.04279 7.44466,-2.359 10.55589,-4.97448 16.85524,-14.21416 42.83048,-9.94051 62.173,0.6581 3.58132,1.95737 7.54728,4.1882 11.50468,3.16251 2.64964,-0.68377 4.69246,-2.718 6.81217,-4.45316 16.47065,-13.51327 41.2407,-11.00036 60.51484,-1.91458 1.86335,0.88039 3.82922,1.82913 5.872,1.59834 2.45307,-0.29058 4.33343,-2.17955 6.2224,-3.76078 a 31.73577,31.73577 0 0 1 33.37718,-4.13692 c 3.04283,1.46161 5.86348,3.436 9.09433,4.4275 9.20545,2.81209 18.5562,-2.90605 27.74454,-5.8036 a 47.66956,47.66956 0 0 1 15.54758,-2.15392 z"
|
||||
opacity="0.1"
|
||||
id="path98" />
|
||||
<path
|
||||
d="m 798.18383,689.84438 q -48.43756,2.47451 -96.88362,4.9318 c -27.19745,1.38466 -54.42061,2.76932 -81.64372,2.23939 -23.00936,-0.453 -45.96738,-2.265 -68.96813,-2.983 -48.36061,-1.50433 -96.858,1.87186 -145.08177,-2 -15.43642,-1.23937 -30.82155,-3.2138 -46.28363,-4.09419 a 344.33108,344.33108 0 0 0 -52.18978,1.10263 c -3.70954,0.35042 -9.41913,2.20517 -13.009,1.47867 -3.87189,-0.78634 -2.39323,-1.23081 -1.12819,-4.89759 a 32.43645,32.43645 0 0 0 0.95729,-3.32491 c 1.05986,-4.48733 1.25643,-9.01738 1.69235,-13.67567 0.5641,-5.94893 1.43594,-12.49614 6.35919,-16.539 3.8719,-3.18813 9.23107,-3.83773 14.24832,-3.67533 a 55.84906,55.84906 0 0 1 22.0264,5.325 c 5.39334,2.55568 10.50461,6.02588 16.38515,7.043 15.29968,2.64109 28.59071,-11.81237 44.0784,-12.96628 12.47053,-0.92307 23.676,6.81222 34.37725,13.28253 2.05988,1.23937 4.35055,2.48724 6.71816,2.13682 1.983,-0.29063 3.61549,-1.64962 5.23094,-2.83771 15.26546,-11.26533 38.52267,-9.89778 52.35218,3.08556 1.50434,1.40177 3.00011,2.983 4.98309,3.50437 3.92318,1.0428 7.44466,-2.359 10.55589,-4.97448 16.85524,-14.21415 42.83048,-9.9405 62.173,0.65811 3.58132,1.95736 7.54728,4.1882 11.50468,3.16251 2.64964,-0.68377 4.69246,-2.718 6.81217,-4.45316 16.47065,-13.51327 41.2407,-11.00036 60.51484,-1.91458 1.86335,0.88039 3.82922,1.82913 5.872,1.59834 2.45307,-0.29058 4.33343,-2.17955 6.2224,-3.76078 a 31.73577,31.73577 0 0 1 33.37718,-4.13692 c 3.04283,1.46161 5.86348,3.436 9.09433,4.4275 9.20545,2.81209 18.5562,-2.906 27.74454,-5.8036 a 48.03718,48.03718 0 0 1 60.002,30.51385 45.82008,45.82008 0 0 1 1.90609,7.54712 z"
|
||||
fill="#f8f8fa"
|
||||
id="path100" />
|
||||
<path
|
||||
d="m 798.18383,689.84438 q -48.43756,2.47451 -96.88362,4.9318 c -27.19745,1.38466 -54.42061,2.76932 -81.64372,2.23939 -23.00936,-0.453 -45.96738,-2.265 -68.96813,-2.983 -48.36061,-1.50433 -96.858,1.87186 -145.08177,-2 -15.43642,-1.23937 -30.82155,-3.2138 -46.28363,-4.09419 a 344.33108,344.33108 0 0 0 -52.18978,1.10263 c -3.70954,0.35042 -9.41913,2.20517 -13.009,1.47867 -3.87189,-0.78634 -2.39323,-1.23081 -1.12819,-4.89759 a 32.43645,32.43645 0 0 0 0.95729,-3.32491 h 502.32447 a 45.82008,45.82008 0 0 1 1.90608,7.5472 z"
|
||||
opacity="0.1"
|
||||
id="path102" />
|
||||
<path
|
||||
d="m 281.48168,683.15189 h 522.36153 a 17.03368,17.03368 0 0 1 17.03368,17.03368 v 2.19773 H 264.448 v -2.19773 a 17.03368,17.03368 0 0 1 17.03368,-17.03368 z"
|
||||
fill="#d4d5e0"
|
||||
id="path104" />
|
||||
<rect
|
||||
x="458.60144"
|
||||
y="107.35271"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71337)"
|
||||
fill="#ff0000"
|
||||
id="rect106" />
|
||||
<rect
|
||||
x="451.04474"
|
||||
y="240.62312"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.7134)"
|
||||
fill="#ff0000"
|
||||
id="rect108" />
|
||||
<rect
|
||||
x="446.08771"
|
||||
y="393.80121"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.7134)"
|
||||
fill="#ff0000"
|
||||
id="rect110" />
|
||||
<rect
|
||||
x="565.72491"
|
||||
y="367.95346"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71339)"
|
||||
fill="#ff0000"
|
||||
id="rect112" />
|
||||
<rect
|
||||
x="633.54791"
|
||||
y="341.91098"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71339)"
|
||||
fill="#ff0000"
|
||||
id="rect114" />
|
||||
<rect
|
||||
x="734.52704"
|
||||
y="323.09839"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71336)"
|
||||
fill="#ff0000"
|
||||
id="rect116" />
|
||||
<rect
|
||||
x="796.78986"
|
||||
y="287.58524"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71341)"
|
||||
fill="#ff0000"
|
||||
id="rect118" />
|
||||
<rect
|
||||
x="504.96783"
|
||||
y="382.38846"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71339)"
|
||||
fill="#ff0000"
|
||||
id="rect120" />
|
||||
<rect
|
||||
x="651.00446"
|
||||
y="353.8197"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71336)"
|
||||
fill="#ff0000"
|
||||
id="rect122" />
|
||||
<rect
|
||||
x="704.80426"
|
||||
y="320.51514"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71337)"
|
||||
fill="#ff0000"
|
||||
id="rect124" />
|
||||
<rect
|
||||
x="826.94171"
|
||||
y="278.53192"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71338)"
|
||||
fill="#ff0000"
|
||||
id="rect126" />
|
||||
<rect
|
||||
x="143.97374"
|
||||
y="594.66351"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67407)"
|
||||
fill="#ff0000"
|
||||
id="rect128" />
|
||||
<rect
|
||||
x="123.72319"
|
||||
y="562.32275"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67411)"
|
||||
fill="#ff0000"
|
||||
id="rect130" />
|
||||
<rect
|
||||
x="87.124039"
|
||||
y="512.54572"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67408)"
|
||||
fill="#ff0000"
|
||||
id="rect132" />
|
||||
<rect
|
||||
x="-63.003796"
|
||||
y="520.77222"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67407)"
|
||||
fill="#ff0000"
|
||||
id="rect134" />
|
||||
<rect
|
||||
x="-70.465736"
|
||||
y="532.08289"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67409)"
|
||||
fill="#ff0000"
|
||||
id="rect136" />
|
||||
<rect
|
||||
x="-0.87182206"
|
||||
y="606.97858"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67407)"
|
||||
fill="#ff0000"
|
||||
id="rect138" />
|
||||
<rect
|
||||
x="-158.01865"
|
||||
y="672.51807"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67409)"
|
||||
fill="#ff0000"
|
||||
id="rect140" />
|
||||
<rect
|
||||
x="59.01112"
|
||||
y="699.48578"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67408)"
|
||||
fill="#ff0000"
|
||||
id="rect142" />
|
||||
<rect
|
||||
x="80.974785"
|
||||
y="739.49146"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67409)"
|
||||
fill="#ff0000"
|
||||
id="rect144" />
|
||||
<rect
|
||||
x="-35.942822"
|
||||
y="808.46613"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67402)"
|
||||
fill="#ff0000"
|
||||
id="rect146" />
|
||||
<rect
|
||||
x="6.3373632"
|
||||
y="893.10767"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67405)"
|
||||
fill="#ff0000"
|
||||
id="rect148" />
|
||||
<rect
|
||||
x="-173.57845"
|
||||
y="632.88159"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67407)"
|
||||
fill="#ff0000"
|
||||
id="rect150" />
|
||||
<rect
|
||||
x="-208.95927"
|
||||
y="574.62866"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67404)"
|
||||
fill="#ff0000"
|
||||
id="rect152" />
|
||||
<rect
|
||||
x="-137.61473"
|
||||
y="689.3941"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67406)"
|
||||
fill="#ff0000"
|
||||
id="rect154" />
|
||||
<rect
|
||||
x="-90.925537"
|
||||
y="745.29285"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(-53.67405)"
|
||||
fill="#ff0000"
|
||||
id="rect156" />
|
||||
<rect
|
||||
x="566.99335"
|
||||
y="-389.09595"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67721)"
|
||||
fill="#ff0000"
|
||||
id="rect158" />
|
||||
<rect
|
||||
x="530.26068"
|
||||
y="-316.85919"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67719)"
|
||||
fill="#ff0000"
|
||||
id="rect160" />
|
||||
<rect
|
||||
x="548.32477"
|
||||
y="-141.5455"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67721)"
|
||||
fill="#ff0000"
|
||||
id="rect162" />
|
||||
<rect
|
||||
x="574.7215"
|
||||
y="-171.97626"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.6772)"
|
||||
fill="#ff0000"
|
||||
id="rect164" />
|
||||
<rect
|
||||
x="619.52966"
|
||||
y="-235.20763"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67718)"
|
||||
fill="#ff0000"
|
||||
id="rect166" />
|
||||
<rect
|
||||
x="626.82996"
|
||||
y="-259.72891"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67719)"
|
||||
fill="#ff0000"
|
||||
id="rect168" />
|
||||
<rect
|
||||
x="662.49255"
|
||||
y="-304.74033"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67719)"
|
||||
fill="#ff0000"
|
||||
id="rect170" />
|
||||
<rect
|
||||
x="681.33765"
|
||||
y="-342.66898"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67719)"
|
||||
fill="#ff0000"
|
||||
id="rect172" />
|
||||
<rect
|
||||
x="717.02673"
|
||||
y="-387.01089"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(54.67719)"
|
||||
fill="#ff0000"
|
||||
id="rect174" />
|
||||
<rect
|
||||
x="595.41364"
|
||||
y="59.630775"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71337)"
|
||||
fill="#ff0000"
|
||||
id="rect176" />
|
||||
<rect
|
||||
x="639.8175"
|
||||
y="44.12019"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71339)"
|
||||
fill="#ff0000"
|
||||
id="rect178" />
|
||||
<rect
|
||||
x="583.4975"
|
||||
y="80.867691"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71339)"
|
||||
fill="#ff0000"
|
||||
id="rect180" />
|
||||
<rect
|
||||
x="496.44278"
|
||||
y="110.52627"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71337)"
|
||||
fill="#ff0000"
|
||||
id="rect182" />
|
||||
<rect
|
||||
x="650.97314"
|
||||
y="56.208157"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.7134)"
|
||||
fill="#ff0000"
|
||||
id="rect184" />
|
||||
<rect
|
||||
x="483.25769"
|
||||
y="93.30764"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71338)"
|
||||
fill="#ff0000"
|
||||
id="rect186" />
|
||||
<rect
|
||||
x="531.93488"
|
||||
y="87.553413"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71337)"
|
||||
fill="#ff0000"
|
||||
id="rect188" />
|
||||
<rect
|
||||
x="539.16327"
|
||||
y="214.1637"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71339)"
|
||||
fill="#ff0000"
|
||||
id="rect190" />
|
||||
<rect
|
||||
x="608.24188"
|
||||
y="193.4239"
|
||||
width="3.1340203"
|
||||
height="8.6578474"
|
||||
rx="1.3879346"
|
||||
transform="rotate(16.713074)"
|
||||
fill="#ff0000"
|
||||
id="rect192"
|
||||
style="stroke-width:1" />
|
||||
<rect
|
||||
x="769.59155"
|
||||
y="148.47212"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71335)"
|
||||
fill="#ff0000"
|
||||
id="rect194" />
|
||||
<rect
|
||||
x="786.37939"
|
||||
y="143.43382"
|
||||
width="3.1340203"
|
||||
height="8.6578474"
|
||||
rx="1.3879346"
|
||||
transform="rotate(16.713074)"
|
||||
fill="#ff0000"
|
||||
id="rect196"
|
||||
style="stroke-width:1" />
|
||||
<rect
|
||||
x="553.78607"
|
||||
y="93.307686"
|
||||
width="3.1340101"
|
||||
height="8.6578197"
|
||||
rx="1.38793"
|
||||
transform="rotate(16.71338)"
|
||||
fill="#ff0000"
|
||||
id="rect198" />
|
||||
<ellipse
|
||||
cx="140.97244"
|
||||
cy="702.9892"
|
||||
rx="28.598101"
|
||||
ry="2.8970201"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse202" />
|
||||
<ellipse
|
||||
cx="64"
|
||||
cy="775.50677"
|
||||
rx="28.598101"
|
||||
ry="2.8970201"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse204" />
|
||||
<ellipse
|
||||
cx="849.92664"
|
||||
cy="766.80573"
|
||||
rx="28.598101"
|
||||
ry="2.8970201"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse206" />
|
||||
<ellipse
|
||||
cx="838.42141"
|
||||
cy="797.49528"
|
||||
rx="28.5981"
|
||||
ry="2.89702"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse208" />
|
||||
<ellipse
|
||||
cx="698.20782"
|
||||
cy="747.95856"
|
||||
rx="28.598101"
|
||||
ry="2.8970201"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse210" />
|
||||
<ellipse
|
||||
cx="626.7996"
|
||||
cy="815.24236"
|
||||
rx="28.5981"
|
||||
ry="2.89702"
|
||||
fill="#ff0000"
|
||||
opacity="0.1"
|
||||
id="ellipse212" />
|
||||
<path
|
||||
d="m 273.47467,742.52714 c 0,0 -0.0322,0.29995 -0.0535,0.79282 v 0.375 l -3.09636,5.2606 -9.8461,-1.36069 -5.08915,-3.4606 a 16.50825,16.50825 0 0 0 1.10358,-2.1 c 2.47486,-0.7071 8.14248,1.29642 8.14248,1.29642 0,0 6.11778,1.16778 8.68916,-0.70716 a 0.589,0.589 0 0 0 0.14989,-0.0964 z"
|
||||
opacity="0.1"
|
||||
id="path258" />
|
||||
<path
|
||||
d="m 424.7403,543.91642 c 0,0 -13.12465,6.86986 -15.66923,7.23194 -2.54458,0.36208 11.11578,-1.47317 11.11578,-1.47317 z"
|
||||
opacity="0.1"
|
||||
id="path320" />
|
||||
<path
|
||||
d="m 435.45429,549.27341 c 0,0 -17.41024,5.8927 -25.044,4.8213 3e-5,-2e-5 19.01738,3.61598 25.044,-4.8213 z"
|
||||
opacity="0.1"
|
||||
id="path322" />
|
||||
<path
|
||||
d="m 591.62983,509.32458 -2.04355,-2.48874 c 4.0229,-3.30276 4.21344,-23.7172 2.20127,-34.78811 -1.39615,-7.68075 -1.60844,-14.26682 -0.64945,-20.135 1.52689,-9.34333 6.00319,-16.26135 13.30481,-20.5617 15.14731,-8.92134 24.22911,-33.39427 24.31892,-33.64034 l 3.02483,1.10431 c -0.38277,1.049 -9.56062,25.79936 -25.70982,35.31071 -10.73443,6.32229 -14.476,18.88733 -11.12136,37.34627 1.58124,8.69836 2.9132,32.73026 -3.32565,37.8526 z"
|
||||
fill="#d4d5e0"
|
||||
id="path350" />
|
||||
<path
|
||||
d="m 675.71207,385.66192 c 9.87277,-24.22886 1.39373,-50.58653 -18.93851,-58.8715 -20.33224,-8.28497 -44.81821,4.64011 -54.691,28.869 -9.58584,23.52469 -1.87,49.05471 17.197,58.10228 a 13.88748,13.88748 0 0 1 -5.56285,5.54959 c -4.12919,1.92835 9.29017,3.78556 9.29017,3.78556 a 23.47942,23.47942 0 0 1 1.26765,-7.433 c 19.62452,5.75192 42.0861,-7.05246 51.43754,-30.00193 z"
|
||||
fill="#ff0000"
|
||||
id="path352" />
|
||||
<path
|
||||
d="m 606.00304,378.15169 c 0.45369,-10.45977 6.77053,-18.76245 14.32471,-19.13236 -0.32627,-0.0445 -0.65586,-0.0757 -0.98908,-0.0901 -7.98639,-0.3464 -14.84443,8.22129 -15.31787,19.13648 -0.45968,10.598 5.26871,19.5116 12.91216,20.33787 -0.13608,0.79304 -11.38883,-9.67162 -10.92992,-20.25189 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path354" />
|
||||
<path
|
||||
d="m 714.62983,673.32458 -2.04355,-2.48874 c 4.0229,-3.30276 4.21344,-23.7172 2.20127,-34.78811 -1.39615,-7.68075 -1.60844,-14.26682 -0.64945,-20.135 1.52689,-9.34333 6.00319,-16.26135 13.30481,-20.5617 15.14731,-8.92134 24.22911,-33.39427 24.31892,-33.64034 l 3.02483,1.10431 c -0.38277,1.049 -9.56062,25.79936 -25.70982,35.31071 -10.73443,6.32229 -14.476,18.88733 -11.12136,37.34627 1.58124,8.69836 2.9132,32.73026 -3.32565,37.8526 z"
|
||||
fill="#d4d5e0"
|
||||
id="path356" />
|
||||
<path
|
||||
d="m 798.71207,549.66192 c 9.87277,-24.22886 1.39373,-50.58653 -18.93851,-58.8715 -20.33224,-8.28497 -44.81821,4.64011 -54.691,28.869 -9.58584,23.52469 -1.87,49.05471 17.197,58.10228 a 13.88748,13.88748 0 0 1 -5.56285,5.54959 c -4.12919,1.92835 9.29017,3.78556 9.29017,3.78556 a 23.47942,23.47942 0 0 1 1.26765,-7.433 c 19.62452,5.75192 42.0861,-7.05246 51.43754,-30.00193 z"
|
||||
fill="#ff0000"
|
||||
id="path358" />
|
||||
<path
|
||||
d="m 729.00304,542.15169 c 0.45369,-10.45977 6.77053,-18.76245 14.32471,-19.13236 -0.32627,-0.0445 -0.65586,-0.0756 -0.98908,-0.0901 -7.98639,-0.3464 -14.84443,8.22129 -15.31787,19.13648 -0.45968,10.598 5.26871,19.5116 12.91216,20.33787 -0.13608,0.79304 -11.38883,-9.67162 -10.92992,-20.25189 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path360" />
|
||||
<path
|
||||
d="m 541.00304,225.15169 c 0.45369,-10.45977 6.77053,-18.76245 14.32471,-19.13236 -0.32627,-0.0445 -0.65586,-0.0756 -0.98908,-0.0901 -7.98639,-0.3464 -14.84443,8.22129 -15.31787,19.13648 -0.45968,10.598 5.26871,19.5116 12.91216,20.33787 -0.13608,0.79304 -11.38883,-9.67162 -10.92992,-20.25189 z"
|
||||
fill="#ffffff"
|
||||
opacity="0.2"
|
||||
id="path366" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 38 KiB |
12
Riot/Assets/Images.xcassets/Common/exclamation_circle.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "exclamation_circle.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
3
Riot/Assets/Images.xcassets/Common/exclamation_circle.imageset/exclamation_circle.svg
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M20 40C31.0457 40 40 31.0457 40 20C40 8.9543 31.0457 0 20 0C8.9543 0 0 8.9543 0 20C0 31.0457 8.9543 40 20 40ZM18.0843 14.6883C18.0072 13.8089 18.6552 13.0374 19.5346 12.9757C20.3986 12.914 21.17 13.562 21.2626 14.4414V14.6883L20.7689 20.8597C20.7226 21.4306 20.2443 21.8626 19.6735 21.8626H19.5809C19.0409 21.8163 18.6243 21.3997 18.578 20.8597L18.0843 14.6883ZM21.015 24.8868C21.015 25.6366 20.4071 26.2445 19.6573 26.2445C18.9075 26.2445 18.2996 25.6366 18.2996 24.8868C18.2996 24.1369 18.9075 23.5291 19.6573 23.5291C20.4071 23.5291 21.015 24.1369 21.015 24.8868Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 735 B |
BIN
Riot/Assets/Images.xcassets/Composer/Bold.imageset/Bold.png
vendored
Normal file
|
After Width: | Height: | Size: 470 B |
BIN
Riot/Assets/Images.xcassets/Composer/Bold.imageset/Bold@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 737 B |
BIN
Riot/Assets/Images.xcassets/Composer/Bold.imageset/Bold@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
23
Riot/Assets/Images.xcassets/Composer/Bold.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Bold.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Bold@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Bold@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Code.imageset/Code.png
vendored
Normal file
|
After Width: | Height: | Size: 591 B |
BIN
Riot/Assets/Images.xcassets/Composer/Code.imageset/Code@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 894 B |
BIN
Riot/Assets/Images.xcassets/Composer/Code.imageset/Code@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
23
Riot/Assets/Images.xcassets/Composer/Code.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Code.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Code@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Code@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
6
Riot/Assets/Images.xcassets/Composer/Contents.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
23
Riot/Assets/Images.xcassets/Composer/Indent_increase.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Indent increase.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Indent increase@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Indent increase@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Indent_increase.imageset/Indent increase.png
vendored
Normal file
|
After Width: | Height: | Size: 275 B |
BIN
Riot/Assets/Images.xcassets/Composer/Indent_increase.imageset/Indent increase@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 445 B |
BIN
Riot/Assets/Images.xcassets/Composer/Indent_increase.imageset/Indent increase@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 584 B |
23
Riot/Assets/Images.xcassets/Composer/Italic.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Italic.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Italic@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Italic@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Italic.imageset/Italic.png
vendored
Normal file
|
After Width: | Height: | Size: 435 B |
BIN
Riot/Assets/Images.xcassets/Composer/Italic.imageset/Italic@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 660 B |
BIN
Riot/Assets/Images.xcassets/Composer/Italic.imageset/Italic@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 940 B |
23
Riot/Assets/Images.xcassets/Composer/Link.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Link.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Link@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Link@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Link.imageset/Link.png
vendored
Normal file
|
After Width: | Height: | Size: 682 B |
BIN
Riot/Assets/Images.xcassets/Composer/Link.imageset/Link@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.2 KiB |
BIN
Riot/Assets/Images.xcassets/Composer/Link.imageset/Link@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
23
Riot/Assets/Images.xcassets/Composer/Numbered list.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Numbered list.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Numbered list@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Numbered list@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Numbered list.imageset/Numbered list.png
vendored
Normal file
|
After Width: | Height: | Size: 287 B |
BIN
Riot/Assets/Images.xcassets/Composer/Numbered list.imageset/Numbered list@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 465 B |
BIN
Riot/Assets/Images.xcassets/Composer/Numbered list.imageset/Numbered list@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 719 B |
23
Riot/Assets/Images.xcassets/Composer/Quote.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Quote.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Quote@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Quote@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Quote.imageset/Quote.png
vendored
Normal file
|
After Width: | Height: | Size: 474 B |
BIN
Riot/Assets/Images.xcassets/Composer/Quote.imageset/Quote@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 848 B |
BIN
Riot/Assets/Images.xcassets/Composer/Quote.imageset/Quote@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
23
Riot/Assets/Images.xcassets/Composer/Strikethrough.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Strikethrough.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Strikethrough@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Strikethrough@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Strikethrough.imageset/Strikethrough.png
vendored
Normal file
|
After Width: | Height: | Size: 585 B |
BIN
Riot/Assets/Images.xcassets/Composer/Strikethrough.imageset/Strikethrough@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 962 B |
BIN
Riot/Assets/Images.xcassets/Composer/Strikethrough.imageset/Strikethrough@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
23
Riot/Assets/Images.xcassets/Composer/Underlined.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Underlined.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Underlined@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Underlined@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/Underlined.imageset/Underlined.png
vendored
Normal file
|
After Width: | Height: | Size: 410 B |
BIN
Riot/Assets/Images.xcassets/Composer/Underlined.imageset/Underlined@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 662 B |
BIN
Riot/Assets/Images.xcassets/Composer/Underlined.imageset/Underlined@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 980 B |
BIN
Riot/Assets/Images.xcassets/Composer/bullet_list.imageset/Bullet list.png
vendored
Normal file
|
After Width: | Height: | Size: 217 B |
BIN
Riot/Assets/Images.xcassets/Composer/bullet_list.imageset/Bullet list@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 347 B |
BIN
Riot/Assets/Images.xcassets/Composer/bullet_list.imageset/Bullet list@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 586 B |
23
Riot/Assets/Images.xcassets/Composer/bullet_list.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Bullet list.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Bullet list@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Bullet list@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
23
Riot/Assets/Images.xcassets/Composer/indent_decrease.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "Indent decrease.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "Indent decrease@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "Indent decrease@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/indent_decrease.imageset/Indent decrease.png
vendored
Normal file
|
After Width: | Height: | Size: 274 B |
BIN
Riot/Assets/Images.xcassets/Composer/indent_decrease.imageset/Indent decrease@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 449 B |
BIN
Riot/Assets/Images.xcassets/Composer/indent_decrease.imageset/Indent decrease@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 597 B |
23
Riot/Assets/Images.xcassets/Composer/maximise_composer.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "maximise_composer.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "maximise_composer@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "maximise_composer@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/maximise_composer.imageset/maximise_composer.png
vendored
Normal file
|
After Width: | Height: | Size: 320 B |
BIN
Riot/Assets/Images.xcassets/Composer/maximise_composer.imageset/maximise_composer@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 450 B |
BIN
Riot/Assets/Images.xcassets/Composer/maximise_composer.imageset/maximise_composer@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 553 B |
23
Riot/Assets/Images.xcassets/Composer/minimise_composer.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "minimise_composer.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "minimise_composer@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "minimise_composer@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/minimise_composer.imageset/minimise_composer.png
vendored
Normal file
|
After Width: | Height: | Size: 348 B |
BIN
Riot/Assets/Images.xcassets/Composer/minimise_composer.imageset/minimise_composer@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 488 B |
BIN
Riot/Assets/Images.xcassets/Composer/minimise_composer.imageset/minimise_composer@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 638 B |
23
Riot/Assets/Images.xcassets/Composer/start_compose_module.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "start_compose_module.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "start_compose_module@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "start_compose_module@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Riot/Assets/Images.xcassets/Composer/start_compose_module.imageset/start_compose_module.png
vendored
Normal file
|
After Width: | Height: | Size: 292 B |
BIN
Riot/Assets/Images.xcassets/Composer/start_compose_module.imageset/start_compose_module@2x.png
vendored
Normal file
|
After Width: | Height: | Size: 372 B |
BIN
Riot/Assets/Images.xcassets/Composer/start_compose_module.imageset/start_compose_module@3x.png
vendored
Normal file
|
After Width: | Height: | Size: 502 B |
12
Riot/Assets/Images.xcassets/DeviceManager/user_other_sessions_filter.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_other_sessions_filter.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11 18H13C13.55 18 14 17.55 14 17C14 16.45 13.55 16 13 16H11C10.45 16 10 16.45 10 17C10 17.55 10.45 18 11 18ZM3 7C3 7.55 3.45 8 4 8H20C20.55 8 21 7.55 21 7C21 6.45 20.55 6 20 6H4C3.45 6 3 6.45 3 7ZM7 13H17C17.55 13 18 12.55 18 12C18 11.45 17.55 11 17 11H7C6.45 11 6 11.45 6 12C6 12.55 6.45 13 7 13Z" fill="#0DBD8B"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 429 B |
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_other_sessions_filter_selected.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M13 6H4C3.45 6 3 6.45 3 7C3 7.55 3.45 8 4 8H13.3414C13.1203 7.37444 13 6.70127 13 6Z" fill="#0DBD8B"/>
|
||||
<path d="M15.6822 11C16.3676 11.4557 17.1521 11.7743 17.9965 11.9165C17.9988 11.944 18 11.9719 18 12C18 12.55 17.55 13 17 13H7C6.45 13 6 12.55 6 12C6 11.45 6.45 11 7 11H15.6822Z" fill="#0DBD8B"/>
|
||||
<path d="M11 18H13C13.55 18 14 17.55 14 17C14 16.45 13.55 16 13 16H11C10.45 16 10 16.45 10 17C10 17.55 10.45 18 11 18Z" fill="#0DBD8B"/>
|
||||
<path d="M19 9C20.6569 9 22 7.65685 22 6C22 4.34315 20.6569 3 19 3C17.3431 3 16 4.34315 16 6C16 7.65685 17.3431 9 19 9Z" fill="#0DBD8B"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 686 B |
12
Riot/Assets/Images.xcassets/DeviceManager/user_other_sessions_inactive.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_other_sessions_inactive.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="12" height="20" viewBox="0 0 12 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M2 0C0.9 0 0 0.9 0 2L0.0100002 5.18C0.0100002 5.71 0.22 6.21 0.59 6.59L4 10L0.59 13.43C0.22 13.8 0.0100002 14.31 0.0100002 14.84L0 18C0 19.1 0.9 20 2 20H10C11.1 20 12 19.1 12 18V14.84C12 14.31 11.79 13.8 11.42 13.43L8 10L11.41 6.6C11.79 6.22 12 5.71 12 5.18V2C12 0.9 11.1 0 10 0H2ZM10 14.91V17C10 17.55 9.55 18 9 18H3C2.45 18 2 17.55 2 17V14.91C2 14.64 2.11 14.39 2.29 14.2L6 10.5L9.71 14.21C9.89 14.39 10 14.65 10 14.91Z" fill="#737D8C"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 552 B |
12
Riot/Assets/Images.xcassets/DeviceManager/user_other_sessions_unverified.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_other_sessions_unverified.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9.21228 17.436C9.12341 17.4591 9.05182 17.4763 9 17.4883C8.94819 17.4763 8.87659 17.4591 8.78772 17.436C8.58344 17.3827 8.28861 17.2983 7.9335 17.175C7.22166 16.9279 6.27643 16.5277 5.33499 15.9158C3.45846 14.696 1.625 12.6603 1.625 9.30375V2.68082L9 0.521L16.375 2.68082V9.30375C16.375 12.6603 14.5415 14.696 12.665 15.9158C11.7236 16.5277 10.7783 16.9279 10.0665 17.175C9.71139 17.2983 9.41656 17.3827 9.21228 17.436Z" fill="#FF4B55" stroke="white"/>
|
||||
<path d="M1.125 9.30375V2.30625L9 0L16.875 2.30625V9.30375C16.875 16.4587 9 18 9 18C9 18 1.125 16.4587 1.125 9.30375Z" fill="#FF4B55"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.13964 6.05402C8.09745 5.57308 8.45183 5.15121 8.93276 5.11746C9.40526 5.08371 9.82714 5.43808 9.87776 5.91902V6.05402L9.60776 9.42902C9.58245 9.74121 9.32089 9.97746 9.0087 9.97746H8.95808C8.66276 9.95215 8.43495 9.72433 8.40964 9.42902L8.13964 6.05402ZM9.74171 11.6303C9.74171 12.0404 9.40929 12.3728 8.99921 12.3728C8.58914 12.3728 8.25671 12.0404 8.25671 11.6303C8.25671 11.2202 8.58914 10.8878 8.99921 10.8878C9.40929 10.8878 9.74171 11.2202 9.74171 11.6303Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
12
Riot/Assets/Images.xcassets/DeviceManager/user_other_sessions_verified.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_other_sessions_verified.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.125 9.30375V2.30625L9 0L16.875 2.30625V9.30375C16.875 16.4587 9 18 9 18C9 18 1.125 16.4587 1.125 9.30375Z" fill="#0DBD8B"/>
|
||||
<path d="M13.0617 5.10705C12.8592 4.8933 12.5217 4.88205 12.3079 5.08455L7.50415 9.58455L5.7379 8.34705C5.50165 8.18955 5.1754 8.18955 4.9504 8.39205C4.6804 8.61705 4.6579 9.02205 4.8829 9.29205L6.91915 11.6321C6.9529 11.6658 6.98665 11.7108 7.03165 11.7333C7.41415 12.0483 7.9879 11.9921 8.3029 11.6096L8.33665 11.5646L13.0842 5.8158C13.2417 5.6133 13.2417 5.30955 13.0617 5.10705Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 638 B |
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_session_list_item_inactive_session.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="8" height="15" viewBox="0 0 8 15" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M1.33333 0.833984C0.6 0.833984 0 1.43398 0 2.16732L0.00666682 4.28732C0.00666682 4.64065 0.146667 4.97398 0.393333 5.22732L2.66667 7.50065L0.393333 9.78732C0.146667 10.034 0.00666682 10.374 0.00666682 10.7273L0 12.834C0 13.5673 0.6 14.1673 1.33333 14.1673H6.66667C7.4 14.1673 8 13.5673 8 12.834V10.7273C8 10.374 7.86 10.034 7.61333 9.78732L5.33333 7.50065L7.60667 5.23398C7.86 4.98065 8 4.64065 8 4.28732V2.16732C8 1.43398 7.4 0.833984 6.66667 0.833984H1.33333ZM6.66667 10.774V12.1673C6.66667 12.534 6.36667 12.834 6 12.834H2C1.63333 12.834 1.33333 12.534 1.33333 12.1673V10.774C1.33333 10.594 1.40667 10.4273 1.52667 10.3007L4 7.83398L6.47333 10.3073C6.59333 10.4273 6.66667 10.6007 6.66667 10.774Z" fill="#737D8C"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 828 B |
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_session_list_item_not_selected.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 0.5C4.5 0.5 0 5 0 10.5C0 16 4.5 20.5 10 20.5C15.5 20.5 20 16 20 10.5C20 5 15.5 0.5 10 0.5ZM10 18.5C5.6 18.5 2 14.9 2 10.5C2 6.1 5.6 2.5 10 2.5C14.4 2.5 18 6.1 18 10.5C18 14.9 14.4 18.5 10 18.5Z" fill="#C1C6CD"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 368 B |
12
Riot/Assets/Images.xcassets/DeviceManager/user_session_list_item_selected.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "user_session_list_item_selected.svg",
|
||||
"idiom" : "universal"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M10 0C4.5 0 0 4.5 0 10C0 15.5 4.5 20 10 20C15.5 20 20 15.5 20 10C20 4.5 15.5 0 10 0Z" fill="#0DBD8B"/>
|
||||
<path d="M4.54541 10.8887L7.80299 14.243L15.4545 6.36426" stroke="white" stroke-width="1.66667" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 400 B |