diff --git a/CHANGELOG-upstream.md b/CHANGELOG-upstream.md
index ac01a7a04..4c9bdc394 100644
--- a/CHANGELOG-upstream.md
+++ b/CHANGELOG-upstream.md
@@ -10,10 +10,15 @@
* Improve hint for app drafts
* Add Text-To-Speech (TTS) support for in-chat apps
* New icon for the QR icon
+* Start rebuilding the experimental broadcast lists
+ into proper channels - note that this is work-in-progress
* Improved separation between unencryted chats/contacts and encrypted ones, avoiding mixing of encrypted and unencrypted messages in the same chat
* Removed padlocks, as encrypted is the default "normal" state. Instead, unencrypted email is marked with a small email / letter (✉️) icon
* Classic email chats/threads get a big email / letter icon making it easy to recognize
-* Update to core 2.0.0
+* After some time, add a device message asking to donate. Can't wait? Donate today at https://delta.chat/donate
+* Allow to sort profiles up in the profile switcher
+* Add new option to create unencrypted email thread
+* Update to core 2.2.0
## v1.58.4
2025-05
diff --git a/build.gradle b/build.gradle
index 64a28b869..944ee1c33 100644
--- a/build.gradle
+++ b/build.gradle
@@ -33,7 +33,7 @@ android {
useLibrary 'org.apache.http.legacy'
defaultConfig {
- versionCode 30000723
+ versionCode 30000724
versionName "1.58.5"
applicationId "chat.delta.lite"
diff --git a/jni/dc_wrapper.c b/jni/dc_wrapper.c
index cc67ba226..9590f3aca 100644
--- a/jni/dc_wrapper.c
+++ b/jni/dc_wrapper.c
@@ -1272,11 +1272,6 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isProtected(JNIEnv *env, jobje
return dc_chat_is_protected(get_dc_chat(env, obj))!=0;
}
-JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isProtectionBroken(JNIEnv *env, jobject obj)
-{
- return dc_chat_is_protection_broken(get_dc_chat(env, obj))!=0;
-}
-
JNIEXPORT jboolean Java_com_b44t_messenger_DcChat_isSendingLocations(JNIEnv *env, jobject obj)
{
diff --git a/jni/deltachat-core-rust b/jni/deltachat-core-rust
index 6cc69dca3..5105be53d 160000
--- a/jni/deltachat-core-rust
+++ b/jni/deltachat-core-rust
@@ -1 +1 @@
-Subproject commit 6cc69dca31ba8fbe79de5a6f22c5ae63e0bf0ada
+Subproject commit 5105be53d491330935fe14a53f2f982eef415f04
diff --git a/src/main/assets/help/cs/help.html b/src/main/assets/help/cs/help.html
index ff89040b7..93665f224 100644
--- a/src/main/assets/help/cs/help.html
+++ b/src/main/assets/help/cs/help.html
@@ -90,7 +90,7 @@
- Jaká oprávnění Delta Chat potřebuje?
- Pracuje Delta Chat s mým poskytovatelem e-mailu?
- - I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Proč musím Delta Chatu zadat mé e-mailové heslo? Je to bezpečné?
- Jaké zprávy Delta Chat zobrazuje?
- Umí Delta Chat pracovat s e-maily v HTML?
@@ -917,7 +917,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1496,9 +1496,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1582,21 +1583,10 @@ this way, you will have a new random Jitsi room every time you call someone.
-
- - With a Broadcast List you can send a message to many recipients at once; when
-they reply to you, you get the reply in your direct 1:1 chat with them. The
-recipients can’t see each other.
- - Technically, it is an E-Mail with many recipients in BCC.
- - You can turn on the feature in the “experimental features” section in the
-advanced settings. Then you can create a Broadcast List from the “New Chat”
-dialog.
- - In case you are using more than one device, Broadcast Lists are currently not
-synced between them.
- - Messages sent to broadcast lists are not encrypted. Encryption would break
-anonymity, because then all recipients would know who else received it
-(Sending individual mails to everyone would be worse for rate limit and network
-consumption reason).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1755,19 +1745,19 @@ Nicméně, někteří poskytovatelé vyžadují ke správnému chodu speciální
podrobnější popis je na Provider Overview
-
+
- I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/de/help.html b/src/main/assets/help/de/help.html
index 0535fb3cc..0bd3acdb1 100644
--- a/src/main/assets/help/de/help.html
+++ b/src/main/assets/help/de/help.html
@@ -90,7 +90,7 @@
- Welche App-Berechtigungen benötigt Delta Chat?
- Funktioniert Delta Chat mit meinem E-Mail-Anbieter?
- - Ich möchte meinen eigenen E-Mail-Server für Delta Chat verwalten. Gibt es Empfehlungen?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Weshalb muss ich mein E-Mail-Kennwort in Delta Chat eingeben? Ist das sicher?
- Welche Nachrichten erscheinen in Delta Chat?
- Unterstützt Delta Chat HTML-E-Mails?
@@ -1374,7 +1374,7 @@ und systemspezifische Einstellungen wie Benachrichtigungstöne.
- Webxdc Apps können keine Daten ins Internet senden oder etwas herunterladen.
- Eine Webxdc App kann Daten nur innerhalb eines Delta-Chat-Chats mit ihren Kopien auf den Geräten Ihrer Chat-Partner austauschen. Ansonsten ist sie komplett vom Internet isoliert.
- Die Privatsphäre, die eine Webxdc App bietet, ist die Privatsphäre Ihres Chats - solange Sie den Personen vertrauen, mit denen Sie chatten, können Sie auch der Webxdc App vertrauen.
- - Das bedeutet auch: Es kann ein Datenschutzrisiko darstellen, Webxdc Apps in Chats zu öffnen, in denen man den Mitgliedern nicht vertraut - so wie man es von E-Mail-Anhängen kennt, wo man nur Anhänge von Absendern öffnet, denen man vertraut, und nicht von Spammern.
+ - Das bedeutet auch: Es kann ein Datenschutzrisiko darstellen, Webxdc Apps in Chats zu öffnen, in denen man den Mitgliedern nicht vertraut - so wie man es von E-Mail-Anhängen kennt, wo man nur Anhänge von Absendern öffnet, denen man vertraut, und nicht von Spammern. Spammer erhalten alle Daten, die Sie Ihnen senden zusammen mit Ihrer IP-Adresse.
@@ -1444,13 +1444,7 @@ forum veröffentlicht und diskutiert.
-
- - Mit einer Broadcast-Liste können Sie eine Nachricht an viele Empfänger gleichzeitig senden; wenn sie Ihnen antworten, erhalten Sie die Antwort im Direktchat mit ihnen. Die Empfänger können einander nicht sehen.
- - Technisch gesehen handelt es sich um eine E-Mail mit vielen Empfängern in BCC.
- - Sie können die Funktion im Abschnitt “Experimentelle Features” in den erweiterten Einstellungen aktivieren. Dann können Sie im Dialogfeld “Neuer Chat” eine Broadcast-Liste erstellen.
- - Falls Sie mehr als ein Gerät verwenden, werden Broadcast-Listen derzeit nicht zwischen ihnen synchronisiert.
- - An Broadcast-Listen gesendete Nachrichten werden nicht verschlüsselt. Eine Verschlüsselung würde die Anonymität brechen, denn dann wüssten alle Empfänger, wer sie sonst noch erhalten hat. (Das Senden einzelner E-Mails an alle wäre aus Gründen der Ratenbegrenzung und des Netzwerkverbrauchs schlechter.)
-
+
Mit einer Broadcast-Liste können Sie eine Nachricht an viele Empfänger auf einmal senden; die Empfänger können in dieser Liste nicht antworten. Broadcast-Listen sind experimentell und werden sehr wahrscheinlich durch etwas anderes ersetzt werden, bleiben Sie dran :)
@@ -1594,17 +1588,19 @@ gesendet haben, Nachrichten an Ihre neue Adresse senden.
Allerdings benötigen einige Anbieter besondere Einstellungen, um ordnungsgemäß zu funktionieren; eine von NutzerInnen erstellte Sammlung zu einigen Optionen findet sich unter Provider Overview.
-
+
- Ich möchte meinen eigenen E-Mail-Server für Delta Chat verwalten. Gibt es Empfehlungen?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/en/help.html b/src/main/assets/help/en/help.html
index 8deb3928a..5d848bbca 100644
--- a/src/main/assets/help/en/help.html
+++ b/src/main/assets/help/en/help.html
@@ -90,7 +90,7 @@
- Which permissions does Delta Chat need?
- Does Delta Chat work with my e-mail-provider?
- - I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Why do I have to enter my E-Mail password into Delta Chat? Is this secure?
- Which messages do appear in Delta Chat?
- Does Delta Chat support HTML e-mails?
@@ -921,7 +921,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1501,9 +1501,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1587,21 +1588,10 @@ this way, you will have a new random Jitsi room every time you call someone.
-
- - With a Broadcast List you can send a message to many recipients at once; when
-they reply to you, you get the reply in your direct 1:1 chat with them. The
-recipients can’t see each other.
- - Technically, it is an E-Mail with many recipients in BCC.
- - You can turn on the feature in the “experimental features” section in the
-advanced settings. Then you can create a Broadcast List from the “New Chat”
-dialog.
- - In case you are using more than one device, Broadcast Lists are currently not
-synced between them.
- - Messages sent to broadcast lists are not encrypted. Encryption would break
-anonymity, because then all recipients would know who else received it
-(Sending individual mails to everyone would be worse for rate limit and network
-consumption reason).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1760,19 +1750,19 @@ However, some providers need special options to work properly,
see Provider Overview
-
+
- I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/es/help.html b/src/main/assets/help/es/help.html
index f5259e494..35a02b396 100644
--- a/src/main/assets/help/es/help.html
+++ b/src/main/assets/help/es/help.html
@@ -8,9 +8,9 @@
¿Delta Chat soporta envío de imágenes, videos, documentos y otros archivos?
What are profiles? How can I switch between them?
¿Quién ve mi foto de perfil?
- Can I set a Bio/Signature/Status/Motto with Delta Chat?
+ ¿Puedo establecer un texto de firma con Delta Chat?
¿Qué significa fijar, mutear, archivar?
- How do “Saved Messages” work?
+ ¿Cómo funcionan los “Mensajes guardados”?
¿Qué significa el punto verde?
Correct typos and delete messages after sending
¿Cómo funciona la desaparición de mensajes?
@@ -90,7 +90,7 @@
- ¿Qué permisos necesita Delta Chat?
- ¿Delta Chat funciona con mi proveedor de correo electrónico?
- - Quiero manejar mi propio servidor de correo para Delta Chat. ¿Qué me recomiendan?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- ¿Por qué debo ingresar mi contraseña de correo electrónico en Delta Chat? ¿Es esto seguro?
- ¿Qué mensajes se muestran en Delta Chat?
- ¿Delta Chat soporta mensajes con formato HTML?
@@ -117,14 +117,13 @@
-Delta Chat is a reliable, decentralized and secure messaging app,
-available for mobile and desktop platforms.
+Delta Chat es una aplicación de mensajería segura, descentralizada y confiable. Está disponible para las plataformas móviles y del escritorio.
-Delta Chat feels like Whatsapp or Telegram but you can also use and regard it as an e-mail app.
-You can signup anonymously to a variety of interoperable chatmail servers
-which are minimal e-mail servers optimized for fast and secure operations.
-Or you may use classic e-mail servers and an existing e-mail account
-in which case Delta Chat acts as an e-mail app.
+Delta Chat parece como Whatsapp o Telegram, pero también puedes utilizarlo y considerarlo como una aplicación de correo electrónico.
+Puedes registrarte de forma anónima en varios servidores de chatmail interoperables
+que son servidores de correo electrónico mínimos y optimizados para operaciones rápidas y seguras.
+O puedes utilizar servidores de correo electrónico clásicos y una cuenta de correo electrónico existente
+en cuyo caso, Delta Chat actúa como una aplicación de correo electrónico.

@@ -136,15 +135,15 @@ in which case Delta Chat acts as an e-mail app.
-To securely setup contact with others scan an invite QR code
-or share an invite link.
-This is required when using a (default) chatmail-based chat profile
-because chatmail servers reject un-encrypted outgoing messages.
+Para establecer contacto con otros de forma segura escanea un código QR de invitación
+o comparte un enlace de invitación.
+Esto es necesario cuando se utiliza un perfil de chat (predeterminado) basado en chatmail
+porque los servidores de chatmail rechazan los mensajes salientes no cifrados.
-If you create a chat profile with a classic e-mail address
-you may manually create a contact if you know their e-mail address
-and then write a message to them
-even if the recipient is not using Delta Chat.
+Si crees un perfil de chat con una dirección de correo electrónico clásica
+puedes crear manualmente un contacto si conoces su dirección de correo electrónico
+y escribirle un mensaje
+aunque el destinatario no utilice Delta Chat.
@@ -155,25 +154,21 @@ even if the recipient is not using Delta Chat.
- -
-
Anonymous chat profiles with fast, secure and interoperable chatmail servers
-which offer instant Push Notifications for iOS and Android devices.
-
- -
-
Pervasive multi-profile and multi-device support on all platforms.
-
- -
-
Interactive web apps in chats for gaming and collaboration
-
- -
-
Audited end-to-end encryption
-safe against network and server attacks.
-
- -
-
Free and Open Source software, both app and server side.
+
- Anonymous chat profiles with fast, secure and interoperable chatmail servers
+which offer instant Push Notifications for iOS and Android devices.
+
+
+Soporte omnipresente, múltiples perfiles y múltiples dispositivos en todas las plataformas.
+
+Interactivas aplicaciones de web en un chat para jugar y colaborar
+
+Cifrado de extremo a extremo auditado
+seguro contra ataques a la red y al servidor.
+
+
Quizás quieres aprender cómo se usa el mismo perfil en múltiples dispositivos.
@@ -268,7 +263,7 @@ dispositivo.
- Can I set a Bio/Signature/Status/Motto with Delta Chat?
+ ¿Puedo establecer un texto de firma con Delta Chat?
@@ -312,26 +307,26 @@ para silenciar un chat, use el menú del chat (Android/Escritorio) o el perfil d
- How do “Saved Messages” work?
+ ¿Cómo funcionan los “Mensajes guardados”?
-
Saved Messages is a chat that you can use to easily remember and find messages.
+Mensajes guardados es un chat que puedes utilizar para recordar y encontrar mensajes fácilmente.
-
-
In any chat, long tap or right click a message and select Save
+ En cualquier chat, mantén pulsado o haz clic con el botón derecho en un mensaje y selecciona Guardar
-
-
Saved messages are marked by the symbol
-
-next to the timestamp
+ Los mensajes guardados se marcan con el símbolo
+
+junto a la marca de tiempo
-
-
Later, open the “Saved Messages” chat - and you will see the saved messages there.
-By tapping
,
-you can go back to the original message in the original chat
+ Después puedes abrir el chat “Mensajes guardados” - y allí verás los mensajes guardados.
+Con pulsar a
,
+puedes volver al mensaje original en el chat original
-
Finally, you can also use “Save Messages” to take personal notes - open the chat, type something, add a photo or a voice message etc.
@@ -352,9 +347,9 @@ may it be by sender, by device cleanup
-You can sometimes see a green dot
-next to the avatar of a contact.
-It means they were recently seen in the last 10 minutes:
+A veces puede ver un punto verde
+junto al avatar de un contacto.
+Significa que ha sido visto recientemente en los últimos 10 minutos:
- either because they messaged you directly,
@@ -388,14 +383,14 @@ For that, long tap or right click the message and select Edit
or
.
-
-
If you have sent a message accidentally,
-from the same menu, select Delete and then Delete for Everyone.
+ Si has enviado un mensaje accidentalmente
+desde el mismo menú, seleccione Borrar y después Borrar para todos.
-While edited messages will have the word “Edited” next to the timestamp,
-deleted messages will be removed without a marker in the chat.
-Notifications are not sent and there is no time limit.
+Mientras que los mensajes editados tendrán la palabra “Editado” junto a la marca de tiempo,
+los mensajes borrados serán eliminados sin un marcador en el chat.
+No se envían notificaciones y no hay límite de tiempo.
Note, that the original message may still be received by chat members
who could have already replied, forwarded, saved, screenshotted or otherwise copied the message.
@@ -1459,15 +1454,16 @@ extendable messenger.
- - Las aplicaciones webxdc no pueden enviar datos a Internet ni descargar nada.
- - Una aplicación webxdc solo puede intercambiar datos dentro de un chat de Delta Chat, con su
-copias en los dispositivos de tus compañeros de chat. Aparte de eso, es completamente
-aislado de Internet.
- - La privacidad que ofrece una aplicación webxdc es la privacidad de tu chat, siempre y cuando
-confíe en las personas con las que chateas, también puedes confiar en la aplicación webxdc.
- - Esto también significa: puede suponer un riesgo para la privacidad abrir aplicaciones webxdc en chats donde
-no confías en los miembros, como lo sabes por los archivos adjuntos de correos electrónicos, donde
-solo abre archivos adjuntos de remitentes en los que confía y no de spammers.
+ - webxdc apps can not send data to the Internet, or download anything.
+ - A webxdc app can only exchange data within a Delta Chat chat, with its
+copies on the devices of your chat partners. Other than that, it’s completely
+isolated from the Internet.
+ - The privacy a webxdc app offers is the privacy of your chat - as long as you
+trust the people you chat with, you can trust the webxdc app as well.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1551,21 +1547,10 @@ this way, you will have a new random Jitsi room every time you call someone.
-
- - With a Broadcast List you can send a message to many recipients at once; when
-they reply to you, you get the reply in your direct 1:1 chat with them. The
-recipients can’t see each other.
- - Technically, it is an E-Mail with many recipients in BCC.
- - You can turn on the feature in the “experimental features” section in the
-advanced settings. Then you can create a Broadcast List from the “New Chat”
-dialog.
- - In case you are using more than one device, Broadcast Lists are currently not
-synced between them.
- - Messages sent to broadcast lists are not encrypted. Encryption would break
-anonymity, because then all recipients would know who else received it
-(Sending individual mails to everyone would be worse for rate limit and network
-consumption reason).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1717,19 +1702,19 @@ Esto es lo que hace Delta Chat con esos permisos:
Sin embargo, algunos proveedores necesitan opciones especiales para funcionar correctamente, ver Descripción de proveedores
-
+
- Quiero manejar mi propio servidor de correo para Delta Chat. ¿Qué me recomiendan?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/fr/help.html b/src/main/assets/help/fr/help.html
index a1c11226a..d2901d543 100644
--- a/src/main/assets/help/fr/help.html
+++ b/src/main/assets/help/fr/help.html
@@ -90,7 +90,7 @@
- De quelles autorisations Delta Chat a-t-il besoin?
- Est-ce que Delta Chat fonctionne avec mon fournisseur de courriel ?
- - Je veux administrer mon propre serveur courriel pour Delta Chat : que me conseillez-vous ?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Pourquoi dois-je entrer le mot de passe de mon compte de courriel dans Delta Chat ? Est-ce sécurisé ?
- Quels sont les messages qui apparaissent dans Delta Chat ?
- Est-ce que Delta Chat gère les courriels en HTML ?
@@ -895,7 +895,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1452,9 +1452,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1531,14 +1532,10 @@ another rather stable experiment we run on the side (sic!).
-
- - Une liste de diffusion vous permet d’envoyer un message à plusieurs destinataires en même temps sans qu’ils puissent se voir mutuellement. Vous recevez leurs réponses respectives dans les discussions privées que vous avez avec chacun d’eux.
- - Concrètement, c’est un courriel avec plusieurs destinataires en copie cachée.
- - Vous pouvez activer cette option dans la section “Fonctionnalités expérimentales” des paramètres avancés. Vous pourrez ensuite créer une liste de diffusion à partir du bouton “Nouvelle discussion”.
- - Si vous utilisez plusieurs appareils, veuillez noter qu’il n’est pas possible, pour l’instant, de synchroniser les listes de diffusion.
- - Les messages envoyés à des listes de diffusion ne sont pas chiffrés, parce que le chiffrement romprait l’anonymat puisque tous les destinataires pourraient alors voir qui d’autre a reçu le message.
-(Mais envoyer des courriels individuels à tout le monde serait encore pire à cause de la consommation du réseau requise et des limites d’envoi).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1760,19 +1750,19 @@ However, some providers need special options to work properly,
see Provider Overview
-
+
- I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ I want to manage my own server for Delta Chat. What do you recommend?
- - Le apps webxdc non possono inviare dati a Internet o scaricare nulla.
- - Un’app webxdc può scambiare dati solo all’interno di una chat Delta Chat, con la sua
-copia sui dispositivi dei tuoi partner di chat. A parte questo, è completamente
-isolato da Internet.
- - La privacy offerta da un’app webxdc è la privacy della tua chat, purché tu
-ti fidi delle persone con cui chatti e quindi puoi fidarti anche dell’app webxdc.
- - Ciò significa anche: può essere un rischio per la privacy aprire le app webxdc nelle chat dove
-non ti fidi dei membri, come sai dagli allegati di posta elettronica, dove
-apri solo gli allegati provenienti dai mittenti di cui ti fidi e non da spammer.
+ - Le app webxdc non possono inviare dati in internet, o scaricare niente.
+ - Un’app webxdc può solo scambiare dati all’interno di una chat di Delta Chat, con le sue
+copie sui dispositivi dei tuoi corrispondenti. Oltre a questo, è completamente
+isolata da internet.
+ - La privacy che un’app webxdc offre è la privacy della tua chat - fino a che ti
+fidi delle persone con cui ti scrivi, ti puoi fidare dell’app webxdc allo stesso modo.
+ - Questo inoltre significa: può esserci un rischio per la privacy ad usare le app in chat con utenti non fidati.
+Esattamente come per gli allegati delle e-mail, le videochiamate o i collegamenti in chiaro:
+aprile solo da mittenti di cui ti fidi e non dagli spammer.
+Gli spammer possono riuscire ad ottenere qualunque dato tu mandi loro, come il tuo indirizzo IP.
@@ -1570,18 +1571,10 @@ in questo modo, avrai una nuova stanza jitsi casuale ogni volta che chiami qualc
-
- - Con una Lista di Trasmissione è possibile inviare un messaggio a molti destinatari contemporaneamente; quando questi vi rispondono, ricevete la risposta nella vostra chat diretta 1:1 con loro.
-I destinatari non possono vedersi a vicenda.
- - Tecnicamente, si tratta di un messaggio di posta elettronica con molti destinatari in BCC.
- - È possibile attivare questa funzione nella sezione “Funzionalità Sperimentali” delle impostazioni avanzate.
-Quindi è possibile creare una Lista di Trasmissione dalla finestra di dialogo “Nuova chat”.
- - Nel caso in cui si utilizzi più di un dispositivo, le Liste di Trasmissione non sono attualmente sincronizzate tra loro.
- - I messaggi inviati alle Liste di Trasmissione non sono crittografate. La crittografia romperebbe l’anonimato, perché
-tutti i destinatari saprebbero chi altro ha ricevuto il messaggio.
-(l’invio di singoli messaggi di posta elettronica a tutti sarebbe peggiore per il limite di velocità e il
-consumo di rete).
-
+
Con le Liste Trasmissioni puoi inviare un messaggio a più indirizzi contemporaneamente;
+i destinatari non possono rispondere in quella chat.
+Le Liste Trasmissioni sono ancora altamente sperimentali
+e saranno molto probabilmente rimpiazzate con qualcos’altro, restate sintonizzati :)
@@ -1722,19 +1715,19 @@ Tuttavia, alcuni provider necessitano di opzioni speciali per funzionare corrett
vedi Panoramica fornitore
-
+
- Voglio gestire il mio server di posta elettronica per Delta Chat. Che cosa mi consigliate?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/nl/help.html b/src/main/assets/help/nl/help.html
index 67ffd33e3..9b56860d1 100644
--- a/src/main/assets/help/nl/help.html
+++ b/src/main/assets/help/nl/help.html
@@ -90,7 +90,7 @@
- Welke Android-rechten heeft Delta Chat nodig?
- Wordt mijn e-mailprovider ondersteund door Delta Chat?
- - Ik wil mijn eigen e-mailserver opzetten. Hoe kan ik dat het beste doen?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Waarom moet ik mijn e-mailwachtwoord invoeren in Delta Chat? Is dat wel veilig?
- Welke berichten vind ik terug in Delta Chat?
- Ondersteunt Delta Chat HTML-e-mails?
@@ -914,7 +914,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1493,9 +1493,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1579,21 +1580,10 @@ zodat er telkens een nieuwe jitsi-kamer als je iemand belt.
-
- - Met behulp van verzendlijsten kun je berichten naar meerdere ontvangers tegelijk versturen. Als zij vervolgens
-antwoorden, dan wordt het antwoord in het een-op-eengesprek getoond. De
-ontvangers kunnen elkaar niet zien.
- - Technisch gezien is een verzendlijst een e-mail met meerdere ontvangers in de bcc.
- - Schakel deze functie in in de sectie ‘experimentele functies ’in de
-geavanceerde instellingen. Vervolgens kun je in het venster ‘Nieuw gesprek’ een verzendlijst
-samenstellen.
- - Let op: als je gebruikmaakt van meer dan één apparaat, dan worden verzendlijsten momenteel
-niet gesynchroniseerd.
- - Ook zijn zulke berichten niet versleuteld. Versleuteling zou immers de
-anonimiteit doorbreken omdat iedereen van elkaar kan zien wie de berichten ontvangt.
-(En het versturen van meerdere individuele e-mails tegelijk zou funest zijn voor de beperkingen van sommige e-maildiensten en het
-netwerkverbruik).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1751,19 +1741,19 @@ Delta Chat doet het volgende met deze rechten:
Sommige providers verwachten echter bepaalde opties. Bekijk hiervoor het provideroverzicht
-
+
- Ik wil mijn eigen e-mailserver opzetten. Hoe kan ik dat het beste doen?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/pl/help.html b/src/main/assets/help/pl/help.html
index ff37698da..e1c459348 100644
--- a/src/main/assets/help/pl/help.html
+++ b/src/main/assets/help/pl/help.html
@@ -90,7 +90,7 @@
- Jakich uprawnień potrzebuje Delta Chat?
- Czy Delta Chat działa z moim dostawcą poczty e-mail?
- - Chcę zarządzać własnym serwerem e-mail dla Delta Chat. Co polecacie?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Dlaczego muszę wpisać moje hasło e-mail do Delta Chat? Czy to jest bezpieczne?
- Jakie wiadomości pojawiają się w Delta Chat?
- Czy Delta Chat obsługuje wiadomości e-mail w formacie HTML?
@@ -707,7 +707,7 @@ nadal będziesz mógł pisać, ale nie będziesz już powiadamiany o żadnych no
Czasami utrzymanie kontaktu jest ważniejsze niż szyfrowanie end-to-end. „Szyfrowanie warstwy transportowej” (TLS) może w dalszym ciągu w znaczący sposób chronić poufność wiadomości przesyłanych między urządzeniem a serwerem poczty e-mail. Jednak bez kompleksowego szyfrowania Ty i Twój kontakt ufacie swojemu serwerowi poczty e-mail, że nie będzie czytać ani manipulować waszymi wiadomościami i nie będzie przekazywać ich osobom trzecim.
-W każdym razie nie możesz zrobić nic innego, jak zaakceptować ostrzeżenie. Usuń także kontakt z aktywnej grupy oznaczonej zielonym znacznikiem, którą znajdziesz w sekcji „Współdzielone czaty” w profilu kontaktu. Dzięki temu twój kontakt nie otrzyma „nieczytelnych” wiadomości.
+W każdym razie nie możesz zrobić nic innego, jak zaakceptować ostrzeżenie. Usuń także kontakt z aktywnej grupy oznaczonej zielonym znacznikiem, którą znajdziesz w sekcji „Wspólne czaty” w profilu kontaktu. Dzięki temu twój kontakt nie otrzyma „nieczytelnych” wiadomości.
Jeśli kontakt usunął Delta Chat z powodu błędów lub niepożądanego zachowania, rozważ opublikowanie postu na naszym forum pomocy, aby pomóc nam zidentyfikować i rozwiązać typowe problemy. Dzięki!
@@ -1094,7 +1094,7 @@ od najnowszych do najstarszych:
- Aplikacje webxdc nie mogą wysyłać danych do Internetu ani niczego pobierać.
- Aplikacja webxdc może wymieniać dane wyłącznie w ramach czatu Delta Chat, a ich kopie znajdują się na urządzeniach twoich partnerów czatu. Poza tym jest całkowicie odizolowana od Internetu.
- Prywatność, jaką oferuje aplikacja webxdc, to prywatność twojego czatu – jeśli ufasz osobom, z którymi rozmawiasz, możesz ufać także aplikacji webxdc.
- - Oznacza to również: otwieranie aplikacji webxdc na czatach, w przypadku których nie ufa się członkom, może stanowić ryzyko dla prywatności – tak jak załączniki do wiadomości e-mail, gdzie otwiera się tylko załączniki od nadawców, którym ufasz, a nie od spamerów.
+ - Oznacza to również: otwieranie aplikacji w czatach z niezaufanymi członkami, co może stanowić ryzyko dla prywatności. Podobnie jak w przypadku załączników do wiadomości e-mail, połączeń wideo lub zwykłych linków: otwieraj je tylko od nadawców, którym ufasz, a nie od spamerów. Spamerzy mogą poznać wszelkie dane, które im wysyłasz, a także twój adres IP.
@@ -1161,13 +1161,8 @@ od najnowszych do najstarszych:
-
- - Dzięki liście rozgłoszeniowej możesz wysłać wiadomość do wielu odbiorców jednocześnie; kiedy ci odpowiedzą, otrzymasz odpowiedź w bezpośrednim czacie 1: 1 z nimi. Odbiorcy nie widzą siebie nawzajem.
- - Technicznie, jest to e-mail z wieloma odbiorcami w „ukrytej kopii”.
- - Możesz włączyć tę funkcję w sekcji „Funkcje eksperymentalne” w ustawieniach zaawansowanych. Następnie możesz utworzyć listę rozgłoszeniową z okna dialogowego „Nowy czat”.
- - Jeśli używasz więcej niż jednego urządzenia, listy rozgłoszeniowe nie są obecnie synchronizowane między nimi.
- - Wiadomości wysyłane do list rozgłoszeniowych nie są szyfrowane. Szyfrowanie złamałoby anonimowość, ponieważ wtedy wszyscy odbiorcy wiedzieliby, kto jeszcze je otrzymał (wysyłanie indywidualnych wiadomości do wszystkich byłoby gorsze z powodu limitu prędkości i zużycia sieci).
-
+
Za pomocą listy rozgłoszeniowej możesz wysłać wiadomość do wielu odbiorców naraz; odbiorcy nie mogą odpowiedzieć na tej liście.
+Listy rozgłoszeniowe są nadal wysoce eksperymentalne i bardzo prawdopodobne, że zostaną zastąpione czymś innym, bądźcie czujni :)
@@ -1286,17 +1281,19 @@ Oto, co robi Delta Chat z tymi uprawnieniami:
Jednak niektórzy dostawcy potrzebują specjalnych opcji, aby działać poprawnie, zobacz Przegląd dostawców
-
+
- Chcę zarządzać własnym serwerem e-mail dla Delta Chat. Co polecacie?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/pt/help.html b/src/main/assets/help/pt/help.html
index 14d68c8f9..c3439f689 100644
--- a/src/main/assets/help/pt/help.html
+++ b/src/main/assets/help/pt/help.html
@@ -90,7 +90,7 @@
- Quais permissões o Delta Chat precisa?
- O Delta Chat funciona com meu provedor de e-mail?
- - I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Por que preciso entrar com a senha do meu email no Delta Chat? Isso é seguro?
- Quais mensagens aparecem no Delta Chat?
- O Delta Chat suporta emails HTML?
@@ -915,7 +915,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1495,9 +1495,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1581,21 +1582,10 @@ this way, you will have a new random Jitsi room every time you call someone.
-
- - With a Broadcast List you can send a message to many recipients at once; when
-they reply to you, you get the reply in your direct 1:1 chat with them. The
-recipients can’t see each other.
- - Technically, it is an E-Mail with many recipients in BCC.
- - You can turn on the feature in the “experimental features” section in the
-advanced settings. Then you can create a Broadcast List from the “New Chat”
-dialog.
- - In case you are using more than one device, Broadcast Lists are currently not
-synced between them.
- - Messages sent to broadcast lists are not encrypted. Encryption would break
-anonymity, because then all recipients would know who else received it
-(Sending individual mails to everyone would be worse for rate limit and network
-consumption reason).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1752,19 +1742,19 @@ No entanto, alguns provedores precisam de opções especiais para funcionar corr
ver Visão Geral dos Provedores
-
+
- I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ I want to manage my own server for Delta Chat. What do you recommend?
- - Приложения webxdc не могут отправлять данные в Интернет или скачивать что-либо.
- - Приложение webxdc может обмениваться данными только внутри чата Delta Chat, с его
-копиями на устройствах ваших собеседников по чату.
-В остальном, оно полностью
+
- Приложения webxdc не имеют доступа к Интернету и не могут ничего загружать.
+ - Обмен данными в webxdc-приложении возможен только внутри чата Delta Chat, между
+копиями приложения на устройствах участников чата. В остальном оно полностью
изолировано от Интернета.
- - Конфиденциальность, которую обеспечивает приложение webxdc — это конфиденциальность вашего чата - пока
-вы доверяете людям, с которыми вы общаетесь, вы можете доверять приложению webxdc.
- - Это также означает, что открытие приложений webxdc в чатах с участниками, которым вы
-не доверяете, тоже самое, что и с вложениями электронной почты, когда вы открываете
-вложения только от тех отправителей, которым доверяете, а не от спамеров.
+ - Уровень приватности webxdc-приложения соответствует приватности вашего чата — если вы
+доверяете собеседникам, можете доверять и приложению.
+ - Это значит, что открывать такие приложения в чатах с незнакомыми или подозрительными участниками может быть небезопасно.
+Как и с вложениями, видеозвонками или ссылками:
+открывайте их только от тех, кому доверяете, и не открывайте от спамеров.
+Спамеры могут получить любые данные, которые вы им отправите, а также узнать ваш IP-адрес.
@@ -1580,20 +1580,10 @@ Delta Chat.
-
- - С помощью списка рассылки вы можете отправить сообщение сразу нескольким получателям; когда
-они ответят вам, вы получите ответ в прямом чате с ними 1:1.
-Получатели не смогут видеть друг друга.
- - Технически, это электронное письмо с несколькими получателями в поле BCC (скрытая копия).
- - Включить функцию можно в разделе “Экспериментальные функции” в
-“Дополнительных параметрах”. Затем вы можете создать список рассылки в диалоге “Новый чат”.
- - Если вы используете более одного устройства, списки рассылки в настоящее время не
-синхронизируются между ними.
- - Сообщения, отправленные в списки рассылки, не шифруются. Шифрование нарушит
-анонимность, потому что тогда все получатели узнают, кто еще получил сообщение.
-(Отправка отдельных писем каждому будет хуже из-за ограничений скорости и
-потребления сети).
-
+
Список рассылки позволяет отправлять сообщения сразу нескольким адресатам;
+получатели не могут отвечать в этом списке.
+Функция списков рассылки пока что экспериментальная
+и, скорее всего, в будущем будет заменена на что-то другое — следите за новостями. :)
@@ -1751,19 +1741,19 @@ Delta Chat.
см. Обзор провайдеров
-
+
- Я хочу управлять своим собственным почтовым сервером для Delta Chat. Что вы посоветуете?
+ Я хочу управлять своим собственным сервером для Delta Chat. Что вы посоветуете?
diff --git a/src/main/assets/help/sk/help.html b/src/main/assets/help/sk/help.html
index c384d8e4f..8e4815fad 100644
--- a/src/main/assets/help/sk/help.html
+++ b/src/main/assets/help/sk/help.html
@@ -90,7 +90,7 @@
- Aké povolenia potrebuje Delta Chat?
- Funguje Delta Chat s mojím poskytovateľom e-mailov?
- - I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Prečo musím zadávať svoje e-mailové heslo do Delta Chat? Je to bezpečné?
- Ktoré správy sa zobrazujú v Delta Chate?
- Podporuje Delta Chat e-maily HTML?
@@ -918,7 +918,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1498,9 +1498,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1584,21 +1585,10 @@ this way, you will have a new random Jitsi room every time you call someone.
-
- - With a Broadcast List you can send a message to many recipients at once; when
-they reply to you, you get the reply in your direct 1:1 chat with them. The
-recipients can’t see each other.
- - Technically, it is an E-Mail with many recipients in BCC.
- - You can turn on the feature in the “experimental features” section in the
-advanced settings. Then you can create a Broadcast List from the “New Chat”
-dialog.
- - In case you are using more than one device, Broadcast Lists are currently not
-synced between them.
- - Messages sent to broadcast lists are not encrypted. Encryption would break
-anonymity, because then all recipients would know who else received it
-(Sending individual mails to everyone would be worse for rate limit and network
-consumption reason).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1757,19 +1747,19 @@ Niektorí poskytovatelia však potrebujú na správne fungovanie špeciálne mo
pozrite si Prehľad poskytovateľa
-
+
- I want to manage my own e-mail server for Delta Chat. What do you recommend?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/assets/help/sq/help.html b/src/main/assets/help/sq/help.html
index 3e8da9bc9..fdb658749 100644
--- a/src/main/assets/help/sq/help.html
+++ b/src/main/assets/help/sq/help.html
@@ -90,7 +90,7 @@
- Ç’leje lyp Delta Chat-i?
- A funksionon Delta Chat me shërbimin tim email?
- - Dua të administroj shërbyesin tim email për Delta Chat. Ç’rekomandoni?
+ - I want to manage my own server for Delta Chat. What do you recommend?
- Pse më duhet të jap fjalëkalimin e email-it tim në Delta Chat? A është e sigurt kjo?
- Cilat mesazhe shfaqen në Delta Chat?
- A mbulon Delta Chat-i email-e HTML?
@@ -919,7 +919,7 @@ to not read or manipulate your messages, and to not hand them to third parties.<
In any case, you can not do much else than accept the warning.
Please also remove the contact from any active green-checkmarked group
-which you can find in “Shared chats” in the Contact profile.
+which you can find in “Chats in Common” in the Contact profile.
This spares your contact from getting “unreadable” messages.
If the contact removed Delta Chat because of buggy or undesirable behaviour,
@@ -1500,9 +1500,10 @@ copies on the devices of your chat partners. Other than that, it’s completely
isolated from the Internet.
- The privacy a webxdc app offers is the privacy of your chat - as long as you
trust the people you chat with, you can trust the webxdc app as well.
- - This also means: it can be a privacy risk to open webxdc apps in chats where
-you don’t trust the members - as you know it from e-mail attachments, where
-you only open attachments from senders you trust, and not from spammers.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1584,22 +1585,10 @@ this way, you will have a new random Jitsi room every time you call someone.
-
- - Me një Listë Transmetimi mund të dërgoni një mesazh te shumë marrës njëherësh;
-kur ju përgjigjen, përgjigjen e merrni një fjalosjen tuaj të drejtpërdrejt tek për tek
-Marrësit s’mund të shohin njëri-tjetrin.
- - Teknikisht, është një email me shumë marrës si BCC.
- - Veçorinë mund ta aktivizoni te ndarja “veçori eksperimentale”, te rregullimet
-e mëtejshme. Mandej mund të krijoni një Listë Transmetimi që nga dialogu
-“Fjalosje e Re”.
- - Në rast se përdorni më shumë se një pajisje, Listat e Transmetimit aktualisht nuk
-njëkohësohen mes tyre.
- - Mesazhet e dërguar te lista transmetimi s’janë të fshehtëzuar. Fshehtëzimi
-do të dëmtonte anonimitetin, ngaqë atëherë krejt marrësit do të dinin se cili tjetër
-e mori mesazhin.
-(Dërgimi i email-eve individualë për këdo do të ishte edhe më keq, për shkak
-kufizimesh sasie email-esh që dërgohen dhe konsum trafiku në rrjet).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1758,19 +1747,19 @@ Sidoqoftë, disa furnizues shërbimesh kanë nevojë për mundësi speciale, që
të funksionojnë si duhet, shihni Provider Overview
-
+
- Dua të administroj shërbyesin tim email për Delta Chat. Ç’rekomandoni?
+ I want to manage my own server for Delta Chat. What do you recommend?
- - Додатки webxdc не можуть надсилати дані в Інтернет або завантажувати щось.
- - Програма webxdc може обмінюватися даними лише в межах чату Delta Chat з її копіями на пристроях ваших партнерів по чату. В іншому, вони повністю ізольовані від Інтернету.
- - Конфіденційність, яку пропонує додаток webxdc, є конфіденційністю вашого чату - доки ви довіряєте людям, з якими ви спілкуєтеся, ви можете довіряти і додатку webxdc.
- - Це також означає, що відкриття додатків webxdc в чатах, де ви не довіряєте учасникам, як ви знаєте з вкладень в електронній пошті, де ви відкриваєте вкладення тільки від відправників, яким довіряєте, а не від спамерів.
+ - webxdc apps can not send data to the Internet, or download anything.
+ - A webxdc app can only exchange data within a Delta Chat chat, with its
+copies on the devices of your chat partners. Other than that, it’s completely
+isolated from the Internet.
+ - The privacy a webxdc app offers is the privacy of your chat - as long as you
+trust the people you chat with, you can trust the webxdc app as well.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1168,13 +1174,10 @@ Delta Chat скоріше використовує реалізацію OpenPGP
-
- - За допомогою списку розсилки ви можете надіслати повідомлення багатьом одержувачам одночасно; коли вони відповідають вам, ви отримуєте відповідь у своєму прямому чаті 1:1 з ними. Одержувачі не бачать один одного.
- - Технічно це електронний лист із багатьма одержувачами в BCC.
- - Ви можете ввімкнути функцію в розділі «експериментальні функції» в розширених налаштуваннях. Потім ви можете створити список трансляцій у діалоговому вікні «Новий чат».
- - Якщо ви використовуєте більше ніж один пристрій, списки трансляцій наразі не синхронізуються між ними.
- - Повідомлення, надіслані до списків розсилки, не шифруються. Шифрування порушило б анонімність, оскільки тоді всі одержувачі знали б, хто ще його отримав (надсилання окремих листів усім було б гіршим через обмеження швидкості та споживання мережі).
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1309,17 +1312,19 @@ Delta Chat скоріше використовує реалізацію OpenPGP
Проте для коректної роботи деяких провайдерів потрібні специфічні налаштування. Дивіться наш огляд провайдерів
-
+
- Я хочу керувати власним сервером електронної пошти для Delta Chat. Що ви порадите?
+ I want to manage my own server for Delta Chat. What do you recommend?
- - Webxdc 应用无法向互联网发送数据或下载任何内容。
- - Webxdc 应用只能在 Delta Chat 聊天中与其聊天伙伴设备上的副本交换数据。 除此之外,它与互联网完全隔离。
- - Webxdc 应用提供的隐私性就是你的聊天的隐私性 - 只要你
-信任与你聊天的人,你也可以信任 Webxdc 应用。
- - 这也意味着:在你不信任成员的聊天中打开 WebXDC 应用可能存在隐私风险 - 正如你从电子邮件附件中了解到的那样,你
-只打开来自你信任的发件人的附件,而不是来自垃圾邮件发送者的附件。
+ - webxdc apps can not send data to the Internet, or download anything.
+ - A webxdc app can only exchange data within a Delta Chat chat, with its
+copies on the devices of your chat partners. Other than that, it’s completely
+isolated from the Internet.
+ - The privacy a webxdc app offers is the privacy of your chat - as long as you
+trust the people you chat with, you can trust the webxdc app as well.
+ - This also means: it can be a privacy risk to open apps in chats with untrusted members.
+Just like with e-mail attachments, video calls or plain links:
+open them only from senders you trust, and not from spammers.
+Spammers can get to know any data you send to them, as well as your IP address.
@@ -1513,13 +1517,10 @@ Chat 的 PGP 和
-
- - 使用广播列表,您可以一次性将一条消息发送给多个接收者;当他们回复您时,回复会出现在您与他们的直接 1 对 1 聊天中。 接收者之间无法相互看到。
- - 从技术上讲,它是密件抄送了许多收件人的电子邮件。
- - 您可以在高级设置的“实验性功能”部分启用该功能。启用后,您便能在“新建聊天”对话框中新建广播列表了。
- - 在使用多台设备的情况下,目前广播列表不会在它们之间同步。
- - 发送到广播列表的消息不会被加密。加密会使接收者们知道还有谁收到了消息,进而破坏了匿名性(出于发送速率限制和网络消耗的原因,向每个人发送单独的邮件会更糟)。
-
+
With a Broadcast List you can send a message to many recipients at once;
+the recipients cannot reply in that list.
+Broadcast lists are still highly experimental
+and will very probably be replaced by something else, stay tuned :)
@@ -1651,19 +1652,19 @@ Chat 的 PGP 和
不过,某些提供商需要一些特殊设置才能正常工作,请参阅提供商概览
-
+
- 我想管理自己的 Delta Chat 电子邮件服务器。 你有什么建议?
+ I want to manage my own server for Delta Chat. What do you recommend?
diff --git a/src/main/java/com/b44t/messenger/DcChat.java b/src/main/java/com/b44t/messenger/DcChat.java
index 7dee839b8..7d5e2597d 100644
--- a/src/main/java/com/b44t/messenger/DcChat.java
+++ b/src/main/java/com/b44t/messenger/DcChat.java
@@ -6,7 +6,8 @@ public class DcChat {
public static final int DC_CHAT_TYPE_SINGLE = 100;
public static final int DC_CHAT_TYPE_GROUP = 120;
public static final int DC_CHAT_TYPE_MAILINGLIST = 140;
- public static final int DC_CHAT_TYPE_BROADCAST = 160;
+ public static final int DC_CHAT_TYPE_OUT_BROADCAST = 160;
+ public static final int DC_CHAT_TYPE_IN_BROADCAST = 165;
public static final int DC_CHAT_NO_CHAT = 0;
public final static int DC_CHAT_ID_ARCHIVED_LINK = 6;
@@ -44,7 +45,6 @@ public class DcChat {
public native boolean isDeviceTalk ();
public native boolean canSend ();
public native boolean isProtected ();
- public native boolean isProtectionBroken();
public native boolean isSendingLocations();
public native boolean isMuted ();
public native boolean isContactRequest ();
@@ -54,19 +54,18 @@ public class DcChat {
public boolean isMultiUser() {
int type = getType();
- return type == DC_CHAT_TYPE_GROUP || type == DC_CHAT_TYPE_MAILINGLIST || type == DC_CHAT_TYPE_BROADCAST;
+ return type != DC_CHAT_TYPE_SINGLE;
}
public boolean isMailingList() {
return getType() == DC_CHAT_TYPE_MAILINGLIST;
}
- public boolean isBroadcast() {
- return getType() == DC_CHAT_TYPE_BROADCAST;
+ public boolean isInBroadcast() {
+ return getType() == DC_CHAT_TYPE_IN_BROADCAST;
}
-
- public boolean isHalfBlocked() {
- return isProtectionBroken() || isContactRequest();
+ public boolean isOutBroadcast() {
+ return getType() == DC_CHAT_TYPE_OUT_BROADCAST;
}
// working with raw c-data
diff --git a/src/main/java/com/b44t/messenger/DcContact.java b/src/main/java/com/b44t/messenger/DcContact.java
index e21b32406..c1db787df 100644
--- a/src/main/java/com/b44t/messenger/DcContact.java
+++ b/src/main/java/com/b44t/messenger/DcContact.java
@@ -10,8 +10,9 @@ public class DcContact {
public final static int DC_CONTACT_ID_NEW_GROUP = -2; // - " -
public final static int DC_CONTACT_ID_ADD_MEMBER = -3; // - " -
public final static int DC_CONTACT_ID_QR_INVITE = -4; // - " -
- public final static int DC_CONTACT_ID_NEW_BROADCAST_LIST = -5; // - " -
+ public final static int DC_CONTACT_ID_NEW_BROADCAST = -5; // - " -
public final static int DC_CONTACT_ID_ADD_ACCOUNT = -6; // - " -
+ public final static int DC_CONTACT_ID_NEW_UNENCRYPTED_GROUP = -7; // - " -
public DcContact(long contactCPtr) {
this.contactCPtr = contactCPtr;
diff --git a/src/main/java/com/b44t/messenger/DcContext.java b/src/main/java/com/b44t/messenger/DcContext.java
index 4ed3f2950..d606e0c7b 100644
--- a/src/main/java/com/b44t/messenger/DcContext.java
+++ b/src/main/java/com/b44t/messenger/DcContext.java
@@ -39,6 +39,7 @@ public class DcContext {
public final static int DC_GCL_VERIFIED_ONLY = 1;
public final static int DC_GCL_ADD_SELF = 2;
+ public final static int DC_GCL_ADDRESS = 0x04;
public final static int DC_GCL_ARCHIVED_ONLY = 0x01;
public final static int DC_GCL_NO_SPECIALS = 0x02;
public final static int DC_GCL_ADD_ALLDONE_HINT = 0x04;
diff --git a/src/main/java/com/b44t/messenger/DcMsg.java b/src/main/java/com/b44t/messenger/DcMsg.java
index 591399bfb..37645b48d 100644
--- a/src/main/java/com/b44t/messenger/DcMsg.java
+++ b/src/main/java/com/b44t/messenger/DcMsg.java
@@ -33,9 +33,9 @@ public class DcMsg {
public final static int DC_INFO_LOCATION_ONLY = 9;
public final static int DC_INFO_EPHEMERAL_TIMER_CHANGED = 10;
public final static int DC_INFO_PROTECTION_ENABLED = 11;
- public final static int DC_INFO_PROTECTION_DISABLED = 12;
public final static int DC_INFO_INVALID_UNENCRYPTED_MAIL = 13;
public final static int DC_INFO_WEBXDC_INFO_MESSAGE = 32;
+ public final static int DC_INFO_CHAT_E2EE = 50;
public final static int DC_STATE_UNDEFINED = 0;
public final static int DC_STATE_IN_FRESH = 10;
diff --git a/src/main/java/com/b44t/messenger/rpc/Rpc.java b/src/main/java/com/b44t/messenger/rpc/Rpc.java
index 77e4615e9..12fa326b2 100644
--- a/src/main/java/com/b44t/messenger/rpc/Rpc.java
+++ b/src/main/java/com/b44t/messenger/rpc/Rpc.java
@@ -160,6 +160,18 @@ public class Rpc {
getResult("add_or_update_transport", accountId, param);
}
+ public int createBroadcast(int accountId, String chatName) throws RpcException {
+ return gson.fromJson(getResult("create_broadcast", accountId, chatName), Integer.class);
+ }
+
+ public int createGroupChatUnencrypted(int accountId, String chatName) throws RpcException {
+ return gson.fromJson(getResult("create_group_chat_unencrypted", accountId, chatName), Integer.class);
+ }
+
+ public void setAccountsOrder(List order) throws RpcException {
+ getResult("set_accounts_order", order);
+ }
+
private static class Request {
private final String jsonrpc = "2.0";
public final String method;
diff --git a/src/main/java/org/thoughtcrime/securesms/BaseConversationItem.java b/src/main/java/org/thoughtcrime/securesms/BaseConversationItem.java
index ababfdeef..9a5e5eb66 100644
--- a/src/main/java/org/thoughtcrime/securesms/BaseConversationItem.java
+++ b/src/main/java/org/thoughtcrime/securesms/BaseConversationItem.java
@@ -92,7 +92,7 @@ public abstract class BaseConversationItem extends LinearLayout
protected boolean shouldInterceptClicks(DcMsg messageRecord) {
return batchSelected.isEmpty()
&& (messageRecord.isFailed()
- || messageRecord.getInfoType() == DcMsg.DC_INFO_PROTECTION_DISABLED
+ || messageRecord.getInfoType() == DcMsg.DC_INFO_CHAT_E2EE
|| messageRecord.getInfoType() == DcMsg.DC_INFO_PROTECTION_ENABLED
|| messageRecord.getInfoType() == DcMsg.DC_INFO_INVALID_UNENCRYPTED_MAIL);
}
@@ -140,9 +140,7 @@ public abstract class BaseConversationItem extends LinearLayout
.setPositiveButton(R.string.ok, null)
.create();
d.show();
- } else if (messageRecord.getInfoType() == DcMsg.DC_INFO_PROTECTION_DISABLED) {
- DcHelper.showVerificationBrokenDialog(context, conversationRecipient.getName());
- } else if (messageRecord.getInfoType() == DcMsg.DC_INFO_PROTECTION_ENABLED) {
+ } else if (messageRecord.getInfoType() == DcMsg.DC_INFO_CHAT_E2EE || messageRecord.getInfoType() == DcMsg.DC_INFO_PROTECTION_ENABLED) {
DcHelper.showProtectionEnabledDialog(context);
} else if (messageRecord.getInfoType() == DcMsg.DC_INFO_INVALID_UNENCRYPTED_MAIL) {
DcHelper.showInvalidUnencryptedDialog(context);
diff --git a/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java b/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java
index 82370c2b6..c93ffcb07 100644
--- a/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java
+++ b/src/main/java/org/thoughtcrime/securesms/ContactSelectionListFragment.java
@@ -83,6 +83,7 @@ public class ContactSelectionListFragment extends Fragment
public static final String MULTI_SELECT = "multi_select";
public static final String SELECT_VERIFIED_EXTRA = "select_verified";
+ public static final String SELECT_UNENCRYPTED_EXTRA = "select_unencrypted_extra";
public static final String ALLOW_CREATION = "allow_creation";
public static final String PRESELECTED_CONTACTS = "preselected_contacts";
public static final int CONTACT_ADDR_RESULT_CODE = 61123;
@@ -251,6 +252,10 @@ public class ContactSelectionListFragment extends Fragment
return getActivity().getIntent().getBooleanExtra(SELECT_VERIFIED_EXTRA, false);
}
+ private boolean isUnencrypted() {
+ return getActivity().getIntent().getBooleanExtra(SELECT_UNENCRYPTED_EXTRA, false);
+ }
+
private void initializeCursor() {
ContactSelectionListAdapter adapter = new ContactSelectionListAdapter(getActivity(),
GlideApp.with(this),
@@ -273,11 +278,11 @@ public class ContactSelectionListFragment extends Fragment
@Override
public Loader onCreateLoader(int id, Bundle args) {
final boolean allowCreation = getActivity().getIntent().getBooleanExtra(ALLOW_CREATION, true);
- final boolean addCreateContactLink = allowCreation && !isSelectVerfied();
+ final boolean addCreateContactLink = allowCreation && isUnencrypted();
final boolean addCreateGroupLinks = allowCreation && !isRelayingMessageContent(getActivity()) && !isMulti();
final boolean addScanQRLink = allowCreation && !isMulti();
- final int listflags = DcContext.DC_GCL_ADD_SELF;
+ final int listflags = DcContext.DC_GCL_ADD_SELF | (isUnencrypted()? DcContext.DC_GCL_ADDRESS : 0);
return new DcContactsLoader(getActivity(), listflags, cursorFilter, addCreateGroupLinks, addCreateContactLink, addScanQRLink, false);
}
diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java
index 2bf71cdfa..341d0e3c1 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationActivity.java
@@ -62,6 +62,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.SearchView;
@@ -437,7 +438,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
getMenuInflater().inflate(R.menu.conversation, menu);
- if (dcChat.isSelfTalk() || dcChat.isBroadcast()) {
+ if (dcChat.isSelfTalk() || dcChat.isOutBroadcast()) {
menu.findItem(R.id.menu_mute_notifications).setVisible(false);
} else if(dcChat.isMuted()) {
menu.findItem(R.id.menu_mute_notifications).setTitle(R.string.menu_unmute);
@@ -447,14 +448,16 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
menu.findItem(R.id.menu_show_map).setVisible(false);
}
- if (!dcChat.canSend() || dcChat.isBroadcast() || dcChat.isMailingList()) {
+ if (!dcChat.canSend() || dcChat.isMailingList() ) {
menu.findItem(R.id.menu_ephemeral_messages).setVisible(false);
}
if (isMultiUser()) {
- if (dcChat.isEncrypted()
+ if (dcChat.isInBroadcast() && !dcChat.isContactRequest()) {
+ menu.findItem(R.id.menu_leave).setTitle(R.string.menu_leave_channel).setVisible(true);
+ } else if (dcChat.isEncrypted()
&& dcChat.canSend()
- && !dcChat.isBroadcast()
+ && !dcChat.isOutBroadcast()
&& !dcChat.isMailingList()) {
menu.findItem(R.id.menu_leave).setVisible(true);
}
@@ -631,9 +634,16 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
private void handleLeaveGroup() {
+ @StringRes int leaveLabel;
+ if (dcChat.isInBroadcast()) {
+ leaveLabel = R.string.menu_leave_channel;
+ } else {
+ leaveLabel = R.string.menu_leave_group;
+ }
+
AlertDialog dialog = new AlertDialog.Builder(this)
.setMessage(getString(R.string.ask_leave_group))
- .setPositiveButton(R.string.menu_leave_group, (d, which) -> {
+ .setPositiveButton(leaveLabel, (d, which) -> {
dcContext.removeContactFromChat(chatId, DcContact.DC_CONTACT_ID_SELF);
Toast.makeText(this, getString(R.string.done), Toast.LENGTH_SHORT).show();
})
@@ -1608,7 +1618,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
}
public void initializeContactRequest() {
- if (!dcChat.isHalfBlocked()) {
+ if (!dcChat.isContactRequest()) {
messageRequestBottomView.setVisibility(View.GONE);
return;
}
@@ -1621,15 +1631,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
});
- if (dcChat.isProtectionBroken()) {
- messageRequestBottomView.setBlockText(R.string.more_info_desktop);
- String name = dcContext.getContact(recipient.getDcContact().getId()).getDisplayName();
- messageRequestBottomView.setBlockOnClickListener(v -> DcHelper.showVerificationBrokenDialog(this, name));
-
- messageRequestBottomView.setQuestion(getString(R.string.chat_protection_broken, name));
- messageRequestBottomView.setAcceptText(R.string.ok);
-
- } else if (dcChat.getType() == DcChat.DC_CHAT_TYPE_GROUP) {
+ if (dcChat.getType() == DcChat.DC_CHAT_TYPE_GROUP) {
// We don't support blocking groups yet, so offer to delete it instead
messageRequestBottomView.setBlockText(R.string.delete);
messageRequestBottomView.setBlockOnClickListener(v -> handleDeleteChat());
diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java b/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java
index 09bcf2b0f..74a5cf693 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationFragment.java
@@ -169,8 +169,8 @@ public class ConversationFragment extends MessageSelectorFragment
private void setNoMessageText() {
DcChat dcChat = getListAdapter().getChat();
if(dcChat.isMultiUser()){
- if (dcChat.isBroadcast()) {
- noMessageTextView.setText(R.string.chat_new_broadcast_hint);
+ if (dcChat.isInBroadcast() || dcChat.isOutBroadcast()) {
+ noMessageTextView.setText(R.string.chat_new_channel_hint);
} else if (dcChat.isUnpromoted()) {
noMessageTextView.setText(R.string.chat_new_group_hint);
}
@@ -848,7 +848,7 @@ public class ConversationFragment extends MessageSelectorFragment
public void onShowFullClicked(DcMsg messageRecord) {
Intent intent = new Intent(getActivity(), FullMsgActivity.class);
intent.putExtra(FullMsgActivity.MSG_ID_EXTRA, messageRecord.getId());
- intent.putExtra(FullMsgActivity.BLOCK_LOADING_REMOTE, getListAdapter().getChat().isHalfBlocked());
+ intent.putExtra(FullMsgActivity.BLOCK_LOADING_REMOTE, getListAdapter().getChat().isContactRequest());
startActivity(intent);
getActivity().overridePendingTransition(R.anim.slide_from_right, R.anim.fade_scale_out);
}
diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java b/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java
index 91c72384d..b7d3cfc32 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationListActivity.java
@@ -112,7 +112,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
// it is not needed to keep all past update messages, however, when deleted, also the strings should be deleted.
try {
DcContext dcContext = DcHelper.getContext(this);
- final String deviceMsgLabel = "update_1_58_0_android";
+ final String deviceMsgLabel = "update_2_0_0_android-h";
if (!dcContext.wasDeviceMsgEverAdded(deviceMsgLabel)) {
DcMsg msg = null;
if (!getIntent().getBooleanExtra(FROM_WELCOME, false)) {
@@ -123,8 +123,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
// Util.copy(inputStream, new FileOutputStream(outputFile));
// msg.setFile(outputFile, "image/jpeg");
- // full changelog link: "https://lemmy.ml/c/ArcaneChat"
- msg.setText(getString(R.string.update_1_58_android, "https://arcanechat.me/#contribute"));
+ msg.setText(getString(R.string.update_2_0, "https://arcanechat.me/#contribute"));
}
dcContext.addDeviceMsg(deviceMsgLabel, msg);
diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java
index 09170384d..29cd3898c 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java
@@ -93,7 +93,9 @@ public class ConversationTitleView extends RelativeLayout {
subtitleStr = context.getString(R.string.super_group);
}
}
- } else if (dcChat.isBroadcast()) {
+ } else if (dcChat.isInBroadcast()) {
+ subtitleStr = context.getString(R.string.channel);
+ } else if (dcChat.isOutBroadcast()) {
if (!profileView) {
subtitleStr = context.getResources().getQuantityString(R.plurals.n_recipients, chatContacts.length, chatContacts.length);
}
diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationUpdateItem.java b/src/main/java/org/thoughtcrime/securesms/ConversationUpdateItem.java
index afe25dc8b..858e21eb7 100644
--- a/src/main/java/org/thoughtcrime/securesms/ConversationUpdateItem.java
+++ b/src/main/java/org/thoughtcrime/securesms/ConversationUpdateItem.java
@@ -116,9 +116,6 @@ public class ConversationUpdateItem extends BaseConversationItem
if (infoType == DcMsg.DC_INFO_PROTECTION_ENABLED) {
verifiedIcon.setVisibility(VISIBLE);
verifiedIcon.setImageResource(R.drawable.ic_verified);
- } else if (infoType == DcMsg.DC_INFO_PROTECTION_DISABLED) {
- verifiedIcon.setVisibility(VISIBLE);
- verifiedIcon.setImageResource(R.drawable.ic_verified_broken);
} else {
verifiedIcon.setVisibility(GONE);
}
diff --git a/src/main/java/org/thoughtcrime/securesms/GroupCreateActivity.java b/src/main/java/org/thoughtcrime/securesms/GroupCreateActivity.java
index 7d6479947..b0a8ff03c 100644
--- a/src/main/java/org/thoughtcrime/securesms/GroupCreateActivity.java
+++ b/src/main/java/org/thoughtcrime/securesms/GroupCreateActivity.java
@@ -23,6 +23,7 @@ import androidx.loader.app.LoaderManager;
import com.b44t.messenger.DcChat;
import com.b44t.messenger.DcContact;
import com.b44t.messenger.DcContext;
+import com.b44t.messenger.rpc.RpcException;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
@@ -48,7 +49,8 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
{
public static final String EDIT_GROUP_CHAT_ID = "edit_group_chat_id";
- public static final String CREATE_BROADCAST = "group_create_broadcast";
+ public static final String CREATE_BROADCAST = "create_broadcast";
+ public static final String UNENCRYPTED = "unencrypted";
public static final String CLONE_CHAT_EXTRA = "clone_chat";
private static final int PICK_CONTACT = 1;
@@ -58,7 +60,8 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
private DcContext dcContext;
private boolean verified;
- private boolean broadcast;
+ private boolean unencrypted;
+ private boolean broadcast;
private EditText groupName;
private ListView lv;
private ImageView avatar;
@@ -75,6 +78,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
setContentView(R.layout.group_create_activity);
verified = false;
broadcast = getIntent().getBooleanExtra(CREATE_BROADCAST, false);
+ unencrypted = getIntent().getBooleanExtra(UNENCRYPTED, false);
Objects.requireNonNull(getSupportActionBar()).setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
@@ -88,12 +92,15 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
isEdit = true;
DcChat dcChat = dcContext.getChat(groupChatId);
verified = dcChat.isProtected();
- broadcast = dcChat.isBroadcast();
+ broadcast = dcChat.isOutBroadcast();
+ unencrypted = !dcChat.isEncrypted();
}
int chatId = getIntent().getIntExtra(CLONE_CHAT_EXTRA, 0);
if (chatId != 0) {
- broadcast = dcContext.getChat(chatId).isBroadcast();
+ DcChat dcChat = dcContext.getChat(chatId);
+ broadcast = dcChat.isOutBroadcast();
+ unencrypted = !dcChat.isEncrypted();
}
initializeResources();
@@ -120,7 +127,10 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
title = getString(R.string.global_menu_edit_desktop);
}
else if(broadcast) {
- title = getString(R.string.new_broadcast_list);
+ title = getString(R.string.new_channel);
+ }
+ else if(unencrypted) {
+ title = getString(R.string.new_email);
}
else {
title = getString(R.string.menu_new_group);
@@ -136,7 +146,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
initializeAvatarView();
- SelectedContactsAdapter adapter = new SelectedContactsAdapter(this, GlideApp.with(this), broadcast);
+ SelectedContactsAdapter adapter = new SelectedContactsAdapter(this, GlideApp.with(this), broadcast, unencrypted);
adapter.setItemClickListener(this);
lv.setAdapter(adapter);
@@ -160,9 +170,12 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
}
if (broadcast) {
+ groupName.setHint(R.string.channel_name);
+ chatHints.setVisibility(View.VISIBLE);
+ } else if (unencrypted) {
avatar.setVisibility(View.GONE);
- groupName.setHint(R.string.broadcast_list_name);
- chatHints.setVisibility(isEdit()? View.GONE : View.VISIBLE);
+ groupName.setHint(R.string.subject);
+ chatHints.setVisibility(View.GONE);
} else {
chatHints.setVisibility(View.GONE);
}
@@ -219,7 +232,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
if (groupChatId != 0) {
updateGroup(groupName);
} else {
- verified = !broadcast && allMembersVerified();
+ verified = !unencrypted && !broadcast && allMembersVerified();
createGroup(groupName);
}
@@ -244,6 +257,7 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
if (contactId == DcContact.DC_CONTACT_ID_ADD_MEMBER) {
Intent intent = new Intent(this, ContactMultiSelectionActivity.class);
intent.putExtra(ContactSelectionListFragment.SELECT_VERIFIED_EXTRA, verified);
+ intent.putExtra(ContactSelectionListFragment.SELECT_UNENCRYPTED_EXTRA, unencrypted);
ArrayList preselectedContacts = new ArrayList<>(getAdapter().getContacts());
intent.putExtra(ContactSelectionListFragment.PRESELECTED_CONTACTS, preselectedContacts);
startActivityForResult(intent, PICK_CONTACT);
@@ -257,8 +271,19 @@ public class GroupCreateActivity extends PassphraseRequiredActionBarActivity
private void createGroup(String groupName) {
if (broadcast) {
- groupChatId = dcContext.createBroadcastList();
- dcContext.setChatName(groupChatId, groupName);
+ try {
+ groupChatId = DcHelper.getRpc(this).createBroadcast(dcContext.getAccountId(), groupName);
+ } catch (RpcException e) {
+ e.printStackTrace();
+ return;
+ }
+ } else if (unencrypted) {
+ try {
+ groupChatId = DcHelper.getRpc(this).createGroupChatUnencrypted(dcContext.getAccountId(), groupName);
+ } catch (RpcException e) {
+ e.printStackTrace();
+ return;
+ }
} else {
groupChatId = dcContext.createGroupChat(verified, groupName);
}
diff --git a/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java b/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java
index 836f4d8c0..67e4e5448 100644
--- a/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java
+++ b/src/main/java/org/thoughtcrime/securesms/NewConversationActivity.java
@@ -107,7 +107,11 @@ public class NewConversationActivity extends ContactSelectionActivity {
public void onContactSelected(int contactId) {
if(contactId == DcContact.DC_CONTACT_ID_NEW_GROUP) {
startActivity(new Intent(this, GroupCreateActivity.class));
- } else if(contactId == DcContact.DC_CONTACT_ID_NEW_BROADCAST_LIST) {
+ } else if(contactId == DcContact.DC_CONTACT_ID_NEW_UNENCRYPTED_GROUP) {
+ Intent intent = new Intent(this, GroupCreateActivity.class);
+ intent.putExtra(GroupCreateActivity.UNENCRYPTED, true);
+ startActivity(intent);
+ } else if(contactId == DcContact.DC_CONTACT_ID_NEW_BROADCAST) {
Intent intent = new Intent(this, GroupCreateActivity.class);
intent.putExtra(GroupCreateActivity.CREATE_BROADCAST, true);
startActivity(intent);
diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java b/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java
index 506e49e42..db320e999 100644
--- a/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java
+++ b/src/main/java/org/thoughtcrime/securesms/ProfileActivity.java
@@ -51,7 +51,8 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
private boolean chatIsMultiUser;
private boolean chatIsDeviceTalk;
private boolean chatIsMailingList;
- private boolean chatIsBroadcast;
+ private boolean chatIsOutBroadcast;
+ private boolean chatIsInBroadcast;
private int contactId;
private boolean contactIsBot;
private Toolbar toolbar;
@@ -76,8 +77,8 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
String title = getString(R.string.profile);
if (chatIsMailingList) {
title = getString(R.string.mailing_list);
- } else if (chatIsBroadcast) {
- title = getString(R.string.broadcast_list);
+ } else if (chatIsOutBroadcast || chatIsInBroadcast) {
+ title = getString(R.string.channel);
} else if (chatIsMultiUser) {
title = getString(R.string.tab_group);
} else if (contactIsBot) {
@@ -115,7 +116,7 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
menu.findItem(R.id.share).setVisible(false);
} else if (chatIsMultiUser) {
menu.findItem(R.id.edit_name).setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
- if (chatIsBroadcast) {
+ if (chatIsOutBroadcast) {
canReceive = false;
} else {
if (!dcChat.isEncrypted()
@@ -190,7 +191,8 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
chatIsMultiUser = false;
chatIsDeviceTalk = false;
chatIsMailingList= false;
- chatIsBroadcast = false;
+ chatIsInBroadcast = false;
+ chatIsOutBroadcast = false;
if (contactId!=0) {
DcContact dcContact = dcContext.getContact(contactId);
@@ -203,7 +205,8 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
chatIsMultiUser = dcChat.isMultiUser();
chatIsDeviceTalk = dcChat.isDeviceTalk();
chatIsMailingList = dcChat.isMailingList();
- chatIsBroadcast = dcChat.isBroadcast();
+ chatIsInBroadcast = dcChat.isInBroadcast();
+ chatIsOutBroadcast = dcChat.isOutBroadcast();
if(!chatIsMultiUser) {
final int[] members = dcContext.getChatContacts(chatId);
contactId = members.length>=1? members[0] : 0;
@@ -312,10 +315,12 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
String profileImagePath;
String title;
Uri profileImageUri;
+ boolean chatIsEncrypted = true;
if(chatId!=0) {
DcChat dcChat = dcContext.getChat(chatId);
profileImagePath = dcChat.getProfileImage();
title = dcChat.getName();
+ chatIsEncrypted = dcChat.isEncrypted();
} else {
DcContact dcContact = dcContext.getContact(contactId);
profileImagePath = dcContact.getProfileImage();
@@ -331,7 +336,10 @@ public class ProfileActivity extends PassphraseRequiredActionBarActivity
Intent intent = new Intent(this, MediaPreviewActivity.class);
intent.setDataAndType(profileImageUri, type);
intent.putExtra(MediaPreviewActivity.ACTIVITY_TITLE_EXTRA, title);
- intent.putExtra(MediaPreviewActivity.EDIT_AVATAR_CHAT_ID, chatIsMultiUser ? chatId : 0); // shows edit-button, might be 0 for a contact-profile
+ intent.putExtra( // show edit-button, if the user is allowed to edit the name/avatar
+ MediaPreviewActivity.EDIT_AVATAR_CHAT_ID,
+ (chatIsMultiUser && chatIsEncrypted && !chatIsInBroadcast && !chatIsMailingList) ? chatId : 0
+ );
startActivity(intent);
} else if (chatIsMultiUser){
onEditName();
diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java b/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java
index e2ecd0595..b8d04dc4f 100644
--- a/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java
+++ b/src/main/java/org/thoughtcrime/securesms/ProfileAdapter.java
@@ -53,7 +53,7 @@ public class ProfileAdapter extends RecyclerView.Adapter
private final @NonNull ArrayList itemData = new ArrayList<>();
private DcChatlist itemDataSharedChats;
private String itemDataStatusText;
- private boolean isBroadcast;
+ private boolean isOutBroadcast;
private int memberCount;
private final Set selectedMembers;
@@ -163,7 +163,7 @@ public class ProfileAdapter extends RecyclerView.Adapter
String addr = null;
if (contactId == DcContact.DC_CONTACT_ID_ADD_MEMBER) {
- if (isBroadcast) {
+ if (isOutBroadcast) {
name = context.getString(R.string.add_recipients);
} else {
name = context.getString(R.string.group_add_members);
@@ -275,7 +275,7 @@ public class ProfileAdapter extends RecyclerView.Adapter
itemData.clear();
itemDataSharedChats = sharedChats;
itemDataStatusText = "";
- isBroadcast = dcChat != null && dcChat.isBroadcast();
+ isOutBroadcast = dcChat != null && dcChat.isOutBroadcast();
boolean isMailingList = dcChat != null && dcChat.isMailingList();
boolean isSelfTalk = dcChat != null && dcChat.isSelfTalk();
boolean isDeviceTalk = dcChat != null && dcChat.isDeviceTalk();
@@ -313,7 +313,7 @@ public class ProfileAdapter extends RecyclerView.Adapter
if (dcChat != null) {
if (dcChat.canSend() && dcChat.isEncrypted()) {
itemData.add(new ItemData(ITEM_MEMBERS, DcContact.DC_CONTACT_ID_ADD_MEMBER, 0));
- if (!isBroadcast) {
+ if (!isOutBroadcast) {
itemData.add(new ItemData(ITEM_MEMBERS, DcContact.DC_CONTACT_ID_QR_INVITE, 0));
}
}
diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java b/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java
index 4c70f81fc..b9522a98e 100644
--- a/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java
+++ b/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java
@@ -59,7 +59,7 @@ public class ProfileAvatarItem extends LinearLayout implements RecipientModified
if (dcChat.isMailingList()) {
subtitle = dcChat.getMailinglistAddr();
- } else if (dcChat.isBroadcast()) {
+ } else if (dcChat.isOutBroadcast()) {
subtitle = getContext().getResources().getQuantityString(R.plurals.n_recipients, memberCount, memberCount);
} else if (dcChat.getType() == DcChat.DC_CHAT_TYPE_GROUP) {
subtitle = getContext().getResources().getQuantityString(R.plurals.n_members, memberCount, memberCount);
diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java b/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java
index e3a665e5b..fd63c3a0c 100644
--- a/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java
+++ b/src/main/java/org/thoughtcrime/securesms/ProfileFragment.java
@@ -294,7 +294,7 @@ public class ProfileFragment extends Fragment
mode.finish();
})
.setNegativeButton(android.R.string.cancel, null)
- .setMessage(getString(dcChat.isBroadcast() ? R.string.ask_remove_from_broadcast : R.string.ask_remove_members, readableToDelList))
+ .setMessage(getString(dcChat.isOutBroadcast() ? R.string.ask_remove_from_channel : R.string.ask_remove_members, readableToDelList))
.show();
Util.redPositiveButton(dialog);
return true;
diff --git a/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java b/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java
index 185b0d307..dfa694c79 100644
--- a/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java
+++ b/src/main/java/org/thoughtcrime/securesms/accounts/AccountSelectionListFragment.java
@@ -41,6 +41,8 @@ import org.thoughtcrime.securesms.recipients.Recipient;
import org.thoughtcrime.securesms.util.Util;
import org.thoughtcrime.securesms.util.ViewUtil;
+import java.util.Arrays;
+
public class AccountSelectionListFragment extends DialogFragment implements DcEventCenter.DcEventDelegate
{
private static final String TAG = AccountSelectionListFragment.class.getSimpleName();
@@ -134,9 +136,35 @@ public class AccountSelectionListFragment extends DialogFragment implements DcEv
onToggleMute(accountId);
} else if (itemId == R.id.menu_set_tag) {
onSetTag(accountId);
+ } else if (itemId == R.id.menu_move_to_top) {
+ onMoveToTop(accountId);
}
}
+ private void onMoveToTop(int accountId) {
+ Activity activity = getActivity();
+ if (activity == null) return;
+
+ int[] accountIds = DcHelper.getAccounts(activity).getAll();
+ Integer[] ids = new Integer[accountIds.length];
+ ids[0] = accountId;
+ int j = 1;
+ for (int accId : accountIds) {
+ if (accId != accountId) {
+ ids[j++] = accId;
+ }
+ }
+
+ Rpc rpc = DcHelper.getRpc(activity);
+ try {
+ rpc.setAccountsOrder(Arrays.asList(ids));
+ } catch (RpcException e) {
+ Log.e(TAG, "Error calling rpc.setAccountsOrder()", e);
+ }
+
+ refreshData();
+ }
+
private void onSetTag(int accountId) {
Activity activity = getActivity();
if (activity == null) return;
diff --git a/src/main/java/org/thoughtcrime/securesms/connect/DcContactsLoader.java b/src/main/java/org/thoughtcrime/securesms/connect/DcContactsLoader.java
index 685279c42..3715819f3 100644
--- a/src/main/java/org/thoughtcrime/securesms/connect/DcContactsLoader.java
+++ b/src/main/java/org/thoughtcrime/securesms/connect/DcContactsLoader.java
@@ -51,8 +51,13 @@ public class DcContactsLoader extends AsyncLoader {
}
if (query == null && addCreateGroupLinks) {
additional_items = Util.appendInt(additional_items, DcContact.DC_CONTACT_ID_NEW_GROUP);
- final boolean broadcastsEnabled = Prefs.isNewBroadcastListAvailable(getContext());
- if (broadcastsEnabled) additional_items = Util.appendInt(additional_items, DcContact.DC_CONTACT_ID_NEW_BROADCAST_LIST);
+
+ final boolean broadcastsEnabled = Prefs.isNewBroadcastAvailable(getContext());
+ if (broadcastsEnabled) additional_items = Util.appendInt(additional_items, DcContact.DC_CONTACT_ID_NEW_BROADCAST);
+
+ if (!dcContext.isChatmail()) {
+ additional_items = Util.appendInt(additional_items, DcContact.DC_CONTACT_ID_NEW_UNENCRYPTED_GROUP);
+ }
}
int[] all_ids = new int[contact_ids.length + additional_items.length];
System.arraycopy(additional_items, 0, all_ids, 0, additional_items.length);
diff --git a/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java b/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java
index f4c944032..513871d6f 100644
--- a/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java
+++ b/src/main/java/org/thoughtcrime/securesms/connect/DcHelper.java
@@ -194,7 +194,7 @@ public class DcHelper {
dcContext.setStockTranslation(112, context.getString(R.string.error_x));
dcContext.setStockTranslation(113, context.getString(R.string.not_supported_by_provider));
dcContext.setStockTranslation(114, context.getString(R.string.messages));
- dcContext.setStockTranslation(115, context.getString(R.string.broadcast_list));
+ dcContext.setStockTranslation(115, context.getString(R.string.channel));
dcContext.setStockTranslation(116, context.getString(R.string.part_of_total_used));
dcContext.setStockTranslation(117, context.getString(R.string.secure_join_started));
dcContext.setStockTranslation(118, context.getString(R.string.secure_join_replies));
@@ -256,6 +256,7 @@ public class DcHelper {
dcContext.setStockTranslation(177, context.getString(R.string.reaction_by_other));
dcContext.setStockTranslation(190, context.getString(R.string.secure_join_wait));
dcContext.setStockTranslation(192, context.getString(R.string.secure_join_takes_longer));
+ dcContext.setStockTranslation(193, context.getString(R.string.donate_device_msg));
}
public static File getImexDir() {
@@ -481,16 +482,6 @@ public class DcHelper {
}
}
- public static void showVerificationBrokenDialog(Context context, String name) {
- new AlertDialog.Builder(context)
- .setMessage(context.getString(R.string.chat_protection_broken_explanation, name))
- .setNeutralButton(R.string.learn_more, (d, w) -> openHelp(context, "#nocryptanymore"))
- .setNegativeButton(R.string.qrscan_title, (d, w) -> context.startActivity(new Intent(context, QrActivity.class)))
- .setPositiveButton(R.string.ok, null)
- .setCancelable(true)
- .show();
- }
-
public static void showProtectionEnabledDialog(Context context) {
new AlertDialog.Builder(context)
.setMessage(context.getString(R.string.chat_protection_enabled_explanation))
diff --git a/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListAdapter.java b/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListAdapter.java
index 56cd0e765..300afece7 100644
--- a/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListAdapter.java
+++ b/src/main/java/org/thoughtcrime/securesms/contacts/ContactSelectionListAdapter.java
@@ -268,8 +268,10 @@ public class ContactSelectionListAdapter extends RecyclerView.Adapter contacts = new LinkedList<>();
- private final boolean isBroadcast;
+ private final boolean isBroadcast;
+ private final boolean isUnencrypted;
@NonNull private final DcContext dcContext;
@NonNull private final GlideRequests glideRequests;
public SelectedContactsAdapter(@NonNull Context context,
@NonNull GlideRequests glideRequests,
- boolean isBroadcast)
+ boolean isBroadcast, boolean isUnencrypted)
{
this.context = context;
this.glideRequests = glideRequests;
this.isBroadcast = isBroadcast;
+ this.isUnencrypted = isUnencrypted;
this.dcContext = DcHelper.getContext(context);
}
@@ -112,7 +114,7 @@ public class SelectedContactsAdapter extends BaseAdapter {
boolean verified = false;
if(contactId == DcContact.DC_CONTACT_ID_ADD_MEMBER) {
- name.setText(context.getString(isBroadcast? R.string.add_recipients : R.string.group_add_members));
+ name.setText(context.getString(isBroadcast || isUnencrypted? R.string.add_recipients : R.string.group_add_members));
name.setTypeface(null, Typeface.BOLD);
phone.setVisibility(View.GONE);
} else {
diff --git a/src/main/res/drawable/ic_verified_broken.xml b/src/main/res/drawable/ic_verified_broken.xml
deleted file mode 100644
index 170164366..000000000
--- a/src/main/res/drawable/ic_verified_broken.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
diff --git a/src/main/res/layout/group_create_activity.xml b/src/main/res/layout/group_create_activity.xml
index 71598439d..bb15011c1 100644
--- a/src/main/res/layout/group_create_activity.xml
+++ b/src/main/res/layout/group_create_activity.xml
@@ -44,7 +44,7 @@
android:layout_marginEnd="16dp"
android:layout_marginTop="16dp"
android:textSize="18sp"
- android:text="@string/chat_new_broadcast_hint" />
+ android:text="@string/chat_new_channel_hint" />
+
+
diff --git a/src/main/res/menu/group_create.xml b/src/main/res/menu/group_create.xml
index 34eee4d8e..3d96c1e46 100644
--- a/src/main/res/menu/group_create.xml
+++ b/src/main/res/menu/group_create.xml
@@ -2,7 +2,7 @@