Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main'
Browse files Browse the repository at this point in the history
  • Loading branch information
adbenitez committed Oct 4, 2024
2 parents 9809e3e + f13251b commit 3080313
Show file tree
Hide file tree
Showing 75 changed files with 1,518 additions and 701 deletions.
32 changes: 31 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,34 @@
# Delta Chat Android Changelog
# ArcaneChat Android Changelog

## v1.46.15
2024-09

* new proxy settings screen available at "Advanced / Proxy"
* manage a list of HTTP(S), SOCKS5 or Shadowsocks proxies
* proxies icon shown on the chatlist if proxies are used
* improve profile deletion dialog: show name, size and avatar of the profile being deleted
* improve notification: allow to "Mark Read" from the notification
* automatic reconfiguration, e.g. switching to implicit TLS if STARTTLS port stops working
* parallelize IMAP and SMTP connection attempts
* always use preloaded DNS results
* always move auto-generated messages to DeltaChat folder
* ignore invalid securejoin messages silently
* delete messages from a chatmail server immediately by default
* make resending pending messages possible
* don't SMTP-send messages to self-chat if BccSelf is disabled
* HTTP(S) tunneling
* don't put displayname into From/To/Sender if it equals to address
* hide sync messages from INBOX (use IMAP APPEND command to upload sync messages)
* more verbose SMTP connection establishment errors
* log unexpected message state when resending fails
* fix: avoid app being killed when processing a PUSH notification
* fix crash when refreshing avatar
* fix crash in gallery
* fix: shorten message text in locally sent messages too
* fix: Set http I/O timeout to 1 minute rather than whole request timeout
* fix: don't sync QR code token before populating the group
* update to core 1.145.0


## v1.46.14
2024-09
Expand Down
6 changes: 6 additions & 0 deletions jni/dc_wrapper.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,12 @@ JNIEXPORT void Java_com_b44t_messenger_DcAccounts_setPushDeviceToken(JNIEnv *env
}


JNIEXPORT jboolean Java_com_b44t_messenger_DcAccounts_backgroundFetch(JNIEnv *env, jobject obj, jint timeout_seconds)
{
return dc_accounts_background_fetch(get_dc_accounts(env, obj), timeout_seconds) != 0;
}


