diff --git a/.github/workflows/ci-tests.yml b/.github/workflows/ci-tests.yml
index 5ffde41ac8..2215235217 100644
--- a/.github/workflows/ci-tests.yml
+++ b/.github/workflows/ci-tests.yml
@@ -63,7 +63,15 @@ jobs:
- name: Unit tests
run: bundle exec fastlane test
+<<<<<<< HEAD
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v3
# with:
# flags: unittests
+=======
+ - name: Upload coverage to Codecov
+ uses: codecov/codecov-action@v4
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ flags: unittests
+>>>>>>> v1.11.18
diff --git a/.github/workflows/ci-ui-tests.yml b/.github/workflows/ci-ui-tests.yml
index 322323739e..f325b210f4 100644
--- a/.github/workflows/ci-ui-tests.yml
+++ b/.github/workflows/ci-ui-tests.yml
@@ -57,7 +57,7 @@ jobs:
run: bundle exec fastlane uitest
- name: Upload coverage to Codecov
- uses: codecov/codecov-action@v3
+ uses: codecov/codecov-action@v4
with:
+ token: ${{ secrets.CODECOV_TOKEN }}
flags: uitests
-
\ No newline at end of file
diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml
index d902ca1368..ae78b69088 100644
--- a/.github/workflows/sonarcloud.yml
+++ b/.github/workflows/sonarcloud.yml
@@ -25,7 +25,7 @@ jobs:
with:
# Additional arguments for the sonarcloud scanner
args:
- -Dsonar.projectKey=vector-im_element-ios
- -Dsonar.organization=new_vector_ltd_organization
+ -Dsonar.projectKey=element-ios
+ -Dsonar.organization=element-hq
-Dsonar.inclusions=RiotSwiftUI/**
# For more info about the parameters, please refer to https://docs.sonarcloud.io/advanced-setup/analysis-parameters/
\ No newline at end of file
diff --git a/CHANGES.md b/CHANGES.md
index 907d69b54b..103e1d9d08 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,22 @@
+## Changes in 1.11.18 (2024-09-17)
+
+๐ Improvements
+
+- Replaced deprecated OlmKit APIs from ContentScanner with ones from the CryptoSDK.
+
+
+## Changes in 1.11.17 (2024-08-20)
+
+๐ Improvements
+
+- Check power level before starting live sharing location ([#7808](https://github.com/element-hq/element-ios/pull/7808))
+
+
+## Changes in 1.11.16 (2024-07-23)
+
+No significant changes.
+
+
## Changes in 1.11.15 (2024-06-18)
No significant changes.
diff --git a/Config/AppVersion.xcconfig b/Config/AppVersion.xcconfig
index eedff25728..1e54116990 100644
--- a/Config/AppVersion.xcconfig
+++ b/Config/AppVersion.xcconfig
@@ -15,5 +15,10 @@
//
// Version
+<<<<<<< HEAD
MARKETING_VERSION = 2.8.1
CURRENT_PROJECT_VERSION = 1
+=======
+MARKETING_VERSION = 1.11.18
+CURRENT_PROJECT_VERSION = 1.11.18
+>>>>>>> v1.11.18
diff --git a/Podfile b/Podfile
index be4ce6b1d4..8feb199960 100644
--- a/Podfile
+++ b/Podfile
@@ -40,7 +40,10 @@ def import_Common_pods
pod 'DSWaveformImage', '~> 6.1.1'
pod 'FLEX', '~> 5.22.10', :configurations => ['Debug'], :inhibit_warnings => true
+<<<<<<< HEAD
end
+=======
+>>>>>>> v1.11.18
abstract_target 'TchapPods' do
diff --git a/Podfile.lock b/Podfile.lock
index 3ea7cb1e53..bd3b94a204 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -20,13 +20,13 @@ PODS:
- Down (0.11.0)
- DSBottomSheet (0.3.0)
- DSWaveformImage (6.1.1)
- - FLEX (4.5.0)
+ - FLEX (5.22.10)
- FlowCommoniOS (1.12.2)
- GBDeviceInfo (7.1.0):
- GBDeviceInfo/Core (= 7.1.0)
- GBDeviceInfo/Core (7.1.0)
- GZIP (1.3.2)
- - Introspect (0.11.0)
+ - Introspect (0.12.0)
- JitsiMeetSDKLite (8.1.2-lite):
- JitsiWebRTC (~> 111.0)
- JitsiWebRTC (111.0.2)
@@ -39,20 +39,20 @@ PODS:
- LoggerAPI (1.9.200):
- Logging (~> 1.1)
- Logging (1.4.0)
- - MatrixSDK (0.27.10):
- - MatrixSDK/Core (= 0.27.10)
- - MatrixSDK/Core (0.27.10):
+ - MatrixSDK (0.27.13):
+ - MatrixSDK/Core (= 0.27.13)
+ - MatrixSDK/Core (0.27.13):
- AFNetworking (~> 4.0.0)
- GZIP (~> 1.3.0)
- libbase58 (~> 0.1.4)
- - MatrixSDKCrypto (= 0.4.2)
+ - MatrixSDKCrypto (= 0.4.3)
- OLMKit (~> 3.2.5)
- Realm (= 10.27.0)
- SwiftyBeaver (= 1.9.5)
- - MatrixSDK/JingleCallStack (0.27.10):
+ - MatrixSDK/JingleCallStack (0.27.13):
- JitsiMeetSDKLite (= 8.1.2-lite)
- MatrixSDK/Core
- - MatrixSDKCrypto (0.4.2)
+ - MatrixSDKCrypto (0.4.3)
- OLMKit (3.2.12):
- OLMKit/olmc (= 3.2.12)
- OLMKit/olmcpp (= 3.2.12)
@@ -74,15 +74,20 @@ PODS:
- Sentry/Core (7.15.0)
- SideMenu (6.5.0)
- SwiftBase32 (0.9.0)
+<<<<<<< HEAD
- SwiftFormat/CLI (0.54.0)
- SwiftGen (6.6.2)
+=======
+ - SwiftFormat/CLI (0.54.5)
+ - SwiftGen (6.6.3)
+>>>>>>> v1.11.18
- SwiftJWT (3.6.200):
- BlueCryptor (~> 1.0)
- BlueECC (~> 1.1)
- BlueRSA (~> 1.0)
- KituraContracts (~> 1.2)
- LoggerAPI (~> 1.7)
- - SwiftLint (0.49.1)
+ - SwiftLint (0.57.0)
- SwiftyBeaver (1.9.5)
- UICollectionViewLeftAlignedLayout (1.0.2)
- UICollectionViewRightAlignedLayout (0.0.3)
@@ -96,7 +101,7 @@ DEPENDENCIES:
- Down (~> 0.11.0)
- DSBottomSheet (~> 0.3)
- DSWaveformImage (~> 6.1.1)
- - FLEX (~> 4.5.0)
+ - FLEX (~> 5.22.10)
- FlowCommoniOS (~> 1.12.0)
- GBDeviceInfo (~> 7.1.0)
- Introspect (~> 0.1)
@@ -179,11 +184,11 @@ SPEC CHECKSUMS:
Down: b6ba1bc985c9d2f4e15e3b293d2207766fa12612
DSBottomSheet: ca0ac37eb5af2dd54663f86b84382ed90a59be2a
DSWaveformImage: 3c718a0cf99291887ee70d1d0c18d80101d3d9ce
- FLEX: e51461dd6f0bfb00643c262acdfea5d5d12c596b
+ FLEX: f21ee4f498eed3f8a1eded66b21939fd3b7a22ce
FlowCommoniOS: ca92071ab526dc89905495a37844fd7e78d1a7f2
GBDeviceInfo: 5d62fa85bdcce3ed288d83c28789adf1173e4376
GZIP: 3c0abf794bfce8c7cb34ea05a1837752416c8868
- Introspect: 4cc1e4c34dd016540c8d86a591c231c09dafbee3
+ Introspect: b66b675de8a85d9ef832f3a710d8e3c7db186884
JitsiMeetSDKLite: 895213158cf62342069a10634a41d2f1c00057f7
JitsiWebRTC: 80f62908fcf2a1160e0d14b584323fb6e6be630b
KeychainAccess: c0c4f7f38f6fc7bbe58f5702e25f7bd2f65abf51
@@ -193,8 +198,8 @@ SPEC CHECKSUMS:
libPhoneNumber-iOS: 0a32a9525cf8744fe02c5206eb30d571e38f7d75
LoggerAPI: ad9c4a6f1e32f518fdb43a1347ac14d765ab5e3d
Logging: beeb016c9c80cf77042d62e83495816847ef108b
- MatrixSDK: c805f9306d60955215f4b15043ed0f96fd4867b3
- MatrixSDKCrypto: 736069ee0a5ec12852ab3498bf2242acecc443fc
+ MatrixSDK: 1dae186c839eb145974fc1fc127ec903de60a297
+ MatrixSDKCrypto: 27bee960e0e8b3a3039f3f3e93dd2ec88299c77e
OLMKit: da115f16582e47626616874e20f7bb92222c7a51
PostHog: 660ec6c9d80cec17b685e148f17f6785a88b597d
ReadMoreTextView: 19147adf93abce6d7271e14031a00303fe28720d
@@ -204,10 +209,15 @@ SPEC CHECKSUMS:
Sentry: 63ca44f5e0c8cea0ee5a07686b02e56104f41ef7
SideMenu: f583187d21c5b1dd04c72002be544b555a2627a2
SwiftBase32: 9399c25a80666dc66b51e10076bf591e3bbb8f17
+<<<<<<< HEAD
SwiftFormat: 0e0b577434e6aa63bc82a8905b40d9597b8452d4
SwiftGen: 1366a7f71aeef49954ca5a63ba4bef6b0f24138c
+=======
+ SwiftFormat: 543a7b1ab4a6ce2d88bd5616a17903446ca3dc5c
+ SwiftGen: 4993cbf71cbc4886f775e26f8d5c3a1188ec9f99
+>>>>>>> v1.11.18
SwiftJWT: 88c412708f58c169d431d344c87bc79a87c830ae
- SwiftLint: 32ee33ded0636d0905ef6911b2b67bbaeeedafa5
+ SwiftLint: eb47480d47c982481592c195c221d11013a679cc
SwiftyBeaver: 84069991dd5dca07d7069100985badaca7f0ce82
UICollectionViewLeftAlignedLayout: 830bf6fa5bab9f9b464f62e3384f9d2e00b3c0f6
UICollectionViewRightAlignedLayout: 823eef8c567eba4a44c21bc2ffcb0d0d5f361e2d
@@ -215,6 +225,10 @@ SPEC CHECKSUMS:
zxcvbn-ios: fef98b7c80f1512ff0eec47ac1fa399fc00f7e3c
ZXingObjC: 8898711ab495761b2dbbdec76d90164a6d7e14c5
+<<<<<<< HEAD
PODFILE CHECKSUM: 971cd7529e2d127b237469afa2c18e6dced151ec
+=======
+PODFILE CHECKSUM: fb3e1c62f9e35a9bdbafce743664bf4f620af028
+>>>>>>> v1.11.18
-COCOAPODS: 1.14.3
+COCOAPODS: 1.15.2
diff --git a/README.md b/README.md
index 9dfedfb17e..cf1cb441a9 100644
--- a/README.md
+++ b/README.md
@@ -3,13 +3,30 @@


[](https://developer.apple.com/swift)
+<<<<<<< HEAD

+=======
+[](https://buildkite.com/matrix-dot-org/element-ios/builds?branch=develop)
+[](https://translate.riot.im/engage/riot-ios/?utm_source=widget)
+[](https://codecov.io/gh/element-hq/element-ios)
+[](https://sonarcloud.io/summary/new_code?id=element-ios)
+[](https://sonarcloud.io/summary/new_code?id=element-ios)
+[](https://sonarcloud.io/summary/new_code?id=element-ios)
+[](https://matrix.to/#/#element-ios:matrix.org)
+
+[](https://twitter.com/element_hq)
+>>>>>>> v1.11.18
Tchap iOS is an iOS [Matrix](https://matrix.org/) client. It is based on [MatrixSDK](https://github.com/matrix-org/matrix-ios-sdk).
+<<<<<<< HEAD
+=======
+
+
+>>>>>>> v1.11.18
diff --git a/Riot/Assets/et.lproj/Vector.strings b/Riot/Assets/et.lproj/Vector.strings
index 22e9f34192..c21f0ba265 100644
--- a/Riot/Assets/et.lproj/Vector.strings
+++ b/Riot/Assets/et.lproj/Vector.strings
@@ -2719,3 +2719,10 @@
"settings_manage_account_description" = "Halda kasutajakontot koduserveris %@";
"manage_session_redirect" = "Jรคrgmiseks suuname sind sinu serveriteenuse autentijale ning seal saad sa vรคljalogimise lรตpuni viia.";
"manage_session_redirect_error" = "See funktsionaalsus pole hetkel saadaval. Lisateavet saad oma koduserveri haldajalt";
+"room_action_report" = "Teata jututoast";
+"room_action_report_prompt_reason" = "Jututoast teatamise pรตhjus";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Peida tekstitoimeti";
+"wysiwyg_composer_action_maximise_action" = "Ava tekstitoimeti";
diff --git a/Riot/Assets/hu.lproj/Vector.strings b/Riot/Assets/hu.lproj/Vector.strings
index 216ab88fdb..8e324169f0 100644
--- a/Riot/Assets/hu.lproj/Vector.strings
+++ b/Riot/Assets/hu.lproj/Vector.strings
@@ -2478,9 +2478,9 @@
"user_sessions_settings" = "Munkamenetek kezelรฉse";
"invite_to" = "Meghรญvรณ ide: %@";
"device_name_unknown" = "Ismeretlen kliens";
-"device_name_mobile" = "%@ Mobil";
-"device_name_desktop" = "%@ Alkalmazรกs";
-"device_name_web" = "%@ Web";
+"device_name_mobile" = "Mobilos %@";
+"device_name_desktop" = "Asztali %@";
+"device_name_web" = "Webes %@";
"user_session_item_details" = "%1$@ ยท %2$@";
// First item is client name and second item is session display name
@@ -2528,19 +2528,19 @@
"user_session_details_device_os" = "Operรกciรณs rendszer";
"user_session_details_device_browser" = "Bรถngรฉszล";
"user_session_details_device_model" = "Modell";
-"user_session_details_device_ip_location" = "Tartรณzkodรกsi helyem";
+"user_session_details_device_ip_location" = "Sajรกt tartรณzkodรกsi hely";
"user_session_details_device_ip_address" = "IP cรญm";
"user_session_details_last_activity" = "Utolsรณ tevรฉkenysรฉg";
-"user_session_details_session_section_footer" = "A mรกsolรกshoz koppints รฉs tartsd rajta az ujjad.";
-"user_session_details_session_id" = "Kapcsolat azonosรญtรณ";
+"user_session_details_session_section_footer" = "A mรกsolรกshoz koppintson รฉs tartsa lenyomva.";
+"user_session_details_session_id" = "Kapcsolatazonosรญtรณ";
"user_session_details_session_name" = "Munkamenet neve";
"user_session_details_device_section_header" = "Eszkรถz";
"user_session_details_application_section_header" = "Alkalmazรกs";
"user_session_details_session_section_header" = "Munkamenet";
-"user_session_details_title" = "Munkamenet informรกciรณk";
+"user_session_details_title" = "Munkamenet-informรกciรณk";
"device_type_name_unknown" = "Ismeretlen";
-"device_type_name_mobile" = "Mobil";
-"device_type_name_web" = "Web";
+"device_type_name_mobile" = "Mobilos";
+"device_type_name_web" = "Webes";
"device_type_name_desktop" = "Asztali";
"user_inactive_session_item_with_date" = "90+ napja inaktรญv (%@)";
"user_inactive_session_item" = "90+ napja inaktรญv";
@@ -2763,3 +2763,14 @@
"settings_manage_account_action" = "Fiรณk kezelรฉse";
"settings_manage_account_description" = "A fiรณkja kezelรฉse itt: %@";
"room_command_change_room_topic_description" = "Beรกllรญtja a szoba tรฉmรกjรกt";
+"room_action_report" = "Szoba jelentรฉse";
+"room_action_report_prompt_reason" = "A szoba jelentรฉsรฉnek oka";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Szerkesztล รถsszecsukรกsa";
+"wysiwyg_composer_action_maximise_action" = "Szerkesztล kibontรกsa";
+"room_command_set_user_power_level_description" = "Meghatรกrozza a felhasznรกlรณ szintjรฉt";
+"room_command_reset_user_power_level_description" = "Elveszi az adott azonosรญtรณjรบ felhasznรกlรณ operรกtori jogosultsรกgรกt";
+"room_command_error_unknown_command" = "รrvรฉnytelen vagy nem kezelt parancs";
+"room_command_discard_session_description" = "Kรฉnyszerรญti a titkosรญtott szobรกban lรฉvล aktuรกlis kimenล csoportmunkamenet elvetรฉsรฉt";
diff --git a/Riot/Assets/id.lproj/Vector.strings b/Riot/Assets/id.lproj/Vector.strings
index 5e8e1c027e..a27d04098a 100644
--- a/Riot/Assets/id.lproj/Vector.strings
+++ b/Riot/Assets/id.lproj/Vector.strings
@@ -2974,3 +2974,10 @@
"settings_manage_account_description" = "Kelola akun Anda di %@";
"manage_session_redirect" = "Anda akan dialihkan ke penyedia autentikasi server Anda untuk menyelesaikan proses keluar.";
"manage_session_redirect_error" = "Fungsi saat ini tidak tersedia. Silakan hubungi admin homeserver Anda";
+"room_action_report_prompt_reason" = "Alasan melaporkan ruangan ini";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Kecilkan komposer";
+"wysiwyg_composer_action_maximise_action" = "Luaskan komposer";
+"room_action_report" = "Laporkan ruangan";
diff --git a/Riot/Assets/it.lproj/Vector.strings b/Riot/Assets/it.lproj/Vector.strings
index 0e893b97cb..55551cc09e 100644
--- a/Riot/Assets/it.lproj/Vector.strings
+++ b/Riot/Assets/it.lproj/Vector.strings
@@ -2747,3 +2747,10 @@
"settings_manage_account_description" = "Gestisci il tuo account su %@";
"manage_session_redirect" = "Verrai reindirizzato al fornitore di autenticazione del tuo server per completare la disconnessione.";
"manage_session_redirect_error" = "Funzionalitร attualmente non disponibile. Contatta l'amministratore del tuo homeserver";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Rimpicciolisci il compositore";
+"wysiwyg_composer_action_maximise_action" = "Espandi il compositore";
+"room_action_report" = "Segnala stanza";
+"room_action_report_prompt_reason" = "Motivo della segnalazione della stanza";
diff --git a/Riot/Assets/ko.lproj/InfoPlist.strings b/Riot/Assets/ko.lproj/InfoPlist.strings
index 45ef46ab90..90c09e51ac 100644
--- a/Riot/Assets/ko.lproj/InfoPlist.strings
+++ b/Riot/Assets/ko.lproj/InfoPlist.strings
@@ -1,8 +1,9 @@
// Permissions usage explanations
-"NSCameraUsageDescription" = "์นด๋ฉ๋ผ๋ ์ฌ์ง๊ณผ ์์ ์ดฌ์, ์์ ํตํ๋ฅผ ํ๋ ๋ฐ ์ฐ์
๋๋ค.";
-"NSPhotoLibraryUsageDescription" = "ํฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ฌ์ง๊ณผ ์์์ ๋ณด๋ด๋๋ฐ ์ฐ์
๋๋ค.";
+"NSCameraUsageDescription" = "์นด๋ฉ๋ผ๋ ์์ ํตํ๋ฅผ ํ๊ฑฐ๋ ์ฌ์ง๊ณผ ๋น๋์ค๋ฅผ ์ฐ๊ณ ์
๋ก๋ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.";
+"NSPhotoLibraryUsageDescription" = "์ฌ์ง ๋ฐ ๋์์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์
๋ก๋ํ ์ ์๋๋ก ์ฌ์ง ์ ๊ทผ์ ํ์ฉํ์ธ์.";
"NSMicrophoneUsageDescription" = "Element๋ ํตํ์ ๋์์ ์ดฌ์ ๋ฐ ์์ฑ ๋ฉ์์ง ๋
น์์ ํ๊ธฐ ์ํด ๋ง์ดํฌ์ ์ก์ธ์คํด์ผ ํฉ๋๋ค.";
-"NSContactsUsageDescription" = "Element๋ ์ฑํ
์ ์ด๋ํ ์ ์๋๋ก ์ฐ๋ฝ์ฒ๋ฅผ ํ์ํฉ๋๋ค.";
+"NSContactsUsageDescription" = "๋ค๋ฅธ์ฌ๋์ด ๋งคํธ๋ฆญ์ค์์ ๋น์ ์ ์ฐ๋ฝ์ฒ๋ฅผ ์ฐพ๋ ๋ฐ ๋์์ ์ฃผ๊ธฐ ์ํด ๋น์ ์ ์์ด๋ ์๋ฒ์ ๊ณต์ ๋ ๊ฒ์
๋๋ค.";
"NSCalendarsUsageDescription" = "์ฑ์์ ์์ ๋ ํ์๋ฅผ ๋ด
๋๋ค.";
"NSLocationWhenInUseUsageDescription" = "์ฌ๋๋ค์๊ฒ ์์น ์ ๋ณด๋ฅผ ๊ณต์ ํ ๋, Element์์ ์ง๋๋ฅผ ํ์ ํ๊ธฐ ์ํ ๊ถํ์ด ํ์ํฉ๋๋ค.";
"NSFaceIDUsageDescription" = "Face ID ๊ถํ์ ์ฑ์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.";
+"NSLocationAlwaysAndWhenInUseUsageDescription" = "๋น์ ์ ์์น๋ฅผ ์ฌ๋๋ค๊ณผ ๊ณต์ ํ ๋, Element๋ ๊ทธ๋ค์๊ฒ ์ง๋๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์ ๊ทผ์ด ํ์ํฉ๋๋ค.";
diff --git a/Riot/Assets/ko.lproj/Localizable.strings b/Riot/Assets/ko.lproj/Localizable.strings
index f76cb7db09..b997fafea4 100644
--- a/Riot/Assets/ko.lproj/Localizable.strings
+++ b/Riot/Assets/ko.lproj/Localizable.strings
@@ -128,3 +128,6 @@
/** General **/
"Notification" = "์๋ฆผ";
+
+/* New voice broadcast from a specific person, not referencing a room. */
+"VOICE_BROADCAST_FROM_USER" = "%@ ์์ฑ ๋ฐฉ์ก์ ์์ํ์ต๋๋ค";
diff --git a/Riot/Assets/ko.lproj/Vector.strings b/Riot/Assets/ko.lproj/Vector.strings
index dc0ce0d07e..785b13ee3b 100644
--- a/Riot/Assets/ko.lproj/Vector.strings
+++ b/Riot/Assets/ko.lproj/Vector.strings
@@ -24,7 +24,7 @@
"camera" = "์นด๋ฉ๋ผ";
// String for App Store
"store_short_description" = "์์ ํ ๋ถ์ฐ ๋ํ/VoIP";
-"store_full_description" = "Element๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ก์ด ์ ํ์ ๋ฉ์ ์ ์
๋๋ค.\n\n1. ํ๋ผ์ด๋ฒ์๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ๊ถํ์ ์ ๊ณตํฉ๋๋ค.\n2. Matrix ๋คํธ์ํฌ์ ์ฌ์ฉ์์ ํต์ ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ Slack ๋ฑ์ \n์ฑ์ ์ฐ๊ณํ์ฌ ๋ค๋ฅธ ๋คํธ์ํฌ์๋ ํต์ ํ ์ ์์ต๋๋ค.\n3. ๊ด๊ณ , ๋ฐ์ดํฐ๋ง์ด๋, ๋ฐฑ๋์ด์ ํด๋ก์ฆ ํ๋ซํผ์ผ๋ก๋ถํฐ์ ์ฌ์ฉ์๋ฅผ ๋ณดํธํฉ๋๋ค.\n4. ๊ต์ฐจ ๊ฒ์ฆ๊ณผ ๊ฐ๋ ฅํ ์ข
๋จ๊ฐ ์ํธํ์ ํตํด ์ฌ์ฉ์๋ฅผ ๋ณดํธํฉ๋๋ค.\n\nElement๋ ํ์ค์ํ์ด๋ฉฐ ์คํ ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฉ์ ์ ์ฑ๊ณผ๋ ์์ ํ ๋ค๋ฆ
๋๋ค.\n\nElement์์๋ ๋ฐ์ดํฐ ๋ฐ ๋ํ์ ๋ํ ์์ ๊ถ ๋ฐ ์ ์ด ๊ถํ์ ๊ฐ์ง ์ ์๋๋ก ์์ฒด ํธ์คํ
์ ํตํด \n์ง์ ๋ฉ์ ์ ์๋ฒ๋ฅผ ์ด์ํ ์ ์๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ๊ณ ์๋ ์๋ฒ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ๋ํ ๊ฐ๋ฐฉํ ๋คํธ์ํฌ์ ์ก์ธ์คํ ์ ์์ผ๋ฏ๋ก Element ์ด์ธ์ ์ฌ์ฉ์์๋ ์ด์ผ๊ธฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค์ฐ ์์ ํฉ๋๋ค.\n\nElement๋ ๊ฐ๋ฐฉ-๋ถ์ฐํ ํต์ ์ ํ์ค์ธ Matrix์์ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ชจ๋ ๊ฒ์ ์ํํ ์ ์์ต๋๋ค.\n\nElement๋ ์ด๋ค ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ง ์ฌ์ฉ์๊ฐ ์ง์ Element ์ฑ์์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.\n\n1. matrix.org์ ๊ณต์ ์๋ฒ์์ ๋ฌด๋ฃ ๊ณ์ ์ ์์ฑํ๋ค.\n2. ์์ฒด ํธ์คํ
์ ํตํด ์ง์ ์๋ฒ๋ฅผ ์ด์ํ๊ณ ๊ณ์ ์ ๊ด๋ฆฌํ๋ค.\n3. Element Matrix Services์ ํธ์คํ
ํ๋ซํผ์ ๊ฐ์
ํ์ฌ ์ฌ์ฉ์ ์ปค์คํ
์๋ฒ์์ ๊ณ์ ์ ๋ง๋ ๋ค.\n\n์ Element๋ฅผ ์ ํํด์ผํฉ๋๊น?\n\n๋ด ๋ฐ์ดํฐ๋ฅผ ๋ด๊ฐ ์์ ํจ: ๋ฐ์ดํฐ๋ ๋ฉ์์ง๋ฅผ ๋ณด๊ดํ ๊ณณ์ ์ค์ค๋ก ์ ํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ฑฐ๋ ์ 3์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ๊ฑฐ๋ IT ๊ธฐ์
์ด ์๋, ์ฌ์ฉ์๊ฐ ์ค์ค๋ก ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ ์ดํ ์ ์์ต๋๋ค.\n\n๊ฐ๋ฐฉ์ ์ธ ๋ฉ์์ง ๋ฐ ํ์
: Element ๋๋ ๋ค๋ฅธ Matrix ์ฑ์ ์ฌ์ฉํ๋ , ์ฌ์ง์ด Slack, IRC, XMPP์ ๊ฐ์ ๋ค๋ฅธ ๋ฉ์์ง ์์คํ
์ ์ฌ์ฉํ๋ ์๊ด์์ด Matrix ๋คํธ์ํฌ ์์ ๋ค๋ฅธ ์ฌ์ฉ์์ ์ฑํ
ํ ์ ์์ต๋๋ค.\n\n๋งค์ฐ ์์ ํจ: ๊ฐ๋ ฅํ ์ข
๋จ๊ฐ ์ํธํ(๋ํ์ ์ฐธ์ฌํ๊ณ ์๋ ์ฌ๋๋ง ๋ฉ์์ง๋ฅผ ๋ณตํธํํ ์ ์์ต๋๋ค) ๋ฐ ๋ํ ์ฐธ๊ฐ์์ ์ฅ์น๋ฅผ ํ์ธํ๊ธฐ ์ํ ๊ต์ฐจ ๊ฒ์ฆ์ ์ค์ํ ์ ์์ต๋๋ค.\n\n์๋ฒฝํ ์ปค๋ฎค๋์ผ์ด์
: ๋ฉ์์ง, ์์ฑ ๋ฐ ํ์ ํตํ, ํ์ผ ๊ณต์ , ํ๋ฉด ๊ณต์ ๋ฐ ๋ค์ํ ํตํฉ, ๋ด, ์์ ฏ ๋ฑ์ ์ ๊ณตํฉ๋๋ค. ๋ฐฉ์ด๋ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค์ด ์๋ก ์ฐ๋ฝํ๊ณ ์ผ์ ์ํํ๊ฒ ํด๋ผ ์ ์์ต๋๋ค.\n\n์ธ์ ์ด๋์๋: ๋ชจ๋ ์ฅ์น ๋ฐ ์น(https://element.io/app)์์ ๋ฉ์์ง๊ฐ ์์ ํ ๋๊ธฐํ๋๋ฏ๋ก ์ธ์ ์ด๋์๋ ์ฐ๋ฝ์ ์ทจํ ์ ์์ต๋๋ค.";
+"store_full_description" = "Element๋ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์๋ก์ด ์ ํ์ ๋ฉ์ ์ ์
๋๋ค.\n\n1. ํ๋ผ์ด๋ฒ์๋ฅผ ๊ด๋ฆฌํ ์ ์๋ ๊ถํ์ ์ ๊ณตํฉ๋๋ค.\n2. Matrix ๋คํธ์ํฌ์ ์ฌ์ฉ์์ ํต์ ํ ์ ์์ ๋ฟ๋ง ์๋๋ผ Slack ๋ฑ์ \n์ฑ์ ์ฐ๊ณํ์ฌ ๋ค๋ฅธ ๋คํธ์ํฌ์๋ ํต์ ํ ์ ์์ต๋๋ค.\n3. ๊ด๊ณ , ๋ฐ์ดํฐ๋ง์ด๋, ๋ฐฑ๋์ด์ ํด๋ก์ฆ ํ๋ซํผ์ผ๋ก๋ถํฐ์ ์ฌ์ฉ์๋ฅผ ๋ณดํธํฉ๋๋ค.\n4. ๊ต์ฐจ ๊ฒ์ฆ๊ณผ ๊ฐ๋ ฅํ ์ข
๋จ๊ฐ ์ํธํ์ ํตํด ์ฌ์ฉ์๋ฅผ ๋ณดํธํฉ๋๋ค.\n\nElement๋ ํ์ค์ํ์ด๋ฉฐ ์คํ ์์ค์ด๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฉ์ ์ ์ฑ๊ณผ๋ ์์ ํ ๋ค๋ฆ
๋๋ค.\n\nElement์์๋ ๋ฐ์ดํฐ ๋ฐ ๋ํ์ ๋ํ ์์ ๊ถ ๋ฐ ์ ์ด ๊ถํ์ ๊ฐ์ง ์ ์๋๋ก ์์ฒด ํธ์คํ
์ ํตํด \n์ง์ ๋ฉ์ ์ ์๋ฒ๋ฅผ ์ด์ํ ์ ์๊ณ , ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์ ๊ณตํ๊ณ ์๋ ์๋ฒ๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ๋ํ ๊ฐ๋ฐฉํ ๋คํธ์ํฌ์ ์ก์ธ์คํ ์ ์์ผ๋ฏ๋ก Element ์ด์ธ์ ์ฌ์ฉ์์๋ ์ด์ผ๊ธฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋งค์ฐ ์์ ํฉ๋๋ค.\n\nElement๋ ๊ฐ๋ฐฉ-๋ถ์ฐํ ํต์ ์ ํ์ค์ธ Matrix์์ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ชจ๋ ๊ฒ์ ์ํํ ์ ์์ต๋๋ค.\n\nElement๋ ์ด๋ค ์๋ฒ๋ฅผ ์ฌ์ฉํ ์ง ์ฌ์ฉ์๊ฐ ์ง์ Element ์ฑ์์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค.\n\n1. matrix.org์ ๊ณต์ ์๋ฒ์์ ๋ฌด๋ฃ ๊ณ์ ์ ์์ฑํ๋ค.\n2. ์์ฒด ํธ์คํ
์ ํตํด ์ง์ ์๋ฒ๋ฅผ ์ด์ํ๊ณ ๊ณ์ ์ ๊ด๋ฆฌํ๋ค.\n3. Element Matrix Services์ ํธ์คํ
ํ๋ซํผ์ ๊ฐ์
ํ์ฌ ์ฌ์ฉ์ ์ปค์คํ
์๋ฒ์์ ๊ณ์ ์ ๋ง๋ ๋ค.\n\n์ Element๋ฅผ ์ ํํด์ผํฉ๋๊น?\n\n๋ด ๋ฐ์ดํฐ๋ฅผ ๋ด๊ฐ ์์ ํจ: ๋ฐ์ดํฐ๋ ๋ฉ์์ง๋ฅผ ๋ณด๊ดํ ๊ณณ์ ์ค์ค๋ก ์ ํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ฑฐ๋ ์ 3์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ๋ ๊ฑฐ๋ IT ๊ธฐ์
์ด ์๋, ์ฌ์ฉ์๊ฐ ์ค์ค๋ก ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์ ์ดํ ์ ์์ต๋๋ค.\n\n๊ฐ๋ฐฉ์ ์ธ ๋ฉ์์ง ๋ฐ ํ์
: Element ๋๋ ๋ค๋ฅธ Matrix ์ฑ์ ์ฌ์ฉํ๋ , ์ฌ์ง์ด Slack, IRC, XMPP์ ๊ฐ์ ๋ค๋ฅธ ๋ฉ์์ง ์์คํ
์ ์ฌ์ฉํ๋ ์๊ด์์ด Matrix ๋คํธ์ํฌ ์์ ๋ค๋ฅธ ์ฌ์ฉ์์ ์ฑํ
ํ ์ ์์ต๋๋ค.\n\n๋งค์ฐ ์์ ํจ: ๊ฐ๋ ฅํ ์ข
๋จ๊ฐ ์ํธํ(๋ํ์ ์ฐธ์ฌํ๊ณ ์๋ ์ฌ๋๋ง ๋ฉ์์ง๋ฅผ ๋ณตํธํํ ์ ์์ต๋๋ค) ๋ฐ ๋ํ ์ฐธ๊ฐ์์ ์ฅ์น๋ฅผ ํ์ธํ๊ธฐ ์ํ ๊ต์ฐจ ๊ฒ์ฆ์ ์ค์ํ ์ ์์ต๋๋ค.\n\n์๋ฒฝํ ์ปค๋ฎค๋์ผ์ด์
: ๋ฉ์์ง, ์์ฑ ๋ฐ ํ์ ํตํ, ํ์ผ ๊ณต์ , ํ๋ฉด ๊ณต์ ๋ฐ ๋ค์ํ ํตํฉ, ๋ด, ์์ ฏ ๋ฑ์ ์ ๊ณตํฉ๋๋ค. ๋ฐฉ์ด๋ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง๋ค์ด ์๋ก ์ฐ๋ฝํ๊ณ ์ผ์ ์ํํ๊ฒ ํด๋ผ ์ ์์ต๋๋ค.\n\n์ธ์ ์ด๋์๋: ๋ชจ๋ ์ฅ์น ๋ฐ ์น(https://app.element.io/)์์ ๋ฉ์์ง๊ฐ ์์ ํ ๋๊ธฐํ๋๋ฏ๋ก ์ธ์ ์ด๋์๋ ์ฐ๋ฝ์ ์ทจํ ์ ์์ต๋๋ค.";
"join" = "์ฐธ๊ฐ";
"decline" = "๋๊ธฐ";
"accept" = "์๋ฝ";
@@ -340,7 +340,7 @@
"settings_add_email_address" = "์ด๋ฉ์ผ ์ฃผ์ ์ถ๊ฐ";
"settings_phone_number" = "ํด๋ ์ ํ";
"settings_add_phone_number" = "์ ํ๋ฒํธ ์ถ๊ฐ";
-"settings_change_password" = "Matrix ๊ณ์ ๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ";
+"settings_change_password" = "๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ";
"settings_night_mode" = "์ผ๊ฐ ๋ชจ๋";
"settings_fail_to_update_profile" = "ํ๋กํ ์
๋ฐ์ดํธ์ ์คํจํจ";
"settings_enable_push_notif" = "์ด ๊ธฐ๊ธฐ์์ ์๋ฆผ";
@@ -388,7 +388,7 @@
"settings_crypto_device_key" = "\n์ธ์
ํค:\n";
"settings_crypto_export" = "ํค ๋ด๋ณด๋ด๊ธฐ";
"settings_crypto_blacklist_unverified_devices" = "๊ฒ์ฆ๋ ์ธ์
๋ง ์ํธํ";
-"settings_deactivate_my_account" = "๋ด ๊ณ์ ๋นํ์ฑํ";
+"settings_deactivate_my_account" = "๊ณ์ ์๊ตฌ ๋นํ์ฑํ";
"settings_key_backup_info" = "์ํธํ๋ ๋ฉ์์ง๋ ์ข
๋จ๊ฐ ์ํธํ๋ก ๋ณดํธ๋ฉ๋๋ค. ์ค์ง ๋น์ ๊ณผ ์ฐธ๊ฐ์๋ง ํค๋ฅผ ๊ฐ๊ณ ์์ด์ ์ด ๋ฉ์์ง๋ฅผ ์ฝ์ ์ ์์ต๋๋ค.";
"settings_key_backup_info_checking" = "ํ์ธ ์คโฆ";
"settings_key_backup_info_none" = "ํค๊ฐ ์ด ์ธ์
์์ ๋ฐฑ์
๋์ง ์์์ต๋๋ค.";
@@ -1525,14 +1525,14 @@
"settings_enable_room_message_bubbles" = "๋ฉ์์ง ๋ฒ๋ธ";
"settings_labs_use_only_latest_user_avatar_and_name" = "๋ํ ๊ธฐ๋ก์์ ์ฌ์ฉ์์ ์ต์ ํ๋กํ ์ฌ์ง ๋ฐ ์ด๋ฆ ํ์";
"settings_labs_enable_auto_report_decryption_errors" = "๋ณตํธํ ์ค๋ฅ ์๋ ๋ณด๊ณ ";
-"settings_labs_enable_threads" = "์ค๋ ๋ ๋ฉ์์ง";
+"settings_labs_enable_threads" = "์ค๋ ๋ ๋ฉ์์ง";
"room_participants_invite_prompt_to_msg" = "%@์(๋ฅผ) %@์ ์ด๋ํ์๊ฒ ์ต๋๊น?";
"rooms_empty_view_information" = "๋ฐฉ์ ๋น๊ณต๊ฐ์ ๊ณต๊ฐ ๋ชจ๋ ๊ทธ๋ฃน์ฑํ
์ ์ ํฉํฉ๋๋ค. +๋ฅผ ๋๋ฌ ๊ธฐ์กด์ ๊ฐ์ค๋ ๋ฐฉ์ ์ฐพ๊ฑฐ๋, ์๋ก ๊ฐ์คํ ์ ์์ต๋๋ค.";
"onboarding_celebration_button" = "์ถ๋ฐ";
-"onboarding_celebration_message" = "์ค์ ์ด ์ ์ฅ๋์์ต๋๋ค.";
-"onboarding_celebration_title" = "๋ชจ๋ ์ค์ ํ์ด์!";
+"onboarding_celebration_message" = "ํ๋กํ์ ์
๋ฐ์ดํธํ๋ ค๋ฉด ์ค์ ์ผ๋ก ๊ฐ์ธ์";
+"onboarding_celebration_title" = "๋ณด๊ธฐ ์ข๋ค์!";
"onboarding_avatar_accessibility_label" = "ํ๋กํ ์ฌ์ง";
-"onboarding_avatar_message" = "์ธ์ ๋ ์ง ์์ ํ ์ ์์ต๋๋ค.";
+"onboarding_avatar_message" = "์ธ์ ๋ ์ง ์์ ํ ์ ์์ต๋๋ค";
"onboarding_avatar_title" = "ํ๋กํ ์ฌ์ง ์ถ๊ฐ";
"onboarding_display_name_max_length" = "ํ๋กํ ์ด๋ฆ์ 256์ ๋ฏธ๋ง์ด์ด์ผ ํฉ๋๋ค";
"onboarding_display_name_hint" = "๋์ค์ ์์ ํ ์ ์์ต๋๋ค";
@@ -1544,14 +1544,14 @@
"onboarding_congratulations_home_button" = "ํ ํ๋ฉด์ผ๋ก ์ด๋";
"onboarding_congratulations_personalize_button" = "ํ๋กํ ์ค์ ";
/* The placeholder string contains the user's matrix ID */
-"onboarding_congratulations_message" = "๊ณ์ %@์ด(๊ฐ) ์๋กญ๊ฒ ์์ฑ๋์์ต๋๋ค.";
+"onboarding_congratulations_message" = "๊ณ์ %@์ด(๊ฐ) ์๋กญ๊ฒ ์์ฑ๋์์ต๋๋ค";
"onboarding_congratulations_title" = "์ถํํฉ๋๋ค!";
"onboarding_use_case_existing_server_message" = "๊ธฐ์กด ์๋ฒ์ ๊ฐ์
ํ๋ ค๊ณ ํ์๋์?";
"onboarding_use_case_skip_button" = "์ง๋ฌธ ๋๊ธฐ๊ธฐ";
/* The placeholder string contains onboarding_use_case_skip_button as a tappable action */
"onboarding_use_case_not_sure_yet" = "์์ง ํ์คํ์ง ์์ผ์ ๊ฐ์? %@";
"onboarding_use_case_personal_messaging" = "์น๊ตฌ์ ๊ฐ์กฑ";
-"onboarding_use_case_message" = "์ฐ๊ฒฐํ ์ ์๋๋ก ๋์๋๋ฆด๊ฒ์.";
+"onboarding_use_case_message" = "์ฐ๊ฒฐํ ์ ์๋๋ก ๋์๋๋ฆด๊ฒ์";
"onboarding_use_case_title" = "๋๊ตฌ์ ๊ฐ์ฅ ๋ง์ด ๋ํํ๋์?";
"onboarding_splash_page_2_message" = "๋ฐ์ดํฐ ๋ฐ ๋ํ๊ฐ ์ ์ฅ๋ ์๋ฒ๋ฅผ ์ ํํ์ฌ ๋ด ์ ๋ณด์ ๋ํ ํต์ ๋ ฅ๊ณผ ๋
๋ฆฝ์ฑ์ ํ๋ณดํ์ธ์. Matrix๋ฅผ ํตํด ์ฐ๊ฒฐ๋ฉ๋๋ค.";
"onboarding_splash_page_1_title" = "๋ํ ๋ด์ฉ์ ์์ ํ์ธ์.";
@@ -1586,7 +1586,7 @@
// Start
"user_verification_start_verify_action" = "๊ฒ์ฆ ์์ํ๊ธฐ";
-"key_verification_user_title" = "๊ฒ์ฆ";
+"key_verification_user_title" = "์ธ์ฆ";
"key_verification_tile_request_outgoing_title" = "๊ฒ์ฆ ์ ์ก๋จ";
"widget_picker_manage_integrations" = "ํตํฉ ๊ด๋ฆฌํ๊ธฐโฆ";
"room_widget_permission_room_id_permission" = "๋ฐฉ ID";
@@ -1632,3 +1632,4 @@
"room_preview_decline_invitation_options" = "์ด๋๋ฅผ ๊ฑฐ๋ถํ๊ฑฐ๋ ์น๊ตฌ๋ฅผ ์ฐจ๋จํ์๊ฒ ์ต๋๊น?";
"threads_beta_information_link" = "๋ ์์๋ณด๊ธฐ";
"threads_beta_title" = "์ค๋ ๋";
+"room_access_settings_screen_upgrade_alert_message" = "%@์ ์๋ ์ฌ๋์ ๋๊ตฌ๋ ์ด ๋ฐฉ์ ์ฐพ์ ์ฐธ์ฌํ ์ ์์ต๋๋ค - ๋ชจ๋๋ฅผ ์๋์ผ๋ก ์ด๋ํ ํ์๊ฐ ์์ต๋๋ค. ๋น์ ์ ์ธ์ ๋ ์ง ๋ฐฉ ์ค์ ์์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.";
diff --git a/Riot/Assets/sk.lproj/Vector.strings b/Riot/Assets/sk.lproj/Vector.strings
index a18873e4d8..5ad14f43f2 100644
--- a/Riot/Assets/sk.lproj/Vector.strings
+++ b/Riot/Assets/sk.lproj/Vector.strings
@@ -2970,3 +2970,10 @@
"settings_manage_account_description" = "Spravujte svoj รบฤet na %@";
"manage_session_redirect" = "Budete presmerovanรญ na poskytovateฤพa overovania vรกลกho servera, aby ste dokonฤili odhlรกsenie.";
"manage_session_redirect_error" = "Funkcia aktuรกlne nie je dostupnรก. Obrรกลฅte sa na sprรกvcu vรกลกho domovskรฉho servera";
+"room_action_report_prompt_reason" = "Dรดvod nahlรกsenia tejto miestnosti";
+"wysiwyg_composer_action_maximise_action" = "Rozลกรญriลฅ editor";
+"room_action_report" = "Nahlรกsiลฅ miestnosลฅ";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Zmenลกiลฅ editor";
diff --git a/Riot/Assets/sq.lproj/Vector.strings b/Riot/Assets/sq.lproj/Vector.strings
index cd338d626b..b1158c152d 100644
--- a/Riot/Assets/sq.lproj/Vector.strings
+++ b/Riot/Assets/sq.lproj/Vector.strings
@@ -14,7 +14,7 @@
"leave" = "Dilni";
"remove" = "Hiqe";
"invite" = "Ftoje";
-"retry" = "Riprovo";
+"retry" = "Riprovoni";
"off" = "Off";
"cancel" = "Anuloje";
"save" = "Ruaje";
@@ -2757,3 +2757,10 @@
"settings_manage_account_title" = "Llogari";
"settings_manage_account_action" = "Administroni llogari";
"manage_session_redirect" = "Do tรซ ridrejtoheni te shรซrbimi i mirรซfilltรซsimit tรซ shรซrbyesit tuaj, pรซr tรซ plotรซsuar daljen nga llogaria.";
+"room_action_report" = "Raportojeni dhomรซn";
+"room_action_report_prompt_reason" = "Arsye pรซr raportimin e kรซsaj dhome";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Tkurre hartuesin";
+"wysiwyg_composer_action_maximise_action" = "Zgjeroje hartuesin";
diff --git a/Riot/Assets/sv.lproj/Vector.strings b/Riot/Assets/sv.lproj/Vector.strings
index 85662f0292..4ba032603a 100644
--- a/Riot/Assets/sv.lproj/Vector.strings
+++ b/Riot/Assets/sv.lproj/Vector.strings
@@ -2714,3 +2714,10 @@
"settings_manage_account_description" = "Hantera ditt konto pรฅ %@";
"manage_session_redirect" = "Du kommer att omdirigeras till din servers autentiseringsleverantรถr fรถr att fortsรคtta utloggning.";
"manage_session_redirect_error" = "Funktion fรถr nรคrvarande otillgรคnglig. Vรคnligen kontakta din hemserveradministratรถr";
+"room_action_report" = "Rapportera rum";
+"room_action_report_prompt_reason" = "Anledning att rapportera det hรคr rummet";
+"wysiwyg_composer_action_maximise_action" = "Expandera redigerare";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "Krymp redigerare";
diff --git a/Riot/Assets/uk.lproj/Vector.strings b/Riot/Assets/uk.lproj/Vector.strings
index 7c18d9f8b7..0119a6575d 100644
--- a/Riot/Assets/uk.lproj/Vector.strings
+++ b/Riot/Assets/uk.lproj/Vector.strings
@@ -2972,3 +2972,10 @@
"settings_manage_account_description" = "ะะตััะฒะฐัะธ ะพะฑะปัะบะพะฒะธะผ ะทะฐะฟะธัะพะผ ั %@";
"manage_session_redirect" = "ะะฐั ะฑัะดะต ะฟะตัะตะฝะฐะฟัะฐะฒะปะตะฝะพ ะดะพ ะฟะพััะฐัะฐะปัะฝะธะบะฐ ะฐะฒัะตะฝัะธััะบะฐััั ะฒะฐัะพะณะพ ัะตัะฒะตัะฐ ะดะปั ะทะฐะฒะตััะตะฝะฝั ะฒะธั
ะพะดั.";
"manage_session_redirect_error" = "ะคัะฝะบััะพะฝะฐะปัะฝัััั ะฝะฐัะฐะทั ะฝะตะดะพัััะฟะฝะฐ. ะะฒะตัะฝััััั ะดะพ ะฐะดะผัะฝััััะฐัะพัะฐ ะฒะฐัะพะณะพ ะดะพะผะฐัะฝัะพะณะพ ัะตัะฒะตัะฐ";
+"wysiwyg_composer_action_maximise_action" = "ะ ะพะทะณะพัะฝััะธ ัะตะดะฐะบัะพั";
+"room_action_report" = "ะะพัะบะฐัะถะธัะธัั ะฝะฐ ะบัะผะฝะฐัั";
+"room_action_report_prompt_reason" = "ะัะธัะธะฝะฐ ัะบะฐัะณะธ ะฝะฐ ัั ะบัะผะฝะฐัั";
+
+
+// MARK: - WYSIWYG Composer
+"wysiwyg_composer_action_minimise_action" = "ะะผะตะฝัะธัะธ ัะตะดะฐะบัะพั";
diff --git a/Riot/Modules/Pills/PillAttachmentView.swift b/Riot/Modules/Pills/PillAttachmentView.swift
index db90519667..fdd7701a11 100644
--- a/Riot/Modules/Pills/PillAttachmentView.swift
+++ b/Riot/Modules/Pills/PillAttachmentView.swift
@@ -17,7 +17,7 @@
import UIKit
/// Base view class for mention Pills.
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
@objcMembers
class PillAttachmentView: UIView {
// MARK: - Internal Structs
diff --git a/Riot/Modules/Pills/PillProvider.swift b/Riot/Modules/Pills/PillProvider.swift
index 1941f8af12..a98f97cba1 100644
--- a/Riot/Modules/Pills/PillProvider.swift
+++ b/Riot/Modules/Pills/PillProvider.swift
@@ -16,13 +16,13 @@
import Foundation
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
private enum PillAttachmentKind {
case attachment(PillTextAttachment)
case string(NSAttributedString)
}
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
struct PillProvider {
private let session: MXSession
private let eventFormatter: MXKEventFormatter
diff --git a/Riot/Modules/Pills/PillTextAttachment.swift b/Riot/Modules/Pills/PillTextAttachment.swift
index c6771fa4a9..e9d0df853e 100644
--- a/Riot/Modules/Pills/PillTextAttachment.swift
+++ b/Riot/Modules/Pills/PillTextAttachment.swift
@@ -18,7 +18,7 @@ import UIKit
import MatrixSDK
/// Text attachment for pills display.
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
@objcMembers
class PillTextAttachment: NSTextAttachment {
// MARK: - Properties
@@ -133,7 +133,7 @@ class PillTextAttachment: NSTextAttachment {
}
// MARK: - Private
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
private extension PillTextAttachment {
func updateBounds() {
diff --git a/Riot/Modules/Pills/PillTextAttachmentData.swift b/Riot/Modules/Pills/PillTextAttachmentData.swift
index a119c941b5..7356a95f71 100644
--- a/Riot/Modules/Pills/PillTextAttachmentData.swift
+++ b/Riot/Modules/Pills/PillTextAttachmentData.swift
@@ -17,7 +17,7 @@
import Foundation
import UIKit
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
struct PillAssetColor: Codable {
var red: CGFloat = 0.0, green: CGFloat = 0.0, blue: CGFloat = 0.0, alpha: CGFloat = 0.0
@@ -30,7 +30,7 @@ struct PillAssetColor: Codable {
}
}
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
struct PillAssetParameter: Codable {
var tintColor: PillAssetColor?
var backgroundColor: PillAssetColor?
@@ -38,7 +38,7 @@ struct PillAssetParameter: Codable {
var padding: CGFloat = 2.0
}
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
enum PillTextAttachmentItem: Codable {
case text(String)
case avatar(url: String?, string: String?, matrixId: String)
@@ -46,7 +46,7 @@ enum PillTextAttachmentItem: Codable {
case asset(named: String, parameters: PillAssetParameter)
}
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
extension PillTextAttachmentItem {
var string: String? {
switch self {
@@ -59,7 +59,7 @@ extension PillTextAttachmentItem {
}
/// Data associated with a Pill text attachment.
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
struct PillTextAttachmentData: Codable {
// MARK: - Properties
/// Pill type
diff --git a/Riot/Modules/Pills/PillType.swift b/Riot/Modules/Pills/PillType.swift
index 53b42e0e26..17aadbb1ed 100644
--- a/Riot/Modules/Pills/PillType.swift
+++ b/Riot/Modules/Pills/PillType.swift
@@ -16,14 +16,14 @@
import Foundation
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
enum PillType: Codable {
case user(userId: String) /// userId
case room(roomId: String) /// roomId
case message(roomId: String, eventId: String) // roomId, eventId
}
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
extension PillType {
private static var regexPermalinkTarget: NSRegularExpression? = {
let clientBaseUrl = BuildSettings.clientPermalinkBaseUrl ?? kMXMatrixDotToUrl
diff --git a/Riot/Modules/Pills/PillsFormatter.swift b/Riot/Modules/Pills/PillsFormatter.swift
index ecdfac5fed..2108c5fc37 100644
--- a/Riot/Modules/Pills/PillsFormatter.swift
+++ b/Riot/Modules/Pills/PillsFormatter.swift
@@ -18,7 +18,7 @@ import Foundation
import UIKit
/// Provides utilities funcs to handle Pills inside attributed strings.
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
@objcMembers
class PillsFormatter: NSObject {
// MARK: - Internal Properties
@@ -214,7 +214,7 @@ class PillsFormatter: NSObject {
}
// MARK: - Private Methods
-@available (iOS 15.0, *)
+@available(iOS 15.0, *)
extension PillsFormatter {
struct MarkdownLinkResult: Equatable {
let url: URL
diff --git a/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift b/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift
index b5fae41d81..90d2b55c06 100644
--- a/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift
+++ b/Riot/Modules/Room/VoiceMessages/VoiceMessagePlaybackView.swift
@@ -49,7 +49,7 @@ class VoiceMessagePlaybackView: UIView, NibLoadable, Themable {
@IBOutlet private var playButton: UIButton!
@IBOutlet private var elapsedTimeLabel: UILabel!
@IBOutlet private var waveformContainerView: UIView!
- @IBOutlet private (set)var stackViewTrailingContraint: NSLayoutConstraint!
+ @IBOutlet private(set) var stackViewTrailingContraint: NSLayoutConstraint!
private var longPressGestureRecognizer: UILongPressGestureRecognizer!
private var panGestureRecognizer: UIPanGestureRecognizer!
diff --git a/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m b/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m
index 6ec9484e66..3daadd924f 100644
--- a/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m
+++ b/Riot/Modules/Rooms/DirectoryPicker/Views/DirectoryServerTableViewCell.m
@@ -60,6 +60,16 @@ - (void)render:(id)cellData
{
iconURL = [NSString stringWithFormat:@"%@%@", kMXContentUriScheme, [iconURL substringFromIndex:range.location + range.length]];
}
+ // Check also if we are using the authenticated endpoint
+ else
+ {
+ mxMediaPrefix = [NSString stringWithFormat:@"/%@/download/", kMXAuthenticatedContentPrefixPath];
+ range = [iconURL rangeOfString:mxMediaPrefix];
+ if (range.location != NSNotFound)
+ {
+ iconURL = [NSString stringWithFormat:@"%@%@", kMXContentUriScheme, [iconURL substringFromIndex:range.location + range.length]];
+ }
+ }
[self.iconImageView setImageURI:iconURL
withType:nil
andImageOrientation:UIImageOrientationUp
diff --git a/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerViewModel.swift b/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerViewModel.swift
index 205d7c1744..25561e18a5 100644
--- a/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerViewModel.swift
+++ b/Riot/Modules/Settings/IdentityServer/SettingsIdentityServerViewModel.swift
@@ -92,7 +92,7 @@ final class SettingsIdentityServerViewModel: SettingsIdentityServerViewModelType
private func checkCanAddIdentityServer(newIdentityServer: String,
viewStateUpdate: @escaping (SettingsIdentityServerViewState) -> Void,
- canAddcompletion: @escaping(() -> Void)) {
+ canAddcompletion: @escaping (() -> Void)) {
viewStateUpdate(.loading)
self.checkIdentityServerValidity(identityServer: newIdentityServer) { (identityServerValidityResponse) in
@@ -228,7 +228,7 @@ final class SettingsIdentityServerViewModel: SettingsIdentityServerViewModelType
private func checkCanDisconnectIdentityServer(identityServer: String,
viewStateUpdate: @escaping (SettingsIdentityServerViewState) -> Void,
- canDisconnectCompletion: @escaping(() -> Void)) {
+ canDisconnectCompletion: @escaping (() -> Void)) {
self.update(viewState: .loading)
self.checkExistingDataOnIdentityServer { (response) in
diff --git a/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift b/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift
index 99cbddb916..df1862105a 100644
--- a/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift
+++ b/RiotSwiftUI/Modules/LocationSharing/StartLocationSharing/Coordinator/LocationSharingCoordinator.swift
@@ -166,6 +166,7 @@ final class LocationSharingCoordinator: Coordinator, Presentable {
// Check if user can send beacon info state event
private func canShareLiveLocation() -> Bool {
+<<<<<<< HEAD
// Tchap: allow live sharing geolocation based on room power levels
//
// guard let myUserId = parameters.roomDataSource.mxSession.myUserId else {
@@ -194,6 +195,16 @@ final class LocationSharingCoordinator: Coordinator, Presentable {
// Get live sharing power level from stable value, then unstable value and fallback on default value.
let liveSharingPowerLevel = (roomPowerLevels.events[kMXEventTypeStringBeaconInfo] ?? roomPowerLevels.events[kMXEventTypeStringBeaconInfoMSC3672]) as? Int ?? roomPowerLevels.stateDefault
+=======
+ guard let myUserId = parameters.roomDataSource.mxSession.myUserId,
+ let roomPowerLevels = parameters.roomDataSource.roomState.powerLevels,
+ let userPowerLevel = RoomPowerLevel(rawValue: roomPowerLevels.powerLevelOfUser(withUserID: myUserId)) else {
+ return false
+ }
+
+ // CHeck user power level in room against power level needed to post geolocation state event.
+ let liveSharingPowerLevel = roomPowerLevels.minimumPowerLevelForSendingStateEvent(.beaconInfo)
+>>>>>>> v1.11.18
return userPowerLevel.rawValue >= liveSharingPowerLevel
}