diff --git a/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift b/apps/ios/Shared/Views/Chat/ComposeMessage/ComposeView.swift index 4001edffb..d089c7d6f 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 efd42ee4b..fe8d5bbdd 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 000000000..e13893de6 --- /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/Shared/Views/Onboarding/CreateSimpleXAddress.swift b/apps/ios/Shared/Views/Onboarding/CreateSimpleXAddress.swift index 935f09cc1..befb34b31 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/ios/SimpleX.xcodeproj/project.pbxproj b/apps/ios/SimpleX.xcodeproj/project.pbxproj index d8ae6948d..d29cfac13 100644 --- a/apps/ios/SimpleX.xcodeproj/project.pbxproj +++ b/apps/ios/SimpleX.xcodeproj/project.pbxproj @@ -193,6 +193,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 */; }; @@ -486,6 +487,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; }; @@ -652,6 +654,7 @@ 64466DCB29FFE3E800E3D48D /* MailView.swift */, 64C3B0202A0D359700E19930 /* CustomTimePicker.swift */, 5CEBD7452A5C0A8F00665FE2 /* KeyboardPadding.swift */, + 8C05382D2B39887E006436DC /* VideoUtils.swift */, ); path = Helpers; sourceTree = ""; @@ -1222,6 +1225,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 */, 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 59f62f9c9..9887bfd24 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) 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 092fb8bf6..853419802 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 fd5a827ba..d16892096 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 7ee86c2f5..4ad40d7a6 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 3bc721174..c999d9b95 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 e733201a7..75d09ecfb 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 1f8f75c12..a36eca666 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 381d28afa..246ed3685 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 5410778c4..be4072c4b 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 efe9b1003..849daaeef 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 9ed305da7..79c189715 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 6599a30cc..58bb6b0a0 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 fb03dd1f2..bebf716e0 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 6cef9571d..5f45304aa 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 8f4872478..e811e47ea 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 0cb5b872b..622ad8b2d 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 f08370554..072eb97eb 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 f26f77c33..9e8bd0af8 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 b31b2a3a2..91330717c 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 d7df9655d..ff9febd08 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 dd8d9ac85..d9d49aef7 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 31be2f187..c19a3960f 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 9caf45dcc..7ab98ca32 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你可以在設定中修改。 你可以在稍後建立它 為了連接,你的聯絡人可以掃描二維碼或使用此應用程式的連結。 如果你不能面對面接觸此聯絡人,可於視訊通話中出示你的二維碼,或者分享連結。 diff --git a/cabal.project b/cabal.project index 3dbf1c251..4f0a9a156 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 c0028e8f1..d5e66c032 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"; diff --git a/src/Simplex/Chat/Mobile.hs b/src/Simplex/Chat/Mobile.hs index d7f2e5a43..3671844d7 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 <-