From c623343b044f2406ce0abcb1c47f579ead8062f6 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 10 Nov 2025 14:44:07 +0100 Subject: [PATCH 01/49] add dotdotdot to 'share with' --- src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index e95525072..288439e23 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -459,7 +459,7 @@ Tap and hold to record a voice message, release to send No Chats.\nPress \"+\" to start a new chat. All chats archived.\nPress \"+\" to start a new chat. - Share with + Share with… Message Archived Request From 147de536f7085c4dbd7a02f9120da9276d026d00 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 10 Nov 2025 17:22:33 +0100 Subject: [PATCH 02/49] remove deprecated unused profileView parameter in setTitle --- .../securesms/ConversationTitleView.java | 22 +++++-------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java index 3a46c7c74..76c11e6d3 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java @@ -56,10 +56,6 @@ public class ConversationTitleView extends RelativeLayout { } public void setTitle(@NonNull GlideRequests glideRequests, @NonNull DcChat dcChat) { - setTitle(glideRequests, dcChat, false); - } - - public void setTitle(@NonNull GlideRequests glideRequests, @NonNull DcChat dcChat, boolean profileView) { final int chatId = dcChat.getId(); final Context context = getContext(); final DcContext dcContext = DcHelper.getContext(context); @@ -71,21 +67,13 @@ public class ConversationTitleView extends RelativeLayout { boolean isOnline = false; int[] chatContacts = dcContext.getChatContacts(chatId); if (dcChat.isMailingList()) { - if (profileView) { - subtitleStr = dcChat.getMailinglistAddr(); - } else { - subtitleStr = context.getString(R.string.mailing_list); - } + subtitleStr = context.getString(R.string.mailing_list); } 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); - } + subtitleStr = context.getResources().getQuantityString(R.plurals.n_recipients, chatContacts.length, chatContacts.length); } else if( dcChat.isMultiUser() ) { - if (!profileView) { - subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length); - } + subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length); } else if( chatContacts.length>=1 ) { if( dcChat.isSelfTalk() ) { subtitleStr = context.getString(R.string.chat_self_talk_subtitle); @@ -95,9 +83,9 @@ public class ConversationTitleView extends RelativeLayout { } else { DcContact dcContact = dcContext.getContact(chatContacts[0]); - if (!profileView && dcContact.isBot()) { + if (dcContact.isBot()) { subtitleStr = context.getString(R.string.bot); - } else if (profileView || !dcChat.isEncrypted()) { + } else if (!dcChat.isEncrypted()) { subtitleStr = dcContact.getAddr(); } isOnline = dcContact.wasSeenRecently(); From 01ac63714260fa9c53fd206e61aa207262bcbd77 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 10 Nov 2025 17:30:32 +0100 Subject: [PATCH 03/49] only show group member count if dcChat.canSend() is true --- .../org/thoughtcrime/securesms/ConversationTitleView.java | 6 +++++- .../java/org/thoughtcrime/securesms/ProfileAvatarItem.java | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java index 76c11e6d3..d8dff85da 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java @@ -73,7 +73,11 @@ public class ConversationTitleView extends RelativeLayout { } else if (dcChat.isOutBroadcast()) { subtitleStr = context.getResources().getQuantityString(R.plurals.n_recipients, chatContacts.length, chatContacts.length); } else if( dcChat.isMultiUser() ) { - subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length); + if (dcChat.canSend()) { + subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length); + } else { + subtitleStr = "…"; + } } else if( chatContacts.length>=1 ) { if( dcChat.isSelfTalk() ) { subtitleStr = context.getString(R.string.chat_self_talk_subtitle); diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java b/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java index 8a031f8b0..5d08dac7d 100644 --- a/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java +++ b/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java @@ -60,7 +60,9 @@ public class ProfileAvatarItem extends LinearLayout implements RecipientModified } 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); + if (dcChat.canSend()) { + subtitle = getContext().getResources().getQuantityString(R.plurals.n_members, memberCount, memberCount); + } } } else if (dcContact != null) { recipient = new Recipient(getContext(), dcContact); From 780df4df46762b1d1dccc02180e5ef23cc65d0e2 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 10 Nov 2025 17:35:14 +0100 Subject: [PATCH 04/49] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 610d56e83..938ffcc5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased * Change color of links in text messages +* Do not show "1 member" when the process of joining the group is not finished * Tweak advanced section and wording of some advanced options ## v2.25.0 From 45ba60482054c96676628d7838bc2586ce14a866 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 10 Nov 2025 18:03:30 +0100 Subject: [PATCH 05/49] don't show weird dialog if recoding video fails --- .../securesms/video/recode/VideoRecoder.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/video/recode/VideoRecoder.java b/src/main/java/org/thoughtcrime/securesms/video/recode/VideoRecoder.java index 79ce14377..a8b1cbd65 100644 --- a/src/main/java/org/thoughtcrime/securesms/video/recode/VideoRecoder.java +++ b/src/main/java/org/thoughtcrime/securesms/video/recode/VideoRecoder.java @@ -554,6 +554,8 @@ public class VideoRecoder { // the function fills out missing information and also recodes the video as needed. // return: true=video might be prepared, can be sent, false=error public static boolean prepareVideo(Context context, int chatId, DcMsg msg) { + final long MAX_BYTES = DcHelper.getInt(context, "sys.msgsize_max_recommended"); + final String TOO_BIG_FILE = "Video cannot be compressed to a reasonable size. Try a shorter video or a lower quality."; try { String inPath = msg.getFile(); Log.i(TAG, "Preparing video: " + inPath); @@ -561,9 +563,14 @@ public class VideoRecoder { // try to get information from video file VideoEditedInfo vei = getVideoEditInfoFromFile(inPath); if (vei == null) { - alert(context, String.format("Recoding failed for %s: cannot get info", inPath)); - return false; + Log.w(TAG, String.format("Recoding failed for %s: cannot get info", inPath)); + if (msg.getFilebytes() > MAX_BYTES+MAX_BYTES/4) { + alert(context, TOO_BIG_FILE); + return false; + } + return true; // if the file is small, send it without recoding } + vei.rotationValue = vei.originalRotationValue; vei.startTime = 0; vei.endTime = -1; @@ -579,7 +586,6 @@ public class VideoRecoder { // check if video bitrate is already reasonable final int MAX_KBPS = 1500000; - final long MAX_BYTES = DcHelper.getInt(context, "sys.msgsize_max_recommended"); long inBytes = new File(inPath).length(); if (inBytes > 0 && inBytes <= MAX_BYTES && vei.originalVideoBitrate <= MAX_KBPS*2 /*be tolerant as long the file size matches*/) { Log.i(TAG, String.format("recoding for %s is not needed, %d bytes and %d kbps are ok", inPath, inBytes, vei.originalVideoBitrate)); @@ -627,7 +633,7 @@ public class VideoRecoder { vei.resultVideoBitrate, vei.originalDurationMs, vei.originalAudioBytes); if (vei.estimatedBytes > MAX_BYTES+MAX_BYTES/4) { - alert(context, "Video cannot be compressed to a reasonable size. Try a shorter video or a lower quality."); + alert(context, TOO_BIG_FILE); return false; } From 5f33c8a56d2570fd4d985c99d243ca86565cc32d Mon Sep 17 00:00:00 2001 From: adbenitez Date: Mon, 10 Nov 2025 18:04:45 +0100 Subject: [PATCH 06/49] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 610d56e83..d8de38c8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased * Change color of links in text messages +* Improve handling of video recoding * Tweak advanced section and wording of some advanced options ## v2.25.0 From 306064e260f99f48a7f58b01939885d10d3abe30 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Wed, 12 Nov 2025 00:09:13 +0100 Subject: [PATCH 07/49] only show three-dots if self is not in chat --- src/main/java/com/b44t/messenger/DcChat.java | 9 +++++++++ .../thoughtcrime/securesms/ConversationTitleView.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/b44t/messenger/DcChat.java b/src/main/java/com/b44t/messenger/DcChat.java index 90497a797..f236ee280 100644 --- a/src/main/java/com/b44t/messenger/DcChat.java +++ b/src/main/java/com/b44t/messenger/DcChat.java @@ -67,6 +67,15 @@ public class DcChat { return getType() == DC_CHAT_TYPE_OUT_BROADCAST; } + public boolean isSelfInChat(DcContext dcContext) { + for (int contactId : dcContext.getChatContacts(getId())) { + if (contactId == DcContact.DC_CONTACT_ID_SELF) { + return true; + } + } + return false; + } + // working with raw c-data private long chatCPtr; // CAVE: the name is referenced in the JNI diff --git a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java index d8dff85da..c7aab2dfd 100644 --- a/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java +++ b/src/main/java/org/thoughtcrime/securesms/ConversationTitleView.java @@ -73,7 +73,7 @@ public class ConversationTitleView extends RelativeLayout { } else if (dcChat.isOutBroadcast()) { subtitleStr = context.getResources().getQuantityString(R.plurals.n_recipients, chatContacts.length, chatContacts.length); } else if( dcChat.isMultiUser() ) { - if (dcChat.canSend()) { + if (dcChat.isSelfInChat(dcContext)) { subtitleStr = context.getResources().getQuantityString(R.plurals.n_members, chatContacts.length, chatContacts.length); } else { subtitleStr = "…"; From 334893071bd3bbc17df5bb4cdb786de81ea3eed7 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Wed, 12 Nov 2025 00:15:36 +0100 Subject: [PATCH 08/49] use DcChat.isSelfInChat in ProfileAvatarItem --- .../java/org/thoughtcrime/securesms/ProfileAvatarItem.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java b/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java index 5d08dac7d..24e8e0e8c 100644 --- a/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java +++ b/src/main/java/org/thoughtcrime/securesms/ProfileAvatarItem.java @@ -13,6 +13,7 @@ import com.b44t.messenger.DcChat; import com.b44t.messenger.DcContact; import org.thoughtcrime.securesms.components.AvatarView; +import org.thoughtcrime.securesms.connect.DcHelper; import org.thoughtcrime.securesms.mms.GlideRequests; import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientModifiedListener; @@ -60,7 +61,7 @@ public class ProfileAvatarItem extends LinearLayout implements RecipientModified } else if (dcChat.isOutBroadcast()) { subtitle = getContext().getResources().getQuantityString(R.plurals.n_recipients, memberCount, memberCount); } else if (dcChat.getType() == DcChat.DC_CHAT_TYPE_GROUP) { - if (dcChat.canSend()) { + if (dcChat.isSelfInChat(DcHelper.getContext(getContext()))) { subtitle = getContext().getResources().getQuantityString(R.plurals.n_members, memberCount, memberCount); } } From b809fc007b8442919e14ce9df8597d27769a92ce Mon Sep 17 00:00:00 2001 From: adbenitez Date: Wed, 12 Nov 2025 16:46:21 +0100 Subject: [PATCH 09/49] implement Service.onTimeout() in FetchForegroundService --- .../securesms/service/FetchForegroundService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java b/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java index 341559663..bf8b6218c 100644 --- a/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java +++ b/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java @@ -108,4 +108,15 @@ public final class FetchForegroundService extends Service { public IBinder onBind(Intent intent) { return null; } + + @Override + public void onTimeout(int startId, int fgsType) { + if (fetchingSynchronously) { + fetchingSynchronously = false; + synchronized (STOP_NOTIFIER) { + STOP_NOTIFIER.notifyAll(); + } + } + } + } From a06f77b5f892ee4534ab029f7f7eca1be6f8757c Mon Sep 17 00:00:00 2001 From: adbenitez Date: Wed, 12 Nov 2025 16:57:32 +0100 Subject: [PATCH 10/49] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f16c6e030..5118eadcc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Do not show "1 member" when the process of joining the group is not finished * Improve handling of video recoding * Tweak advanced section and wording of some advanced options +* Fix: avoid crash in push notifications handling ## v2.25.0 2025-11 From 68e8b64b47e6a94e748e48b50bb0ff89aab86881 Mon Sep 17 00:00:00 2001 From: adbenitez Date: Wed, 12 Nov 2025 17:00:36 +0100 Subject: [PATCH 11/49] stop service in onTimeout --- .../thoughtcrime/securesms/service/FetchForegroundService.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java b/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java index bf8b6218c..c76d853b2 100644 --- a/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java +++ b/src/main/java/org/thoughtcrime/securesms/service/FetchForegroundService.java @@ -117,6 +117,7 @@ public final class FetchForegroundService extends Service { STOP_NOTIFIER.notifyAll(); } } + stopSelf(); } } From 42d0a40f586f60b6e8a35b24204ce41db8f9d54b Mon Sep 17 00:00:00 2001 From: adbenitez Date: Wed, 12 Nov 2025 17:47:52 +0100 Subject: [PATCH 12/49] unify multi-device into a single setting --- .../thoughtcrime/securesms/ApplicationContext.java | 5 +++++ .../preferences/AdvancedPreferenceFragment.java | 11 +++++------ .../preferences/ChatsPreferenceFragment.java | 6 +----- src/main/res/values/strings.xml | 4 ++-- src/main/res/xml/preferences_advanced.xml | 3 ++- 5 files changed, 15 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java b/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java index 5a0bafd8f..cc655b03e 100644 --- a/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java +++ b/src/main/java/org/thoughtcrime/securesms/ApplicationContext.java @@ -110,6 +110,11 @@ public class ApplicationContext extends MultiDexApplication { e.printStackTrace(); } } + + // 12.11.25: this is needed until core starts ignoring "delete_server_after" for chatmail + if (ac.isChatmail()) { + ac.setConfig("delete_server_after", null); // reset + } } if (allAccounts.length == 0) { try { diff --git a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java index 0d3f8f7cb..51aa1d11a 100644 --- a/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/preferences/AdvancedPreferenceFragment.java @@ -57,7 +57,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment private static final String TAG = AdvancedPreferenceFragment.class.getSimpleName(); private ListPreference showEmails; - CheckBoxPreference bccSelfCheckbox; + CheckBoxPreference multiDeviceCheckbox; CheckBoxPreference mvboxMoveCheckbox; CheckBoxPreference onlyFetchMvboxCheckbox; CheckBoxPreference webxdcRealtimeCheckbox; @@ -76,9 +76,9 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment }); } - bccSelfCheckbox = (CheckBoxPreference) this.findPreference("pref_bcc_self"); - if (bccSelfCheckbox != null) { - bccSelfCheckbox.setOnPreferenceChangeListener((preference, newValue) -> { + multiDeviceCheckbox = (CheckBoxPreference) this.findPreference("pref_bcc_self"); + if (multiDeviceCheckbox != null) { + multiDeviceCheckbox.setOnPreferenceChangeListener((preference, newValue) -> { boolean enabled = (Boolean) newValue; dcContext.setConfigInt(CONFIG_BCC_SELF, enabled? 1 : 0); return true; @@ -227,7 +227,6 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment if (dcContext.isChatmail()) { showEmails.setVisible(false); showSystemContacts.setVisible(false); - bccSelfCheckbox.setVisible(false); mvboxMoveCheckbox.setVisible(false); onlyFetchMvboxCheckbox.setVisible(false); } @@ -247,7 +246,7 @@ public class AdvancedPreferenceFragment extends ListSummaryPreferenceFragment showEmails.setValue(value); updateListSummary(showEmails, value); - bccSelfCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_BCC_SELF)); + multiDeviceCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_BCC_SELF)); mvboxMoveCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_MVBOX_MOVE)); onlyFetchMvboxCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_ONLY_FETCH_MVBOX)); webxdcRealtimeCheckbox.setChecked(0!=dcContext.getConfigInt(CONFIG_WEBXDC_REALTIME_ENABLED)); diff --git a/src/main/java/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java b/src/main/java/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java index f8ee836f6..eedae6a73 100644 --- a/src/main/java/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java +++ b/src/main/java/org/thoughtcrime/securesms/preferences/ChatsPreferenceFragment.java @@ -81,11 +81,7 @@ public class ChatsPreferenceFragment extends ListSummaryPreferenceFragment { autoDelServer.setOnPreferenceChangeListener(new AutodelChangeListener("delete_server_after")); } if (dcContext.isChatmail()) { - autoDelServer.setEntries(new CharSequence[]{getString(R.string.automatic), getString(R.string.autodel_at_once)}); - autoDelServer.setEntryValues(new CharSequence[]{"0", "1"}); - if (dcContext.getConfigInt("delete_server_after") > 1) { - dcContext.setConfigInt("delete_server_after", 0 /*never/automatic*/); - } + autoDelServer.setVisible(false); } } diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 288439e23..8f8ce0a53 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -803,8 +803,8 @@ If you change this option, make sure, your server and your other clients are configured accordingly.\n\nOtherwise things may not work at all. Watch Sent Folder - Send Copy to Self - Required when using this account on multiple devices. + Multi-device Mode + Required when using this profile on multiple devices. Move automatically to DeltaChat Folder Chat conversations are moved to avoid cluttering the Inbox Only Fetch from DeltaChat Folder diff --git a/src/main/res/xml/preferences_advanced.xml b/src/main/res/xml/preferences_advanced.xml index fa859928d..3d678ff97 100644 --- a/src/main/res/xml/preferences_advanced.xml +++ b/src/main/res/xml/preferences_advanced.xml @@ -79,7 +79,8 @@ + android:title="@string/pref_send_copy_to_self" + android:summary="@string/pref_send_copy_to_self_explain"/> Date: Wed, 12 Nov 2025 19:09:02 +0100 Subject: [PATCH 13/49] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f16c6e030..7c6ad71aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * Do not show "1 member" when the process of joining the group is not finished * Improve handling of video recoding * Tweak advanced section and wording of some advanced options +* Expose new "Multi-device mode" option instead of "Delete from server" for chatmail profiles ## v2.25.0 2025-11 From 199881e3b2b197e073546add31256821840ae05d Mon Sep 17 00:00:00 2001 From: Hocuri Date: Fri, 14 Nov 2025 15:13:49 +0100 Subject: [PATCH 14/49] feat: Rephrase "Establishing end-to-end encryption" -> "Establishing connection" --- src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 288439e23..0a39ad364 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -1030,7 +1030,7 @@ %1$s invited you to join this group.\n\nWaiting for the device of %2$s to reply… %1$s replied, waiting for being added to the group… - Establishing end-to-end encryption, please wait… + Establishing connection, please wait… %1$s introduced. Introduced by %1$s From 22921e72e9efee5e94784a93df0751a238aa206d Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 10 Nov 2025 14:59:04 +0100 Subject: [PATCH 15/49] reword 'classic email login' to 'use classic email as transport' --- src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 0a39ad364..d05370c5e 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -615,8 +615,8 @@ Create New Profile I Already Have a Profile - - Classic Email Login + + Use Classic Email as Transport Your Profile From ad5df50eb9da75fdaa310b83e7d993cbcf5aef35 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Mon, 10 Nov 2025 14:59:17 +0100 Subject: [PATCH 16/49] tune down the now advanced button --- src/main/res/layout/signup_options_view.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/res/layout/signup_options_view.xml b/src/main/res/layout/signup_options_view.xml index 9e3a64422..7962fd159 100644 --- a/src/main/res/layout/signup_options_view.xml +++ b/src/main/res/layout/signup_options_view.xml @@ -24,16 +24,6 @@ android:layout_marginBottom="16dp" android:text="@string/instant_onboarding_other_server"/> -