Merge remote-tracking branch 'upstream/master'

This commit is contained in:
adbenitez
2023-01-15 16:24:58 -05:00
26 changed files with 134 additions and 21 deletions
+19
View File
@@ -1,5 +1,24 @@
# Delta Chat Android Changelog
## v1.34.10
2023-01
* fix: make archived chats visible that don't get unarchived automatically (muted chats):
add an unread counter and move the archive to the top
* fix: send AVIF, HEIC, TXT, PPT, XLS, XML files as such
* fix: trigger reconnection when failing to fetch existing messages
* fix: do not retry fetching existing messages after failure, prevents infinite reconnection loop
* fix: do not add an error if the message is encrypted but not signed
* fix: do not strip leading spaces from message lines
* fix corner cases on sending quoted texts
* fix STARTTLS connection
* fix: do not treat invalid email addresses as an exception
* fix: flush relative database paths introduced in 1.34.8 in time
* faster updates of chat lists and contact list
* update translations
* update to core106
## v1.34.8
2022-12
+2 -2
View File
@@ -102,8 +102,8 @@ android {
useLibrary 'org.apache.http.legacy'
defaultConfig {
versionCode 644
versionName "1.34.8"
versionCode 646
versionName "1.34.10"
applicationId "com.b44t.messenger"
multiDexEnabled true
+13
View File
@@ -0,0 +1,13 @@
fix: make archived chats visible that don't get unarchived automatically (muted chats): add an unread counter and move the archive to the top
fix: send AVIF, HEIC, TXT, PPT, XLS, XML files as such
fix: trigger reconnection when failing to fetch existing messages
fix: do not retry fetching existing messages after failure, prevents infinite reconnection loop
fix: do not add an error if the message is encrypted but not signed
fix: do not strip leading spaces from message lines
fix corner cases on sending quoted texts
fix STARTTLS connection
fix: do not treat invalid email addresses as an exception
fix: flush relative database paths introduced in 1.34.8 in time
faster updates of chat lists and contact list
update translations
update to core106
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:title="@string/mark_all_as_read"
android:id="@+id/mark_as_read"
app:showAsAction="never"/>
</menu>
+6 -1
View File
@@ -48,6 +48,10 @@
<string name="start_chat">Chat starten</string>
<string name="show_full_message">Ganze Nachricht anzeigen…</string>
<string name="show_full_message_in_browser">Ganze Nachricht im Browser anzeigen…</string>
<!-- Stay short here, say ~16 characters. The source string could also be "All Read", maybe that hint can make translations easier :) -->
<string name="mark_all_as_read">Alles Gelesen</string>
<!-- Shortest text for "Mark as being read". In english, this could be "Read" (past tense of "to read"), in german, this could be "Gelesen". -->
<string name="mark_as_read_short">Gelesen</string>
<!-- Placeholder text when something is loading -->
<string name="loading">Wird geladen…</string>
<string name="hide">Verstecken</string>
@@ -738,8 +742,9 @@
<string name="remove_member_by_you">Sie haben %1$s entfernt.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">%1$s entfernt von %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Sie haben die Gruppe verlassen.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Gruppe verlassen von %1$s.</string>
<string name="group_image_deleted_by_you">Sie haben das Gruppenbild gelöscht.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -738,8 +738,9 @@
<string name="remove_member_by_you">Αφαίρεσες τον/την %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Ο/Η %2$s αφαίρεσε τον/την %1$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Έφυγες απ\' την ομάδα.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Ο/Η %1$s έφυγε απ\' την ομαδα.</string>
<string name="group_image_deleted_by_you">Διαγράψατε την εικόνα της ομάδας.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -761,8 +761,9 @@
<string name="remove_member_by_you">Eliminaste al miembro %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Miembro %1$s eliminado por %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Abandonaste el grupo.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Grupo abandonado por %1$s.</string>
<string name="group_image_deleted_by_you">Eliminaste la imagen del grupo.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -751,8 +751,9 @@ https://meet.jit.si/$ROOM
<string name="remove_member_by_you">شما عضویت %1$s را حذف کردید. </string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">عضویت %1$s توسط %2$s حذف شد. </string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">شما گروه را ترک کردید.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">ترک گروه توسط %1$s.</string>
<string name="group_image_deleted_by_you">شما تصویر گروه را حذف کردید.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -738,8 +738,9 @@
<string name="remove_member_by_you">Jäsen %1$s poistettu minun toimestani.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Jäsen %1$s poistettu käyttäjän %2$s toimesta.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Poistuit ryhmästä.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s poistui ryhmästä.</string>
<string name="group_image_deleted_by_you">Ryhmän kuva poistettu minun toimestani.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -753,8 +753,9 @@
<string name="remove_member_by_you">Membre %1$s retiré par vous.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Membre %1$s retiré par %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Vous avez quitté le groupe.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s a quitté le groupe.</string>
<string name="group_image_deleted_by_you">Image du groupe effacée par vous.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -738,8 +738,9 @@
<string name="remove_member_by_you">Eliminaches a %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">%1$s eliminado por %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Saíches do grupo</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s deixou o grupo.</string>
<string name="group_image_deleted_by_you">Eliminaches a imaxe do grupo</string>
<!-- %1$s will be replaced by name and address of the contact -->
+6 -1
View File
@@ -48,6 +48,10 @@
<string name="start_chat">Inizia una Chat</string>
<string name="show_full_message">Mostra Messaggio Completo…</string>
<string name="show_full_message_in_browser">Mostra Messaggio Completo nel Browser…</string>
<!-- Stay short here, say ~16 characters. The source string could also be "All Read", maybe that hint can make translations easier :) -->
<string name="mark_all_as_read">Segna Tutti come Letti</string>
<!-- Shortest text for "Mark as being read". In english, this could be "Read" (past tense of "to read"), in german, this could be "Gelesen". -->
<string name="mark_as_read_short">Leggi</string>
<!-- Placeholder text when something is loading -->
<string name="loading">Caricamento in Corso…</string>
<string name="hide">Nascondi</string>
@@ -753,8 +757,9 @@
<string name="remove_member_by_you">Hai rimosso il membro %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Membro %1$s rimosso da %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Hai lasciato il gruppo.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Gruppo lasciato da %1$s.</string>
<string name="group_image_deleted_by_you">Hai eliminato l\'immagine del gruppo.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+1
View File
@@ -701,6 +701,7 @@
<string name="remove_member_by_you">%1$s를 멤버에서 제거함.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">%2$s가 %1$s를 멤버에서 제거함.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">그룹을 나갔습니다.</string>
<string name="group_image_deleted_by_you">그룹 이미지를 지움.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -738,8 +738,9 @@
<string name="remove_member_by_you">Je hebt ‘%1$s’ verwijderd.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">‘%1$s’ is verwijderd door %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Je hebt de groep verlaten.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">De groep is verlaten door %1$s.</string>
<string name="group_image_deleted_by_you">Je hebt de groepsafbeelding verwijderd.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+6 -1
View File
@@ -48,6 +48,10 @@
<string name="start_chat">Rozpocznij czat</string>
<string name="show_full_message">Pokaż całą wiadomość…</string>
<string name="show_full_message_in_browser">Pokaż całą wiadomość w przeglądarce…</string>
<!-- Stay short here, say ~16 characters. The source string could also be "All Read", maybe that hint can make translations easier :) -->
<string name="mark_all_as_read">Wszys. przeczyt.</string>
<!-- Shortest text for "Mark as being read". In english, this could be "Read" (past tense of "to read"), in german, this could be "Gelesen". -->
<string name="mark_as_read_short">Przeczytane</string>
<!-- Placeholder text when something is loading -->
<string name="loading">Ładowanie…</string>
<string name="hide">Ukryj</string>
@@ -768,8 +772,9 @@
<string name="remove_member_by_you">Usunięto członka %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Użytkownik %2$s usunął członka %1$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Opuszczono grupę</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Grupa opuszczona przez %1$s.</string>
<string name="group_image_deleted_by_you">Usunięto obraz grupy.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -753,8 +753,9 @@
<string name="remove_member_by_you">Você removeu o membro %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Membro %1$s removido por %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Você saiu do grupo.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Grupo deixado por %1$s.</string>
<string name="group_image_deleted_by_you">Você removeu a imagem do grupo.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -768,8 +768,9 @@
<string name="remove_member_by_you">Вы удалили участника %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Участник %1$s удален %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Вы вышли из группы.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s вышел из группы.</string>
<string name="group_image_deleted_by_you">Вы удалили изображение группы.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -765,8 +765,9 @@
<string name="remove_member_by_you">Člen %1$s bol odstránený mnou.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Člen %1$s bol odstránený od %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Opustili ste skupinu</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Skupinu opustil(a) %1$s.</string>
<string name="group_image_deleted_by_you">Odstránili ste obrázok skupiny.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -735,8 +735,9 @@
<string name="remove_member_by_you">Hoqët anëtarin %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">Anëtari %1$s u hoq nga %2$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">E braktisët grupin.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">Grupi u braktis nga %1$s.</string>
<string name="group_image_deleted_by_you">Fshitë figurën e grupit.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -738,8 +738,9 @@
<string name="remove_member_by_you">%1$s üyesini kaldırdınız.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">%2$s tarafından %1$s üyesi kaldırıldı.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Gruptan ayrıldınız.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s tarafından gruptan ayrılındı.</string>
<string name="group_image_deleted_by_you">Grup görselini sildiniz.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+2 -1
View File
@@ -768,8 +768,9 @@
<string name="remove_member_by_you">Ви видалили учасника %1$s.</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">%2$s видалили учасника %1$s.</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">Ви залишили групу.</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s залишили групу.</string>
<string name="group_image_deleted_by_you">Ви видалили зображення групи.</string>
<!-- %1$s will be replaced by name and address of the contact -->
+6 -1
View File
@@ -48,6 +48,10 @@
<string name="start_chat">开始聊天</string>
<string name="show_full_message">显示完整消息… </string>
<string name="show_full_message_in_browser">在浏览器中显示完整消息…</string>
<!-- Stay short here, say ~16 characters. The source string could also be "All Read", maybe that hint can make translations easier :) -->
<string name="mark_all_as_read">将所有标记为已读</string>
<!-- Shortest text for "Mark as being read". In english, this could be "Read" (past tense of "to read"), in german, this could be "Gelesen". -->
<string name="mark_as_read_short">已读</string>
<!-- Placeholder text when something is loading -->
<string name="loading">加载中…</string>
<string name="hide">隐藏</string>
@@ -723,8 +727,9 @@
<string name="remove_member_by_you">你移除了成员 %1$s</string>
<!-- %1$s will be replaced by name and address of the contact removed from the group, %2$s will be replaced by name and address of the contact who did the action -->
<string name="remove_member_by_other">%2$s 移除了成员 %1$s</string>
<!-- "left" in the meaning of "exited" -->
<string name="group_left_by_you">你退出了群组</string>
<!-- %1$s will be replaced by name and address of the contact -->
<!-- "left" in the meaning of "exited"; %1$s will be replaced by name and address of the contact leaving the group -->
<string name="group_left_by_other">%1$s 退出了群组</string>
<string name="group_image_deleted_by_you">你删除了群组图像</string>
<!-- %1$s will be replaced by name and address of the contact -->
+4
View File
@@ -49,6 +49,10 @@
<string name="start_chat">Start Chat</string>
<string name="show_full_message">Show Full Message…</string>
<string name="show_full_message_in_browser">Show Full Message in Browser…</string>
<!-- Stay short here, say ~16 characters. The source string could also be "All Read", maybe that hint can make translations easier :) -->
<string name="mark_all_as_read">Mark All as Read</string>
<!-- Shortest text for "Mark as being read". In english, this could be "Read" (past tense of "to read"), in german, this could be "Gelesen". -->
<string name="mark_as_read_short">Read</string>
<!-- Placeholder text when something is loading -->
<string name="loading">Loading…</string>
<string name="hide">Hide</string>
@@ -99,6 +99,12 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
// update messages - for new messages, do not reuse or modify strings but create new ones.
// it is not needed to keep all past update messages, however, when deleted, also the strings should be deleted.
DcContext dcContext = DcHelper.getContext(this);
if (dcContext.wasDeviceMsgEverAdded("update_1_34d_android")) {
// no need to explain the new archive position on new installations; it should just feel natural and overall more intuitive.
DcMsg msg2 = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT);
msg2.setText("\uD83D\uDDC4️ More handy and common \"Archive\" in 1.34.10: \"Unread counters\" and moving things into view fixes issues with chats that stay in archive.\n\nFor other recent bugfixes, see https://get.delta.chat/#changelogs");
dcContext.addDeviceMsg("update_1_34_10_android", msg2);
}
DcMsg msg = new DcMsg(dcContext, DcMsg.DC_MSG_TEXT);
msg.setText(getString(R.string.update_1_33_tips));
dcContext.addDeviceMsg("update_1_33a_tips", msg);
@@ -417,6 +423,7 @@ public class ConversationListActivity extends PassphraseRequiredActionBarActivit
} else {
startActivity(intent);
}
overridePendingTransition(R.anim.slide_from_right, R.anim.fade_scale_out);
}
@Override
@@ -2,8 +2,13 @@ package org.thoughtcrime.securesms;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import com.b44t.messenger.DcChat;
import org.thoughtcrime.securesms.connect.DcHelper;
import org.thoughtcrime.securesms.util.DynamicLanguage;
import org.thoughtcrime.securesms.util.DynamicTheme;
@@ -50,6 +55,12 @@ public class ConversationListArchiveActivity extends PassphraseRequiredActionBar
setIntent(intent);
}
@Override
protected void onPause() {
super.onPause();
if (isFinishing()) overridePendingTransition(R.anim.fade_scale_in, R.anim.slide_to_right);
}
@Override
public void onResume() {
super.onResume();
@@ -57,12 +68,28 @@ public class ConversationListArchiveActivity extends PassphraseRequiredActionBar
dynamicLanguage.onResume(this);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = this.getMenuInflater();
menu.clear();
inflater.inflate(R.menu.archived_list, menu);
super.onPrepareOptionsMenu(menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case android.R.id.home: super.onBackPressed(); return true;
case android.R.id.home:
super.onBackPressed();
return true;
case R.id.mark_as_read:
DcHelper.getContext(this).marknoticedChat(DcChat.DC_CHAT_ID_ARCHIVED_LINK);
return true;
}
return false;