JNIEXPORT jint Java_com_b44t_messenger_DcAccounts_addAccount(JNIEnv *env, jobject obj)
{
return dc_accounts_add_account(get_dc_accounts(env, obj));
Expand Down
2 changes: 1 addition & 1 deletion jni/deltachat-core-rust
Submodule deltachat-core-rust updated 58 files
+90 −0 CHANGELOG.md
+35 −0 CONTRIBUTING.md
+251 −243 Cargo.lock
+18 −16 Cargo.toml
+1 −1 deltachat-ffi/Cargo.toml
+2 −5 deltachat-ffi/deltachat.h
+1 −4 deltachat-ffi/src/lib.rs
+21 −24 deltachat-ffi/src/lot.rs
+1 −1 deltachat-jsonrpc/Cargo.toml
+3 −14 deltachat-jsonrpc/src/api/types/qr.rs
+1 −1 deltachat-jsonrpc/typescript/package.json
+3 −12 deltachat-jsonrpc/typescript/test/online.ts
+1 −1 deltachat-repl/Cargo.toml
+1 −1 deltachat-rpc-client/pyproject.toml
+4 −4 deltachat-rpc-client/tests/test_securejoin.py
+1 −1 deltachat-rpc-server/Cargo.toml
+1 −1 deltachat-rpc-server/npm-package/package.json
+0 −14 deny.toml
+1 −1 node/constants.js
+1 −1 node/lib/constants.ts
+1 −1 package.json
+1 −1 python/pyproject.toml
+1 −3 python/src/deltachat/account.py
+5 −5 python/src/deltachat/testplugin.py
+11 −3 python/tests/test_1_online.py
+1 −1 python/tests/test_3_offline.py
+1 −1 release-date.in
+1 −1 scripts/update-provider-database.sh
+82 −45 src/chat.rs
+11 −4 src/config.rs
+6 −0 src/context.rs
+11 −1 src/download.rs
+47 −0 src/imap.rs
+0 −4 src/imex.rs
+14 −3 src/imex/transfer.rs
+7 −22 src/key.rs
+25 −24 src/mimefactory.rs
+18 −18 src/mimeparser.rs
+3 −4 src/net/http.rs
+278 −58 src/net/proxy.rs
+8 −5 src/net/session.rs
+24 −22 src/net/tls.rs
+15 −36 src/oauth2.rs
+8 −11 src/peer_channels.rs
+17 −17 src/pgp.rs
+62 −7 src/provider/data.rs
+212 −72 src/qr.rs
+76 −48 src/receive_imf.rs
+78 −0 src/receive_imf/tests.rs
+15 −0 src/scheduler.rs
+53 −32 src/securejoin.rs
+1 −2 src/smtp.rs
+41 −16 src/smtp/connect.rs
+66 −0 src/sql/migrations.rs
+47 −63 src/sync.rs
+72 −31 src/test_utils.rs
+29 −58 src/token.rs
+33 −20 src/tools.rs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import org.thoughtcrime.securesms.ApplicationContext;
import org.thoughtcrime.securesms.BuildConfig;
import org.thoughtcrime.securesms.util.Prefs;
import org.thoughtcrime.securesms.service.FetchForegroundService;
import org.thoughtcrime.securesms.util.Util;

public class FcmReceiveService extends FirebaseMessagingService {
Expand Down Expand Up @@ -92,18 +92,17 @@ public static String getToken() {
return prefixedToken;
}

@WorkerThread
@Override
public void onMessageReceived(@NonNull RemoteMessage remoteMessage) {
Log.i(TAG, "FCM push notification received");
// the app is running (again) now and fetching and notifications should be processed as usual.
// to support accounts that do not send PUSH notifications and for simplicity,
// we just let the app run as long as possible.
FetchForegroundService.start(this);
}

@Override
public void onDeletedMessages() {
Log.i(TAG, "FCM push notifications dropped");
// nothing special to do as we're running now and notifications should be processed as usual.
FetchForegroundService.start(this);
}

@Override
Expand Down
6 changes: 5 additions & 1 deletion src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@
</intent-filter>
</activity>

<activity android:name=".ProxySettingsActivity"
<activity android:name=".proxy.ProxySettingsActivity"
android:label="@string/proxy_settings"
android:windowSoftInputMode="stateHidden"
android:configChanges="touchscreen|keyboard|keyboardHidden|orientation|screenLayout|screenSize"/>
Expand Down Expand Up @@ -393,6 +393,10 @@
android:name=".service.GenericForegroundService"
android:foregroundServiceType="dataSync" />

<service
android:name=".service.FetchForegroundService"
android:foregroundServiceType="dataSync" />

<service
android:name=".service.IPCAddAccountsService"
android:foregroundServiceType="dataSync"
Expand Down
42 changes: 29 additions & 13 deletions src/main/assets/help/cs/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<li><a href="#how-can-i-ensure-message-end-to-end-encryption-and-deletion">How can I ensure message end-to-end encryption and deletion?</a></li>
<li><a href="#pfs">Does ArcaneChat support Perfect Forward Secrecy?</a></li>
<li><a href="#is-end-to-end-encryption-of-delta-chat-as-safe-as-signal">Is end-to-end encryption of ArcaneChat as safe as Signal?</a></li>
<li><a href="#lze-znovu-použít-můj-stávající-soukromý-klíč">Lze znovu použít můj stávající soukromý klíč?</a></li>
<li><a href="#importkey">Lze znovu použít můj stávající soukromý klíč?</a></li>
<li><a href="#nemohu-do-delta-chatu-zavést-můj-stávající-pgp-klíč">Nemohu do ArcaneChatu zavést můj stávající PGP klíč.</a></li>
<li><a href="#security-audits">Was ArcaneChat independently audited for security vulnerabilities?</a></li>
</ul>
Expand Down Expand Up @@ -97,7 +97,7 @@
<li><a href="#proč-můžu-nastavit-sledování-složky-odeslané">Proč můžu nastavit sledování složky Odeslané?</a></li>
<li><a href="#proč-mohu-zvolit-nesledovat-složku-deltachat">Proč mohu zvolit nesledovat složku DeltaChat?</a></li>
<li><a href="#lze-delta-chat-používat-s-protonmail--tutanota--criptext">Lze ArcaneChat používat s Protonmail / Tutanota / Criptext?</a></li>
<li><a href="#how-can-i-delete-my-account">How can I delete my account?</a></li>
<li><a href="#remove-account">How can I delete my account?</a></li>
<li><a href="#mám-zájem-o-technické-podrobnosti-kde-najdu-víc">Mám zájem o technické podrobnosti. Kde najdu víc?</a></li>
<li><a href="#jak-je-financován-vývoj-delta-chatu">Jak je financován vývoj ArcaneChatu?</a></li>
</ul>
Expand Down Expand Up @@ -1146,10 +1146,10 @@ <h3 id="is-end-to-end-encryption-of-delta-chat-as-safe-as-signal">
<p>In any case, ArcaneChat’s end-to-end encryption uses a <a href="#openpgp-secure">secure subset of OpenPGP</a>
which has been <a href="https://delta.chat/assets/blog/2019-first-security-review.pdf">independently security-audited</a>.</p>

<h3 id="lze-znovu-použít-můj-stávající-soukromý-klíč">
<h3 id="importkey">


Lze znovu použít můj stávající soukromý klíč? <a href="#lze-znovu-použít-můj-stávající-soukromý-klíč" class="anchor"></a>
Lze znovu použít můj stávající soukromý klíč? <a href="#importkey" class="anchor"></a>


</h3>
Expand Down Expand Up @@ -1277,7 +1277,7 @@ <h3 id="lze-delta-chat-používat-souběžně-na-více-zařízeních">
and wait a moment until a QR code is shown</p>
</li>
<li>
<p>On the second device, <a href="https://get.delta.chat">install ArcaneChat</a></p>
<p>On the second device, <a href="https://github.com/ArcaneChat">install ArcaneChat</a></p>
</li>
<li>
<p>On the second device, start ArcaneChat, select <strong>Add as Second Device</strong>, and scan the QR code from the old device</p>
Expand Down Expand Up @@ -1379,7 +1379,7 @@ <h3 id="je-v-plánu-vytvořit-webovou-verzi-delta-chatu">
významných obchodech (Google Play / iOS / Windows / macOS / Linux repositories) .</li>
<li>Pokud nemáš dostatečná práva instalovat programy na svůj pracovní počítač, můžeš použít
přenosnou verzi pro Windows nebo AppImage pro Linux.
Všechny softwarové balíčky jsou na <a href="https://get.delta.chat">get.delta.chat</a>.</li>
Všechny softwarové balíčky jsou na <a href="https://github.com/ArcaneChat">github.com/ArcaneChat</a>.</li>
</ul>

<h2 id="webxdc">
Expand Down Expand Up @@ -1791,7 +1791,7 @@ <h3 id="proč-můžu-nastavit-sledování-složky-odeslané">
programu (např. Thunderbird) spolu s ArcaneChatem, a chtít z tohoto programu také
psát zprávy do hovorů ArcaneChatu.</p>

<p>Nicméně doporučujeme používat ArcaneChat Desktop Client; ten lze stáhnout z <a href="https://get.delta.chat">get.delta.chat</a>. Možnost sledování složky “Odeslané”
<p>Nicméně doporučujeme používat ArcaneChat Desktop Client; ten lze stáhnout z <a href="https://github.com/ArcaneChat">github.com/ArcaneChat</a>. Možnost sledování složky “Odeslané”
může být v budoucnu zrušena. Byla totiž vytvořena v době, kdy ArcaneChat Desktop
nebyl dostupný na všech platformách.</p>

Expand Down Expand Up @@ -1829,22 +1829,38 @@ <h3 id="lze-delta-chat-používat-s-protonmail--tutanota--criptext">
<a href="https://autocrypt.org/dev-status.html">Autocrypt-enabled e-mail app</a>.</li>
</ul>

<h3 id="how-can-i-delete-my-account">
<h3 id="remove-account">


How can I delete my account? <a href="#how-can-i-delete-my-account" class="anchor"></a>
How can I delete my account? <a href="#remove-account" class="anchor"></a>


</h3>

<p>As you use an e-mail account for ArcaneChat,
<p>If you use a default chat profile
you can simply uninstall the app.
This will automatically trigger deletion of all associated account data on the chatmail server.
For more info, please refer to <a href="https://nine.testrun.org/info.html#account-deletion">nine.testrun.org account-deletion</a> for the default onboarding server,
or the respective page from your chosen <a href="https://delta.chat/cs/chatmail">3rd party chatmail server</a>.</p>

<p>If you have set up your chat profile on multiple devices
you need to remove it from all devices.</p>

<p>If you are using more than one account,
but don’t want to get rid of all of them,
you can remove it in the account switcher menu (on android and iOS),
or in the sidebar with a right click (in the desktop client).</p>

<p>Accounts on <a href="https://providers.delta.chat">classic e-mail providers</a>
will not be deleted automatically;
how you can delete your account depends on your e-mail provider.
We don’t have any control over your e-mail account,
We don’t have any control over e-mail accounts at those providers,
so unfortunately we can’t help you with that.</p>

<p>If you want to keep the account,
<p>If you want to continue using a classic e-mail account with other apps,
but uninstall ArcaneChat,
it is recommended to leave any group chat before uninstalling ArcaneChat.</p>
it is recommended to leave any group chat before uninstalling ArcaneChat.
Otherwise you might receive undecryptable messages from those group chats.</p>

<h3 id="mám-zájem-o-technické-podrobnosti-kde-najdu-víc">

Expand Down
43 changes: 32 additions & 11 deletions src/main/assets/help/de/help.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
<li><a href="#wie-kann-ich-ende-zu-ende-verschlüsselung-und-löschen-von-nachrichten-sicherstellen">Wie kann ich Ende-zu-Ende-Verschlüsselung und Löschen von Nachrichten sicherstellen?</a></li>
<li><a href="#pfs">Unterstützt ArcaneChat “Perfect Forward Secrecy”?</a></li>
<li><a href="#ist-die-ende-zu-ende-verschlüsselung-von-delta-chat-genauso-sicher-wie-die-von-signal">Ist die Ende-zu-Ende-Verschlüsselung von ArcaneChat genauso sicher wie die von Signal?</a></li>
<li><a href="#kann-ich-meinen-existierenden-privaten-schlüssel-weiter-verwenden">Kann ich meinen existierenden privaten Schlüssel weiter verwenden?</a></li>
<li><a href="#importkey">Kann ich meinen existierenden privaten Schlüssel weiter verwenden?</a></li>
<li><a href="#ich-kann-meinen-existierenden-pgp-schlüssel-nicht-in-delta-chat-importieren">Ich kann meinen existierenden PGP-Schlüssel nicht in ArcaneChat importieren.</a></li>
<li><a href="#security-audits">Wurde ArcaneChat unabhängig auf Sicherheitslücken geprüft?</a></li>
</ul>
Expand Down Expand Up @@ -97,7 +97,7 @@
<li><a href="#warum-gibt-es-die-funktion-gesendet-ordner-beobachten">Warum gibt es die Funktion “Gesendet-Ordner beobachten”?</a></li>
<li><a href="#warum-kann-ich-deltachat-ordner-beobachten-ausschalten">Warum kann ich “DeltaChat-Ordner beobachten” ausschalten?</a></li>
<li><a href="#ist-delta-chat-kompatibel-mit-protonmail--tutanota--criptext">Ist ArcaneChat kompatibel mit Protonmail / Tutanota / Criptext?</a></li>
<li><a href="#wie-kann-ich-mein-konto-löschen">Wie kann ich mein Konto löschen?</a></li>
<li><a href="#remove-account">Wie kann ich mein Konto löschen?</a></li>
<li><a href="#ich-bin-an-technischen-details-interessiert-gibt-es-hierzu-weitere-infos">Ich bin an technischen Details interessiert. Gibt es hierzu weitere Infos?</a></li>
<li><a href="#wie-wird-delta-chat-finanziert">Wie wird ArcaneChat finanziert?</a></li>
</ul>
Expand Down Expand Up @@ -1081,10 +1081,10 @@ <h3 id="ist-die-ende-zu-ende-verschlüsselung-von-delta-chat-genauso-sicher-wie-
<p>In jedem Fall verwendet die Ende-zu-Ende-Verschlüsselung von ArcaneChat eine <a href="#openpgp-secure">sichere Untermenge von OpenPGP</a>
das [unabhängig sicherheitsgeprüft] wurde (../assets/blog/2019-first-security-review.pdf).</p>

<h3 id="kann-ich-meinen-existierenden-privaten-schlüssel-weiter-verwenden">
<h3 id="importkey">


Kann ich meinen existierenden privaten Schlüssel weiter verwenden? <a href="#kann-ich-meinen-existierenden-privaten-schlüssel-weiter-verwenden" class="anchor"></a>
Kann ich meinen existierenden privaten Schlüssel weiter verwenden? <a href="#importkey" class="anchor"></a>


</h3>
Expand Down Expand Up @@ -1186,7 +1186,7 @@ <h3 id="kann-ich-delta-chat-auf-mehreren-geräten-zur-selben-zeit-verwenden">
<p>Gehen Sie auf dem ersten Gerät zu <strong>Einstellungen → Zweites Gerät hinzufügen</strong>, entsperren Sie den Bildschirm, falls erforderlich und warten Sie einen Moment, bis ein QR-Code angezeigt wird</p>
</li>
<li>
<p>Auf dem zweiten Gerät <a href="https://get.delta.chat">ArcaneChat installieren</a></p>
<p>Auf dem zweiten Gerät <a href="https://github.com/ArcaneChat">ArcaneChat installieren</a></p>
</li>
<li>
<p>Auf dem zweiten Gerät ArcaneChat starten, “Als Zweitgerät hinzufügen” wählen und den QR-Code vom ersten Gerät scannen</p>
Expand Down Expand Up @@ -1267,7 +1267,7 @@ <h3 id="gibt-es-pläne-für-eine-delta-chat-web-anwendung">
<ul>
<li>Es gibt keine direkten Pläne, aber einige vorläufige Gedanken.</li>
<li>Es gibt 2-3 Möglichkeiten, einen ArcaneChat Web-Client einzuführen, aber sie bedeuten alle immense Arbeit. Im Moment fokussieren wir uns darauf, stabile native Apps in den Appstores (Google Play/iOS/Windows/macOS/Linux repositories) anzubieten.</li>
<li>Sollten Sie einen Web-Client benötigen, weil Sie auf Ihrem Arbeitsrechner keine Software installieren dürfen, können Sie den Windows Desktop-Client bzw. Applmage für Linux nutzen. Sie finden diese unter <a href="https://get.delta.chat">get.delta.chat</a>.</li>
<li>Sollten Sie einen Web-Client benötigen, weil Sie auf Ihrem Arbeitsrechner keine Software installieren dürfen, können Sie den Windows Desktop-Client bzw. Applmage für Linux nutzen. Sie finden diese unter <a href="https://github.com/ArcaneChat">github.com/ArcaneChat</a>.</li>
</ul>

<h2 id="webxdc">
Expand Down Expand Up @@ -1612,7 +1612,7 @@ <h3 id="warum-gibt-es-die-funktion-gesendet-ordner-beobachten">

<p>Der einzige Grund, den Gesendet-Ordner zu beobachten, ist, wenn Sie ein weiteres E-Mail-Programm (wie Thunderbird) mit demselben E-Mail-Account verwenden und die von dort versendeten Nachrichten in der Chat-Historie aufgeführt werden sollen.</p>

<p>Wir empfehlen für diesen Zweck aber “ArcaneChat Desktop”; Sie können die App unter <a href="https://get.delta.chat">get.delta.chat</a> herunterladen. Möglicherweise wird die Option “Gesendet-Ordner beobachten” zukünftig wegfallen; sie kommt aus einer Zeit, als ArcaneChat Desktop noch nicht auf allen Plattformen zur Verfügung stand.</p>
<p>Wir empfehlen für diesen Zweck aber “ArcaneChat Desktop”; Sie können die App unter <a href="https://github.com/ArcaneChat">github.com/ArcaneChat</a> herunterladen. Möglicherweise wird die Option “Gesendet-Ordner beobachten” zukünftig wegfallen; sie kommt aus einer Zeit, als ArcaneChat Desktop noch nicht auf allen Plattformen zur Verfügung stand.</p>

<h3 id="warum-kann-ich-deltachat-ordner-beobachten-ausschalten">

Expand Down Expand Up @@ -1640,17 +1640,38 @@ <h3 id="ist-delta-chat-kompatibel-mit-protonmail--tutanota--criptext">
<a href="https://autocrypt.org/dev-status.html">Autocrypt-fähige E-Mail-Anwendung</a> herstellen</li>
</ul>

<h3 id="wie-kann-ich-mein-konto-löschen">
<h3 id="remove-account">


Wie kann ich mein Konto löschen? <a href="#wie-kann-ich-mein-konto-löschen" class="anchor"></a>
Wie kann ich mein Konto löschen? <a href="#remove-account" class="anchor"></a>


</h3>

<p>Da Sie ein E-Mail-Konto für ArcaneChat verwenden, hängt von Ihrem E-Mail-Anbieter ab, wie Sie Ihr Konto löschen können. Wir haben keine Kontrolle über Ihr E-Mail-Konto, daher können wir Ihnen dabei leider nicht helfen.</p>
<p>If you use a default chat profile
you can simply uninstall the app.
This will automatically trigger deletion of all associated account data on the chatmail server.
For more info, please refer to <a href="https://nine.testrun.org/info.html#account-deletion">nine.testrun.org account-deletion</a> for the default onboarding server,
or the respective page from your chosen <a href="https://delta.chat/de/chatmail">3rd party chatmail server</a>.</p>

<p>Wenn Sie das Konto behalten, aber ArcaneChat deinstallieren möchten, ist es ratsam, aktive Gruppen zu verlassen, bevor Sie ArcaneChat deinstallieren.</p>
<p>If you have set up your chat profile on multiple devices
you need to remove it from all devices.</p>

<p>If you are using more than one account,
but don’t want to get rid of all of them,
you can remove it in the account switcher menu (on android and iOS),
or in the sidebar with a right click (in the desktop client).</p>

<p>Accounts on <a href="https://providers.delta.chat">classic e-mail providers</a>
will not be deleted automatically;
how you can delete your account depends on your e-mail provider.
We don’t have any control over e-mail accounts at those providers,
so unfortunately we can’t help you with that.</p>

<p>If you want to continue using a classic e-mail account with other apps,
but uninstall ArcaneChat,
it is recommended to leave any group chat before uninstalling ArcaneChat.
Otherwise you might receive undecryptable messages from those group chats.</p>

<h3 id="ich-bin-an-technischen-details-interessiert-gibt-es-hierzu-weitere-infos">

Expand Down
Loading

0 comments on commit 3080313

Please sign in to comment.