From 4d5aefa82c20e8641961475385ea7f5b0b6cce3c Mon Sep 17 00:00:00 2001
From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com>
Date: Wed, 27 Dec 2023 14:54:44 +0400
Subject: [PATCH 1/5] ui: don't share address at onboarding by default (#3603)
* ios: don't share address at onboarding by default
* android
---
.../Shared/Views/Onboarding/CreateSimpleXAddress.swift | 7 +------
.../common/views/onboarding/CreateSimpleXAddress.kt | 10 +---------
.../common/src/commonMain/resources/MR/ar/strings.xml | 2 --
.../src/commonMain/resources/MR/base/strings.xml | 2 +-
.../common/src/commonMain/resources/MR/bg/strings.xml | 2 --
.../common/src/commonMain/resources/MR/cs/strings.xml | 2 --
.../common/src/commonMain/resources/MR/de/strings.xml | 2 --
.../common/src/commonMain/resources/MR/es/strings.xml | 2 --
.../common/src/commonMain/resources/MR/fi/strings.xml | 2 --
.../common/src/commonMain/resources/MR/fr/strings.xml | 2 --
.../common/src/commonMain/resources/MR/it/strings.xml | 2 --
.../common/src/commonMain/resources/MR/iw/strings.xml | 2 --
.../common/src/commonMain/resources/MR/ja/strings.xml | 2 --
.../common/src/commonMain/resources/MR/nl/strings.xml | 2 --
.../common/src/commonMain/resources/MR/pl/strings.xml | 2 --
.../src/commonMain/resources/MR/pt-rBR/strings.xml | 2 --
.../common/src/commonMain/resources/MR/pt/strings.xml | 2 --
.../common/src/commonMain/resources/MR/ru/strings.xml | 3 +--
.../common/src/commonMain/resources/MR/th/strings.xml | 2 --
.../common/src/commonMain/resources/MR/tr/strings.xml | 2 --
.../common/src/commonMain/resources/MR/uk/strings.xml | 2 --
.../src/commonMain/resources/MR/zh-rCN/strings.xml | 2 --
.../src/commonMain/resources/MR/zh-rTW/strings.xml | 2 --
23 files changed, 4 insertions(+), 56 deletions(-)
diff --git a/apps/ios/Shared/Views/Onboarding/CreateSimpleXAddress.swift b/apps/ios/Shared/Views/Onboarding/CreateSimpleXAddress.swift
index 935f09cc1b..befb34b318 100644
--- a/apps/ios/Shared/Views/Onboarding/CreateSimpleXAddress.swift
+++ b/apps/ios/Shared/Views/Onboarding/CreateSimpleXAddress.swift
@@ -81,11 +81,6 @@ struct CreateSimpleXAddress: View {
DispatchQueue.main.async {
m.userAddress = UserContactLink(connReqContact: connReqContact)
}
- if let u = try await apiSetProfileAddress(on: true) {
- DispatchQueue.main.async {
- m.updateUser(u)
- }
- }
await MainActor.run { progressIndicator = false }
} catch let error {
logger.error("CreateSimpleXAddress create address: \(responseError(error))")
@@ -100,7 +95,7 @@ struct CreateSimpleXAddress: View {
} label: {
Text("Create SimpleX address").font(.title)
}
- Text("Your contacts in SimpleX will see it.\nYou can change it in Settings.")
+ Text("You can make it visible to your SimpleX contacts via Settings.")
.multilineTextAlignment(.center)
.font(.footnote)
.padding(.horizontal, 32)
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/CreateSimpleXAddress.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/CreateSimpleXAddress.kt
index 092fb8bf63..8534198028 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/CreateSimpleXAddress.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/onboarding/CreateSimpleXAddress.kt
@@ -48,14 +48,6 @@ fun CreateSimpleXAddress(m: ChatModel, rhId: Long?) {
val connReqContact = m.controller.apiCreateUserAddress(rhId)
if (connReqContact != null) {
m.userAddress.value = UserContactLinkRec(connReqContact)
- try {
- val u = m.controller.apiSetProfileAddress(rhId, true)
- if (u != null) {
- m.updateUser(u)
- }
- } catch (e: Exception) {
- Log.e(TAG, "CreateSimpleXAddress apiSetProfileAddress: ${e.stackTraceToString()}")
- }
progressIndicator = false
}
}
@@ -100,7 +92,7 @@ private fun CreateSimpleXAddressLayout(
ContinueButton(nextStep)
} else {
CreateAddressButton(createAddress)
- TextBelowButton(stringResource(MR.strings.your_contacts_will_see_it))
+ TextBelowButton(stringResource(MR.strings.you_can_make_address_visible_via_settings))
Spacer(Modifier.weight(1f))
SkipButton(nextStep)
}
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml
index fd5a827ba2..d16892096c 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/ar/strings.xml
@@ -1275,8 +1275,6 @@
فيديو
يمكنك مشاركة عنوانك كرابط أو رمز QR - يمكن لأي شخص الاتصال بك.
يمكنك إنشاؤه لاحقًا
- سوف تراها جهات اتصالك في whatsapp.
-\nيمكنك تغييره في الإعدادات.
أنت تحاول دعوة جهة اتصال قمت بمشاركة ملف تعريف متخفي معها إلى المجموعة التي تستخدم فيها ملفك الشخصي الرئيسي
إلغاء الكتم
إلغاء الكتم
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml
index 7ee86c2f53..4ad40d7a62 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/base/strings.xml
@@ -693,7 +693,7 @@
Continue
Don\'t create address
You can create it later
- Your contacts in SimpleX will see it.\nYou can change it in Settings.
+ You can make it visible to your SimpleX contacts via Settings.
Profile name:
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml
index 3bc721174a..c999d9b952 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/bg/strings.xml
@@ -1236,8 +1236,6 @@
Използване на директна интернет връзка\?
Използвай .onion хостове
Когато са налични
- Вашите контакти в SimpleX ще го видят.
-\nМожете да го промените в Настройки.
Вашият профил, контакти и доставени съобщения се съхраняват на вашето устройство.
Можете да използвате markdown за форматиране на съобщенията:
да получавате съобщенията, вашите контакти – сървърите, които използвате, за да им изпращате съобщения.]]>
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml
index e733201a74..75d09ecfb2 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/cs/strings.xml
@@ -1247,8 +1247,6 @@
Reakce na zprávy může přidávat pouze váš kontakt.
Vaše kontakty zůstanou připojeny.
Tuto adresu můžete sdílet se svými kontakty, aby se mohli připojit k %s.
- Vaše kontakty v SimpleX ji uvidí.
-\nMůžete ji změnit v Nastavení.
Svou adresu můžete sdílet jako odkaz nebo QR kód - kdokoli se k vám může připojit.
Pokud později adresu odstraníte, o kontakty nepřijdete.
Přístupový kód aplikace je nahrazen sebedestrukčním přístupovým heslem.
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml
index 1f8f75c126..a36eca6663 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/de/strings.xml
@@ -1256,8 +1256,6 @@
Stellen Sie sicher, dass die Datei die korrekte YAML-Syntax hat. Exportieren Sie das Design, um ein Beispiel für die Dateistruktur des Designs zu erhalten.
Offene Chat-Profile
Sie können Ihre Adresse als Link oder QR-Code teilen – jede Person kann sich mit Ihnen verbinden.
- Ihre Kontakte in SimpleX werden es sehen.
-\nSie können es in den Einstellungen ändern.
Werden die App-Daten komplett gelöscht.
Es wurde ein leeres Chat-Profil mit dem eingegebenen Namen erstellt und die App öffnet wie gewohnt.
Wenn Sie Ihren Selbstzerstörungs-Zugangscode während des Öffnens der App eingeben:
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml
index 381d28afa6..246ed36859 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/es/strings.xml
@@ -1174,8 +1174,6 @@
Compartir con contactos
Título
Puedes compartir esta dirección con tus contactos para que puedan conectar con %s.
- Tus contactos en SimpleX lo verán.
-\nPuedes cambiarlo en Configuración.
Tus contactos permanecerán conectados.
Si más tarde decides eliminar tu dirección los contactos no se perderán.
Todos los datos de la aplicación se eliminarán.
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml
index 5410778c44..be4072c4bf 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/fi/strings.xml
@@ -1140,8 +1140,6 @@
TEEMAN VÄRIT
Päivitä kuljetuksen eristystila\?
Voit luoda sen myöhemmin
- Kontaktisi SimpleX:ssä näkevät sen.
-\nVoit muuttaa sitä Asetuksista.
Voit paljastaa piilotetun profiilisi kirjoittamalla koko salasanan Keskusteluprofiilit-sivun hakukenttään.
Emme tallenna mitään kontaktejasi tai viestejäsi (kun ne on toimitettu) palvelimille.
Yksityisyyden suojaamiseksi kaikkien muiden alustojen käyttämien käyttäjätunnusten sijaan SimpleX käyttää viestijonojen tunnisteita, jotka ovat kaikille kontakteille erillisiä.
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml
index efe9b1003f..849daaeefe 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/fr/strings.xml
@@ -1175,8 +1175,6 @@
Guide de l\'utilisateur.]]>
Sauvegarder les paramètres d\'acceptation automatique
Pour se connecter, votre contact peut scanner le code QR ou utiliser le lien dans l\'application.
- Vos contacts dans SimpleX la verront.
-\nVous pouvez modifier ce choix dans les Paramètres.
Le code d\'accès de l\'application est remplacé par un code d\'autodestruction.
Activer l\'autodestruction
Un profil de chat vierge portant le nom fourni est créé et l\'application s\'ouvre normalement.
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml
index 9ed305da76..79c1897153 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/it/strings.xml
@@ -1140,8 +1140,6 @@
Invita amici
Salva le impostazioni di accettazione automatica
Puoi crearlo più tardi
- I tuoi contatti in SimpleX lo vedranno.
-\nPuoi modificarlo nelle impostazioni.
Condividi indirizzo
Inserisci il messaggio di benvenuto…
Anteprima
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml
index 6599a30cc0..58bb6b0a0a 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/iw/strings.xml
@@ -1222,8 +1222,6 @@
\nלא ניתן לבטל פעולה זו – הפרופיל, אנשי הקשר, ההודעות והקבצים שלך ייאבדו באופן בלתי הפיך.
הפרופיל הנוכחי שלך
אנשי הקשר שלך יישארו מחוברים.
- אנשי הקשר שלך ב־SimpleX ייראו זאת.
-\nניתן לשנות זאת בהגדרות.
שרתי ה־ICE שלך
אתם תהיו מחוברים כאשר בקשת החיבור תאושר, אנא חכו או בידקו מאוחר יותר!
הפרופיל שלך יישלח לאיש הקשר ממנו קיבלת קישור זה.
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml
index fb03dd1f28..bebf716e0d 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/ja/strings.xml
@@ -1096,8 +1096,6 @@
\n何らかのバグが原因で、または接続に問題があった場合に発生する可能性があります。
ユーザーに感謝します – Weblate 経由で貢献してください!
接続が要求されたら、それを受け入れるか拒否するかを選択できます。
- SimpleX の連絡先に表示されます。
-\n設定で変更できます。
ビデオが送信されました
管理者は次のことができます。
\n- メンバーのメッセージを削除します。
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml
index 6cef9571da..5f45304aac 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/nl/strings.xml
@@ -1173,8 +1173,6 @@
Gebruikershandleiding.]]>
THEMA KLEUREN
U kunt uw adres delen als een link of QR-code - iedereen kan verbinding met u maken.
- Uw contacten in SimpleX kunnen het zien.
-\nU kunt dit wijzigen in Instellingen.
Alle app-gegevens worden verwijderd.
Er wordt een leeg chatprofiel met de opgegeven naam gemaakt en de app wordt zoals gewoonlijk geopend.
Zelfvernietigings wachtwoord inschakelen
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml
index 8f48724788..e811e47ea1 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/pl/strings.xml
@@ -1168,8 +1168,6 @@
Zapisz ustawienia automatycznej akceptacji
Udostępnij kontaktom
Możesz go utworzyć później
- Twoje kontakty w SimpleX będą to widzieć.
-\nMożesz to zmienić w Ustawieniach.
Adres
SimpleX
Drugorzędny
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml
index 0cb5b872b0..622ad8b2d6 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/pt-rBR/strings.xml
@@ -1170,8 +1170,6 @@
Abrindo banco de dados…
Abrir perfis de bate-papo
Compartilhar endereço com os contatos\?
- Seus contatos no SimpleX o verão.
-\nVocê pode alterá-la nas Configurações.
Seus contatos continuarão conectados.
Todos os dados do aplicativo serão excluídos.
A senha do aplicativo é substituída por uma senha de auto-destruição.
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/pt/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/pt/strings.xml
index f083705545..072eb97ebf 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/pt/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/pt/strings.xml
@@ -584,8 +584,6 @@
Muito provavelmente este contato eliminou a conexão consigo.
Este texto está disponível nas definições
Atualizar definições de servidores .onion\?
- Os seus contatos no SimpleX irão vê-lo.
-\nVocê pode alterá-lo nas Definições.
Pode ser alterado mais tarde através das definições.
AJUDA
SUPORTE SIMPLEX CHAT
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml
index f26f77c33b..9e8bd0af8c 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/ru/strings.xml
@@ -1280,8 +1280,7 @@
Продолжить
Не создавать адрес
Вы можете создать его позже
- Ваши контакты в SimpleX получат этот адрес.
-\nВы можете изменить это в Настройках.
+ Вы можете сделать его видимым для ваших контактов в SimpleX через Настройки.
Адрес
Введите приветственное сообщение…
Просмотр
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml
index b31b2a3a24..91330717c4 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/th/strings.xml
@@ -1159,8 +1159,6 @@
สีของธีม
ผู้ติดต่อของคุณจะยังคงเชื่อมต่ออยู่
คุณสามารถสร้างได้ในภายหลัง
- ผู้ติดต่อของคุณใน SimpleX จะเห็น
-\nคุณสามารถเปลี่ยนได้ในการตั้งค่า
คุณเป็นผู้ควบคุมการแชทของคุณ!
โปรไฟล์นี้แชร์กับผู้ติดต่อของคุณเท่านั้น
เราไม่เก็บผู้ติดต่อหรือข้อความของคุณ (เมื่อส่งแล้ว) ไว้บนเซิร์ฟเวอร์
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml
index d7df9655d3..ff9febd088 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/tr/strings.xml
@@ -875,8 +875,6 @@
Biriyle gizli bir profil paylaştığınızda, bu profil sizi davet ettikleri gruplar için kullanılacaktır.
İsteğe bağlı karşılama mesajı ile.
Kişileriniz bağlı kalacaktır.
- SimpleX\'teki kişileriniz bunu görecektir.
-\nBunu Ayarlardan değiştirebilirsiniz.
Daha sonra oluşturabilirsiniz
Mesajları biçimlendirmek için markdown kullanabilirsiniz:
Mesaj veri tabanınız
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml
index dd8d9ac857..d9d49aef7d 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/uk/strings.xml
@@ -651,8 +651,6 @@
Ідентифікатори бази даних та опція ізоляції транспорту.
Сповіщення перестануть працювати, поки ви не перезапустите додаток
Ви можете створити його пізніше
- Ваші контакти в SimpleX побачать це.
-\nВи можете змінити його в Налаштуваннях.
Ваш поточний профіль
Видалити зображення
Зберегти налаштування\?
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml
index 31be2f187c..c19a3960f7 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rCN/strings.xml
@@ -1211,8 +1211,6 @@
你好!
\n用 SimpleX Chat 与我联系:%s
让我们一起在 SimpleX Chat 里聊天
- 您的 SimpleX 的联系人会看到它。
-\n您可以在设置中更改它。
您可以以后创建它
分享地址
您可以与您的联系人分享该地址,让他们与 %s 联系。
diff --git a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml
index 9caf45dcc1..7ab98ca323 100644
--- a/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml
+++ b/apps/multiplatform/common/src/commonMain/resources/MR/zh-rTW/strings.xml
@@ -1178,8 +1178,6 @@
已刪除所有的應用程式數據。
設定密碼
你可以與聯絡人分享此地址,讓他們使用 %s 進行連接。
- 在 SimpleX ,你的聯絡人會看到此。
-\n你可以在設定中修改。
你可以在稍後建立它
為了連接,你的聯絡人可以掃描二維碼或使用此應用程式的連結。
如果你不能面對面接觸此聯絡人,可於視訊通話中出示你的二維碼,或者分享連結。
From dded56d8b8a9718ffd4826bb80e3a7861f638593 Mon Sep 17 00:00:00 2001
From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com>
Date: Wed, 27 Dec 2023 18:23:46 +0700
Subject: [PATCH 2/5] ios: converting video to mp4 and making quality lower
(#3597)
* ios: converting video to mp4 and making quality lower
Lower quality allows to play that videos on Android as well
* update export settings
---------
Co-authored-by: Avently
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
---
.../Chat/ComposeMessage/ComposeView.swift | 13 +++++++--
.../Shared/Views/Helpers/ImagePicker.swift | 28 ++++++++++++-------
.../ios/Shared/Views/Helpers/VideoUtils.swift | 26 +++++++++++++++++
apps/ios/SimpleX.xcodeproj/project.pbxproj | 4 +++
4 files changed, 59 insertions(+), 12 deletions(-)
create mode 100644 apps/ios/Shared/Views/Helpers/VideoUtils.swift
diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift
index 4001edffb3..d089c7d6fe 100644
--- a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift
+++ b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift
@@ -104,7 +104,7 @@ struct ComposeState {
var sendEnabled: Bool {
switch preview {
- case .mediaPreviews: return true
+ case let .mediaPreviews(media): return !media.isEmpty
case .voicePreview: return voiceMessageRecordingState == .finished
case .filePreview: return true
default: return !message.isEmpty || liveMessage != nil
@@ -384,7 +384,7 @@ struct ComposeView: View {
}
}
.sheet(isPresented: $showMediaPicker) {
- LibraryMediaListPicker(addMedia: addMediaContent, selectionLimit: 10) { itemsSelected in
+ LibraryMediaListPicker(addMedia: addMediaContent, selectionLimit: 10, finishedPreprocessing: finishedPreprocessingMediaContent) { itemsSelected in
await MainActor.run {
showMediaPicker = false
if itemsSelected {
@@ -503,6 +503,15 @@ struct ComposeView: View {
}
}
+ // When error occurs while converting video, remove media preview
+ private func finishedPreprocessingMediaContent() {
+ if case let .mediaPreviews(media) = composeState.preview, media.isEmpty {
+ DispatchQueue.main.async {
+ composeState = composeState.copy(preview: .noPreview)
+ }
+ }
+ }
+
private var maxFileSize: Int64 {
getMaxFileSize(.xftp)
}
diff --git a/apps/ios/Shared/Views/Helpers/ImagePicker.swift b/apps/ios/Shared/Views/Helpers/ImagePicker.swift
index efd42ee4bd..fe8d5bbdd4 100644
--- a/apps/ios/Shared/Views/Helpers/ImagePicker.swift
+++ b/apps/ios/Shared/Views/Helpers/ImagePicker.swift
@@ -33,6 +33,7 @@ struct LibraryMediaListPicker: UIViewControllerRepresentable {
typealias UIViewControllerType = PHPickerViewController
var addMedia: (_ content: UploadContent) async -> Void
var selectionLimit: Int
+ var finishedPreprocessing: () -> Void = {}
var didFinishPicking: (_ didSelectItems: Bool) async -> Void
class Coordinator: PHPickerViewControllerDelegate {
@@ -50,6 +51,7 @@ struct LibraryMediaListPicker: UIViewControllerRepresentable {
for r in results {
await loadItem(r.itemProvider)
}
+ parent.finishedPreprocessing()
}
}
@@ -103,21 +105,27 @@ struct LibraryMediaListPicker: UIViewControllerRepresentable {
await withCheckedContinuation { cont in
loadFileURL(p, type: UTType.movie) { url in
if let url = url {
- let tempUrl = URL(fileURLWithPath: generateNewFileName(getTempFilesDirectory().path + "/" + "video", url.pathExtension, fullPath: true))
+ let tempUrl = URL(fileURLWithPath: generateNewFileName(getTempFilesDirectory().path + "/" + "rawvideo", url.pathExtension, fullPath: true))
+ let convertedVideoUrl = URL(fileURLWithPath: generateNewFileName(getTempFilesDirectory().path + "/" + "video", "mp4", fullPath: true))
do {
-// logger.debug("LibraryMediaListPicker copyItem \(url) to \(tempUrl)")
+// logger.debug("LibraryMediaListPicker copyItem \(url) to \(tempUrl)")
try FileManager.default.copyItem(at: url, to: tempUrl)
- DispatchQueue.main.async {
- _ = ChatModel.shared.filesToDelete.insert(tempUrl)
- }
- let video = UploadContent.loadVideoFromURL(url: tempUrl)
- cont.resume(returning: video)
- return
} catch let err {
logger.error("LibraryMediaListPicker copyItem error: \(err.localizedDescription)")
+ return cont.resume(returning: nil)
+ }
+ Task {
+ let success = await makeVideoQualityLower(tempUrl, outputUrl: convertedVideoUrl)
+ try? FileManager.default.removeItem(at: tempUrl)
+ if success {
+ _ = ChatModel.shared.filesToDelete.insert(convertedVideoUrl)
+ let video = UploadContent.loadVideoFromURL(url: convertedVideoUrl)
+ return cont.resume(returning: video)
+ }
+ try? FileManager.default.removeItem(at: convertedVideoUrl)
+ cont.resume(returning: nil)
}
}
- cont.resume(returning: nil)
}
}
}
@@ -143,7 +151,7 @@ struct LibraryMediaListPicker: UIViewControllerRepresentable {
config.filter = .any(of: [.images, .videos])
config.selectionLimit = selectionLimit
config.selection = .ordered
- //config.preferredAssetRepresentationMode = .current
+ config.preferredAssetRepresentationMode = .current
let controller = PHPickerViewController(configuration: config)
controller.delegate = context.coordinator
return controller
diff --git a/apps/ios/Shared/Views/Helpers/VideoUtils.swift b/apps/ios/Shared/Views/Helpers/VideoUtils.swift
new file mode 100644
index 0000000000..e13893de6e
--- /dev/null
+++ b/apps/ios/Shared/Views/Helpers/VideoUtils.swift
@@ -0,0 +1,26 @@
+//
+// VideoUtils.swift
+// SimpleX (iOS)
+//
+// Created by Avently on 25.12.2023.
+// Copyright © 2023 SimpleX Chat. All rights reserved.
+//
+
+import AVFoundation
+import Foundation
+import SimpleXChat
+
+func makeVideoQualityLower(_ input: URL, outputUrl: URL) async -> Bool {
+ let asset: AVURLAsset = AVURLAsset(url: input, options: nil)
+ if let s = AVAssetExportSession(asset: asset, presetName: AVAssetExportPreset640x480) {
+ s.outputURL = outputUrl
+ s.outputFileType = .mp4
+ s.metadataItemFilter = AVMetadataItemFilter.forSharing()
+ await s.export()
+ if let err = s.error {
+ logger.error("Failed to export video with error: \(err)")
+ }
+ return s.status == .completed
+ }
+ return false
+}
diff --git a/apps/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj
index 1a512c6f3f..1e54bf3531 100644
--- a/apps/ios/SimpleX.xcodeproj/project.pbxproj
+++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj
@@ -188,6 +188,7 @@
64D0C2C629FAC1EC00B38D5F /* AddContactLearnMore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64D0C2C529FAC1EC00B38D5F /* AddContactLearnMore.swift */; };
64E972072881BB22008DBC02 /* CIGroupInvitationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64E972062881BB22008DBC02 /* CIGroupInvitationView.swift */; };
64F1CC3B28B39D8600CD1FB1 /* IncognitoHelp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */; };
+ 8C05382E2B39887E006436DC /* VideoUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8C05382D2B39887E006436DC /* VideoUtils.swift */; };
D7197A1829AE89660055C05A /* WebRTC in Frameworks */ = {isa = PBXBuildFile; productRef = D7197A1729AE89660055C05A /* WebRTC */; };
D72A9088294BD7A70047C86D /* NativeTextEditor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D72A9087294BD7A70047C86D /* NativeTextEditor.swift */; };
D741547829AF89AF0022400A /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D741547729AF89AF0022400A /* StoreKit.framework */; };
@@ -476,6 +477,7 @@
64DAE1502809D9F5000DA960 /* FileUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileUtils.swift; sourceTree = ""; };
64E972062881BB22008DBC02 /* CIGroupInvitationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CIGroupInvitationView.swift; sourceTree = ""; };
64F1CC3A28B39D8600CD1FB1 /* IncognitoHelp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IncognitoHelp.swift; sourceTree = ""; };
+ 8C05382D2B39887E006436DC /* VideoUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VideoUtils.swift; sourceTree = ""; };
D72A9087294BD7A70047C86D /* NativeTextEditor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NativeTextEditor.swift; sourceTree = ""; };
D741547729AF89AF0022400A /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.1.sdk/System/Library/Frameworks/StoreKit.framework; sourceTree = DEVELOPER_DIR; };
D741547929AF90B00022400A /* PushKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PushKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS16.1.sdk/System/Library/Frameworks/PushKit.framework; sourceTree = DEVELOPER_DIR; };
@@ -642,6 +644,7 @@
64466DCB29FFE3E800E3D48D /* MailView.swift */,
64C3B0202A0D359700E19930 /* CustomTimePicker.swift */,
5CEBD7452A5C0A8F00665FE2 /* KeyboardPadding.swift */,
+ 8C05382D2B39887E006436DC /* VideoUtils.swift */,
);
path = Helpers;
sourceTree = "";
@@ -1212,6 +1215,7 @@
5CCD403727A5F9A200368C90 /* ScanToConnectView.swift in Sources */,
5CFA59D12864782E00863A68 /* ChatArchiveView.swift in Sources */,
649BCDA22805D6EF00C3A862 /* CIImageView.swift in Sources */,
+ 8C05382E2B39887E006436DC /* VideoUtils.swift in Sources */,
5CADE79C292131E900072E13 /* ContactPreferencesView.swift in Sources */,
5CB346E52868AA7F001FD2EF /* SuspendChat.swift in Sources */,
5C9C2DA52894777E00CC63B1 /* GroupProfileView.swift in Sources */,
From ed3d234826cb585c51751e2759bc1841eed3b33b Mon Sep 17 00:00:00 2001
From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com>
Date: Wed, 27 Dec 2023 18:27:34 +0700
Subject: [PATCH 3/5] android, desktop: limit text length in terminal view
(#3604)
---
.../kotlin/chat/simplex/common/views/TerminalView.kt | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/TerminalView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/TerminalView.kt
index 59f62f9c92..9887bfd243 100644
--- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/TerminalView.kt
+++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/TerminalView.kt
@@ -152,7 +152,12 @@ fun TerminalLog(terminalItems: List) {
.clickable {
ModalManager.start.showModal(endButtons = { ShareButton { clipboard.shareText(item.details) } }) {
SelectionContainer(modifier = Modifier.verticalScroll(rememberScrollState())) {
- Text(item.details, modifier = Modifier.padding(horizontal = DEFAULT_PADDING).padding(bottom = DEFAULT_PADDING))
+ val details = item.details
+ .let {
+ if (it.length < 100_000) it
+ else it.substring(0, 100_000)
+ }
+ Text(details, modifier = Modifier.heightIn(max = 50_000.dp).padding(horizontal = DEFAULT_PADDING).padding(bottom = DEFAULT_PADDING))
}
}
}.padding(horizontal = 8.dp, vertical = 4.dp)
From 58906e1a60460d0d451d7652bc472986eae64f55 Mon Sep 17 00:00:00 2001
From: Stanislav Dmitrenko <7953703+avently@users.noreply.github.com>
Date: Wed, 27 Dec 2023 20:56:48 +0700
Subject: [PATCH 4/5] desktop (windows): fixed handling non-utf8 Windows
profile names (#3605)
---
src/Simplex/Chat/Mobile.hs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/Simplex/Chat/Mobile.hs b/src/Simplex/Chat/Mobile.hs
index d7f2e5a43c..3671844d7f 100644
--- a/src/Simplex/Chat/Mobile.hs
+++ b/src/Simplex/Chat/Mobile.hs
@@ -118,7 +118,7 @@ cChatMigrateInitKey fp key keepKey conf background ctrl = do
setFileSystemEncoding utf8
setForeignEncoding utf8
- dbPath <- peekCAString fp
+ dbPath <- peekCString fp
dbKey <- BA.convert <$> B.packCString key
confirm <- peekCAString conf
r <-
From bbde6d81ee3214c76af9daa56ad66f69d67f42c2 Mon Sep 17 00:00:00 2001
From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com>
Date: Wed, 27 Dec 2023 13:55:41 +0000
Subject: [PATCH 5/5] core: update simplexmq
---
cabal.project | 2 +-
scripts/nix/sha256map.nix | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/cabal.project b/cabal.project
index 78f21ccaff..b891b954d1 100644
--- a/cabal.project
+++ b/cabal.project
@@ -14,7 +14,7 @@ constraints: zip +disable-bzip2 +disable-zstd
source-repository-package
type: git
location: https://github.com/simplex-chat/simplexmq.git
- tag: 577e3cf14d3c1e6cb6a45b987ca934ed793dac26
+ tag: 22e193237227ed4d243ec9cac8d8249f757d9601
source-repository-package
type: git
diff --git a/scripts/nix/sha256map.nix b/scripts/nix/sha256map.nix
index c0028e8f1c..d5e66c0328 100644
--- a/scripts/nix/sha256map.nix
+++ b/scripts/nix/sha256map.nix
@@ -1,5 +1,5 @@
{
- "https://github.com/simplex-chat/simplexmq.git"."577e3cf14d3c1e6cb6a45b987ca934ed793dac26" = "1dgx4qb2ha3mp1jj5h7ff3pd4bzyjxm1jh36pnz0psp1z23m3s19";
+ "https://github.com/simplex-chat/simplexmq.git"."22e193237227ed4d243ec9cac8d8249f757d9601" = "01h16jc0g5pqdq56k1n0afl2248ln2d11l662ikl6hdn3p3zab0d";
"https://github.com/simplex-chat/hs-socks.git"."a30cc7a79a08d8108316094f8f2f82a0c5e1ac51" = "0yasvnr7g91k76mjkamvzab2kvlb1g5pspjyjn2fr6v83swjhj38";
"https://github.com/simplex-chat/direct-sqlcipher.git"."f814ee68b16a9447fbb467ccc8f29bdd3546bfd9" = "1ql13f4kfwkbaq7nygkxgw84213i0zm7c1a8hwvramayxl38dq5d";
"https://github.com/simplex-chat/sqlcipher-simple.git"."a46bd361a19376c5211f1058908fc0ae6bf42446" = "1z0r78d8f0812kxbgsm735qf6xx8lvaz27k1a0b4a2m0sshpd5gl";