- use clear "Delta Chat Homepage" for opening our homepage
(instead of unclear "Learn more about Delta Chat",
which is esp. weird, when used from inside the help)
- do not "promote" GitHub in our menu entry,
instead of "Contribute on GitHub", just say "Contribute".
destination URL is our contribute page then -
that is also more useful for ppl doing eg. translations
* fix: Use msg.getFilename() instead of the file's name in some cases
* fix: Use msg.getFilename() instead of the file's name in initializeDraft()
* fix: Use msg.getFilename() instead of the file's name in MediaItem
* fix: Use the correct file name in MediaView
* refactor: `msg` param of `getManuallyCalculatedSlideInfo()` was always null
* Improve comment
* Revert "refactor: `msg` param of `getManuallyCalculatedSlideInfo()` was always null"
We will unfortunately need getManuallyCalculatedSlideInfo() with `msg`
param
This reverts commit 60e8248db32dc22812d3f23da194bab644802045.
* fix: Fix drafting images
This fixes a bug introduced in 14f69f87e8b11a7d0568e58593946a1f1c01e75e:
When you drafted an image, pressed Back, and opened the chat again, then
the height of the drafted image was wrong and tapping the image opened a
preview for the wrong image.
I do think that theoretically it would be nicer to use getSlideForMsg
here, because we already have a DcMsg, but this didn't work because a)
the width and height wasn't gotten from the msg and instead 0 was passed
and b) the code tries to save a msgId instead of the message instead,
and loading the message from the database fails later since it's just a
draft.
I didn't want to try and fix these things, because they might be bigger
refactorings and I don't know the code.
* fix: Use the original message's filemime if there is one
...instead of trying to guess the mimetype from the uri
* Make the attachment background the same as the input bar background
Two different users recently complained that they find drafting images confusing. One of them thought that they had already sent it, the other one didn't know how to send it (both of them figured it out after ~10s, but still, it's nicer to avoid such confusion). In both cases, the problem was that the background of the attached file is the same as the chat background, not the same as the input bar, even though the attached file belongs to the input bar and not to the chat.
* Add a stroke around the to-be attachment
the email-address was removed for guaranteed-e2ee chats quite a while ago
(https://github.com/deltachat/deltachat-android/pull/2916) reason was, among others,
that these addresses are often chatmail and therefore random.
(despite expecting otherwise, that was fine for most users).
this PR removes the email-adress unconditionally:
- having the email-address sometimes shown and sometimes not is confusing,
and easily looks like a bug.
this has become worse with the added vcard-support
(before, there were rare non-guaranteed chats in chatmail) -
resulting in more random addresses being shown
- _always_ protect against over-the-shoulder attacks
- better privacy in screenshots sent around without thinking much before
(cmp. https://github.com/deltachat/deltachat-ios/pull/2329)
- wrt impersonation attacks:
the pure email address in the subtitle did never protect against impersonation,
one could always get sth. trustworthy looking there,
it is better to check the profile with additional information (eg. other chats) if in doubt
- general cleaner, uncluttered layout
- pave the way of the upcoming multi-addresses
drawback is that sometimes one more tap is needed to access the email-address -
however, as it is _always_ one tap away now,
this can also go easily to the finger memory.
it is regarded as a bug
and esp. weird in translations.
it was regarded to be a bit 'nerdy' that time to write it lowercase,
but it seems we have to get more serious now.
This PR removes prepareMsg, which put messages into the OUT_PREPARING state and was used while videos were recoded. It also removes the now-unused method isIncreation().
- It was buggy because when you forwarded a message while it was InPreparation, or when the app was killed while a message is InPreparation, the message would stay InPreparation forever.
- Android is the only UI using this InPreparation (according to @r10s, I didn't check this myself), so we can simplify some things in core, which will also make it easier to deduplicate blob files.
this PR centers the icons in the attachment selector,
the right-aligned ones looks esp. odd when no experiments are enabled.
the default now looks good,
and when all experiments are enabled, things are perfect as well.
but even if only one experiment is enabled, things are better imo
(but we anyway should optimize for default and not for experimental options)
the issue is that unset `EXTRA_HREF` is passed around as an empty string,
however `Bundle.getString(href, "index.html")` returns `index.html` only when `href` is `NULL`,
which is mostly never the case.
this results in webxdc never started with index.html,
and then not started at all
these RPC calls are probably a relict of first tries,
they are not exhaustive in their area are nor were ever used,
maybe not even working.
if we decide to go that way at some point anyways much more is needed :)
* Don't always show the sender in notifications
In 1:1 chats, don't prepend the sender name to every line. The exception is when the display name is not equal to the chat name (i.e. there is an OverwriteSenderDisplayname), in this case we still prepend it.
* Always show the "~" before the sender name if it's overridden
When we introduced this, I assume that we weren't sure whether we should
do it and only showed it in some places. But I think it's nicer to
show the same sender name everywhere, i.e. always add the "~".
fix: Show composite emojis enlarged, too
There are a lot of composite emojis like the flags and the family emojis.
Here, the grapheme starts with an emoji, but then come some other
characters that modify the first emoji (e.g. all flags start with the
flag emoji).
This PR shows those as big, too, by checking whether a grapheme _starts_
with an emoji to determine whether it's an emoji.
---------
Co-authored-by: adb <adb@merlinux.eu>
Not sure why, but `setText()` seems to be called with an empty string
very often - for this case it's nice if getTextScale() returns early.
If the text starts with a letter, we can also return early.
calculation may take a moment,
do this in background.
it is totally fine to just display nothing before,
that avoids flickering (WHAT was this? i cannot look so fast!) -
and in most cases, it is close to instant.
Spinner is very picky about bad selections,
this is an accident waiting to happen -
eg. if new values are introduces
or someone thinks, the "deprecated" case can be removed.
better do not trust incoming data.
from the view of the user, this is just the 'file name'.
calling it 'original file name' there is maybe correct internally,
as we add a random number for $reasons.
however, some users were alarmed about what the heck is transferred here.
* update CHANGELOG for 1.48.0, android part
* update CHANGELOG for 1.48.0, core part
* bump version to 1.48.0
* update CHANGELOG for 1.147.1
* update CHANGELOG
* update CHANGELOG for core 1.148.2
* update CHANGELOG, recent android changes
the foreground service was introduced unconditionally in #3312,
however turns out to be annoying and flickering
if the app is actually in foreground.
the service _might_ be needed in this case only
if the app is about going to background during fetch,
but in this case, we assume,
that we have some 10 seconds time still.
in any case,
this is still an improvement to the released apps,
that _never_ show a foreground service.
having 'add profile' at the end of the list is more natural,
and more consisten with desktop/iOS -
as well as internally, eg. proxy also has 'add' at its end.
also, this paves the way to have a consistent layout when it comes
to profile-switching from forward/share dialogs,
where one probably does not want to have a 'add' button
(so, the first lines are not different :)
the profile list is usually not super-large,
and even if - when ppl have managed to add 10+ profiles,
they'll know how to do this, even with scrolling :)
also, adding is a rare function, in contrast to switching,
so even then it makes sense as there is room for one more item without scrolling.
in contrast,
for 'create chat' we show 'add' at the beginning,
as these lists can contain several hundrets of entries _and_
add is often used.
do not show 'Add Profile' in bold.
this looks less cluttered
and makes the "bold" of the selected account more outstanding:
before, there were two types of "boldness",
the add profile button (using bold only)
and the selected profile (using bold and a background),
this results in a bit cluttered, unsteady look,
esp. when there are few accounts and more bold than normal is shown.
also, this makes "bold" more outstanding,
as this attribute is given to one line only.
there is no need for the "add profile" to be that outstanding
(in contrast to eg. the "add chat" dialog)
it is a minor, sure :)
With https://github.com/deltachat/deltachat-core-rust/pull/6027, when
exporting a backup, the counter stays at 0% while running housekeeping
and vacuuming the database, which takes 10 seconds on my device.
Showing "One moment... 0%" for 10 seconds (or longer on slower devices /
with bigger accounts) might make users think that it's not working and
abort the process. So, instead, simply show "One moment..." until the
progress reaches 1%.
Values 100, 350, 400, 450, 950 are not used in the core,
so this resulted in showing incorrect progress
such as "Preparing account" when actually
database transfer was already in progress.
Desktop already does not expect any special values
and simply shows the progress bar.
* use string 'Saved Proxies' as header for proxy settings
'Connections' is a bit broad,
also there is only one connection.
'Saved Proxies' is also what Telegram is using.
* move proxy settings in 'Advanced' down
logically, this seems to be a better fit.
Account/Password is still the most important bit,
even if not directly needed in chatmail and Proxy is used more often.
* add proxy settings icon to main screen
* use 'cable' instead of 'shield'. things are rewired, but not more protected or secured.
saying post-notifications-granted=false on API that do not need this grant
is misleading as it looks as some error or if the user has rejected sth.
just stumbled upon that and was irritated when trying out things wrt
https://github.com/deltachat/deltachat-android/issues/3281 on android7
'Dismiss' is a bit unclear - even though introduced at #2083 to make things clearer,
i do not think this has happened :) -
i also needed to dive into the source code to see what exactly 'Dismiss' is doing.
meanwhile, we're anyway using 'Mark Read' to remove unread counter from chats,
and this is basically the same. good to be consistent.
finally, this is also the term WhatsApp/Telegram are using.
closes https://support.delta.chat/t/what-does-dismiss-button-on-notifications-do/3261/3
nb: we also change the english 'short' term from 'Read' to 'Mark Read' -
this is sill shorter than many translations
and removes the ambiguousness 'Mark Read' vs 'Open for Reading" -
esp. in the notification without much context, this is better,
but also on iOS, where the term was introduced for, it is good to be explict.
- shorter, less cluttering
- we usually do not say 'Settings' inside 'Settings',
also having several 'Settings' menu entries in the main menu us not so nice
- same as telegram is doing
when replying from within a notification,
the corresponding chat should be marked as being noticed as well.
otherwise, it looks wrong that one has replied to a chat,
but still the chat is shown as being "unread".
the 'reply' from a notification should leave the chat
in the same state as 'dismiss' resp. 'mark read' - plus the added message.
The hitbox for the account switcher was only the own avatar in and the
title, so when you tapped a bit too low or too high, nothing happened.
This PR changes it to be the whole title bar.
for performance and to avoid crashes with potential +250MB in logs
when there are unexpected errors resulting in the same lines logging
over and over several times per second
this PR removes options to create encrypted database.
existing encrypted databases will continue working for now.
the 'encrypted database' experiment started some years ago
was never finishes and already stopped working partly,
eg. importing backups as encrypted accounts stopped working
some years ago for newer android.
in the light of Signal's "encryption key flaw",
but also recent issues with worsending core things in Delta Chat,
it seems wise to concentrate on the core things ("you have one job!"),
and not on side topics comparable few persons are interested in.
also, it will become harder to maintain that path on upcoming api changes,
leaving the database open as opening is slow is needed but will become harder,
this will make notifications tricy,
may need additional effort to run in background etc.
all that is doable,
however, it will remove resources from far more important parts,
dangerously up to a level that breaks the app - a focus is limited.
also, no one really complained as it is already partly not-working,
it was _never_ working on desktop
(where it would make much more sense),
removal on iOS was flawless, see https://github.com/deltachat/deltachat-ios/pull/2011
tl;dr: better leave the protection up to the operating system
and concentrate on other things.
- add a device message for existing profiles potentially using gmail
- reset oauth2 method for existing profiles on opening login screen
- do not offer gmail-oauth2 for new profiles
as on other places,
hide chatmail email address from primary UI as well in the account switcher.
non-chatmail addresses will stay for now;
we are considering to add a "tag" or sth. like that for the user
to differenciate between accounts if they're using same name+avatar.
this also makes the dialog more on-point and easier to read.
as at other places,
we should tune down showning email addresses
also in the primary reaction UI.
ppl will recognize name and avatar,
and if in doubt, you can always tap a reaction to go to the full profile.
there are not really reasons to not allow sending videochat invitations to the self chat:
- it is useful for testing
- one may forward them from there to somewhere else
- it is allowed on desktop and ios as well
in fact, i was very confused that it is not possible
when playing around with https://github.com/deltachat/deltachat-android/issues/3187 .
might be a relict where we did _only_ allow videochat in normal one-to-one chats.
copying email addresses to the clipboard
is not proper way to get in contact in the light of chatmail -
even if the account is non-chatmail, the receiver may use chatmail.
or the copied contact.
it is better to point ppl to use 'Share' or 'Attach Contact' therfore
and not offer failing/corner-case things in the primary menu.
therefore, we do basically the same what desktop is doing all the years:
no special function, however, if you select text (desktop)
or long tap it (android now), you can copy it.
if the value part is missing,
it otherwise crashes when calling MailtoUtil.getText()
and the exception is not handled there (it is not in at least one case).
therefore, just catch the exception in this cornercase (same for bad encoding)
and return an empty string.
QrShowFragment is used by some menu entries
available also when the fragment is not displayed;
therefore, creation on displaying is too late.
(the crash is present only on some android versions,
as many android versions seem to create "neighboured tabs" anyways -
so there should also not be much performance loss)
this helps avoid issues like user changing email address and password
and pressing "configure" button without realizing they have custom
imap, smpt, etc. settings
- say in the timespans explicitly that it is _latest after fetch_;
this matches better to server-side settings on chatmail -
but also when you have different (non-dc)-clients with different settings.
- do not show the alarming confirmation dialog for chatmail -
other, non-dc clients is usually not fitting,
and also there is anyways an auto-deletion
- the default for chatmail becomes 'automatic',
'never' is just wrong for chatmail
the string is deprecated and also no longer used on desktop/iOS.
the 'empty state view' where the string could appear
is anyways not shown often
(usually, there is 'saved messages' and 'device messages'),
so it also does not make sense to think over a replacement.
before, "Info" and "Message Details" were used for the same things synonymously,
this is an issue mostly in the context menus,
where eg. iOS had "Info" but desktop did not -
and android had an "i"-icon ...
but also, tapping 'Info' and then getting a different title
(not only a longer version) is not super-nice.
with this change, everything is "Info", making also the "i"-icon fit.
this is also consistent with WhatsApp.
Signal has the same mess as we before, at least on iOS.
came over that while targeting https://github.com/deltachat/deltachat-ios/pull/2204
and was shortly confused about what is going on there :)
(the name saved to database is not changed, however,
to avoid popping up the message again in case we do an update without a new device messase)
exiting 'select mode' is unexpected when hitting 'cancel' -
the user may still want to do other things with the selection.
this makes the 'mute' behavior consisten with other cases showing a dialog,
eg. 'delete'
body:"DeltaLab release, download the APK file for your phone's CPU architecture, if you don't know your phone's architecture, use the universal APK which works for all architectures"
body:'[<img src="store/get-it-on-fdroid.png" alt="Get it on F-Droid" height="48">](https://f-droid.org/packages/chat.delta.lite) [<img src="store/get-it-on-IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="48">](https://apt.izzysoft.de/fdroid/index/apk/chat.delta.lite) [<img src="store/get-it-on-apklis.png" alt="Disponible en Apklis" height="48">](https://www.apklis.cu/application/chat.delta.lite) [<img src="store/get-it-on-github.png" alt="Get it on GitHub" height="48">](https://github.com/ArcaneChat/android/releases/latest/download/ArcaneChat-gplay.apk)'
[<img src="store/get-it-on-fdroid.png" alt="Get it on F-Droid" height="48">](https://f-droid.org/packages/chat.delta.lite)
[<img src="store/get-it-on-IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="48">](https://apt.izzysoft.de/fdroid/index/apk/chat.delta.lite)
[<img src="store/get-it-on-apklis.png" alt="Disponible en Apklis" height="48">](https://www.apklis.cu/application/chat.delta.lite)
[<img src="store/get-it-on-github.png" alt="Get it on GitHub" height="48">](https://github.com/ArcaneChat/android/releases/latest/download/ArcaneChat-gplay.apk)
DeltaLab has some extended support for WebXDC apps:
This app has some extended support for WebXDC apps:
-`window.webxdc.deltalab` a string with the DeltaLab version and can be used by app developers
to detect when they can use the DeltaLab-specific features.
-`window.webxdc.arcanechat` a string with the ArcaneChat version and can be used by app developers
to detect when they can use the ArcaneChat-specific features.
-`window.webxdc.isCommunity` true if the current account is a community account
-`sendToChat()`: extra property `subject` can be set to a text string to set message/email's subject.
-`sendToChat()`: extra property `html` can be set to a string of html markup to set the HTML part of the email/message.
@@ -35,12 +30,6 @@ DeltaLab has some extended support for WebXDC apps:
# Credits
DeltaLab is based on the [official Delta Chat client](https://github.com/deltachat/deltachat-android) with some improvements.
This app is based on the [official Delta Chat client](https://github.com/deltachat/deltachat-android) with several improvements.
DeltaLab uses a [modified](https://github.com/adbenitez/deltalab-core) version of the [Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
# License
Licensed GPLv3+, see the LICENSE file for details.
This app uses a [modified](https://github.com/ArcaneChat/core) version of the [Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
implementation'com.google.zxing:core:3.3.0'// fixed version to support SDK<24
implementation('com.journeyapps:zxing-android-embedded:4.3.0'){transitive=false}// QR Code scanner
implementation'com.fasterxml.jackson.core:jackson-databind:2.11.1'// used as JSON library
implementation'com.google.code.gson:gson:2.9.1'// used as JSON library. Don't upgrade to 2.10.1: https://github.com/deltachat/deltachat-android/pull/2610
implementation"me.leolin:ShortcutBadger:1.1.16"// display messagecount on the home screen icon.
implementation'com.jpardogo.materialtabstrip:library:1.0.9'// used in the emoji selector for the tab selection.
implementation'com.github.chrisbanes:PhotoView:2.1.3'// does the zooming on photos / media
implementation'com.makeramen:roundedimageview:2.1.0'// crops the avatars to circles
implementation'com.pnikosis:materialish-progress:1.5'// used only in the "Progress Wheel" in Share Activity.
implementation'com.soundcloud.android:android-crop:1.0.1@aar'// used for profile and group avatar selection in Android SDK<19
implementation'mobi.upod:time-duration-picker:1.1.3'// Used to pick the time for inactivity.
implementation'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'// number of unread messages,
// the one-letter circle for the contacts (when there is not avatar) and a white background.
implementation'com.github.amulyakhare:TextDrawable:558677ea31'// number of unread messages,
// the one-letter circle for the contacts (when there is not avatar) and a white background.
implementation'com.googlecode.mp4parser:isoparser:1.0.6'// MP4 recoding; upgrading eg. to 1.1.22 breaks recoding, however, i have not investigated further, just reset to 1.0.6
implementation('com.google.firebase:firebase-messaging:23.4.1'){// for PUSH notifications
<i>DeltaLab</i> is a friendly fork of <i>Delta Chat</i> messenger, a chat app compatible with the existing e-mail infrastructure.
ArcaneChat is a decentralized and secure messenger app that is compatible with the existing e-mail infrastructure.
DeltaLab was created with a focus on usability, good user experience, and saving data plan and comes with some different default settings than Delta Chat. Also the app usually experiments with new features and alternative paths of development that eventually might get added to the official Delta Chat client.
Some features at a glance:
💬 Reliable instant messaging with multi-profile and multi-device support.
⚡️ Sign-up easily using secure fast chatmail servers. You don’t need a phone number or any private data.
📧 Alternatively, use your existing classic e-mail address to read your inbox as chats.
🎮 Interactive mini-apps in chats for gaming and collaboration.
🔒 Audited end-to-end encryption safe against network and server attacks.
ArcaneChat is a Delta Chat client and was created with a focus on usability, good user experience, and saving data plan. Also the app usually experiments with new features that eventually might get added to the official Delta Chat client.
<b>Main differences with official Delta Chat client:</b>
<ul>
<li>Basic markdown support (bold, italic, strike, etc.)</li>
<li>Support for some markdown styles in text messages (bold, italic, strike, etc.)</li>
<li>Support for displaying Telegram's animated stickers (.tgs files)</li>
<li>Support for SVG images previews</li>
<li>Multiple color themes/skins</li>
<li>It is possible to enable/disable accounts</li>
<li>It is possible to disable profiles to completely disconnect them saving data/bandwidth</li>
<li>You can easily see the connection status of all your profiles in the profile switcher</li>
<li>A videochat instance is set by default</li>
<li>Replies to your messages in muted groups trigger notifications</li>
<li>Quote-reply a message with a single emoji to set it as reaction</li>
<li>Location streaming feature enabled by default and have extra option to share location for 12 hours</li>
<li>Verified icon is shown in the chat list for the "Device Messages" chat</li>
<li>Location streaming feature enabled by default and extra option to share location for 12 hours</li>
<li>Clicking on a message with a POI location, will open the POI on the map</li>
<li>Last-seen status of contacts is shown in your contact list, like in WhatsApp, Telegram, etc.</li>
<li>Videos are played in loop, useful for short GIF videos</li>
<li>It is possible to click <b>OPENPGP4FPR:</b> and <b>mumble:</b> links in messages</li>
<li>Verified icon is shown in the chat list for the "Device Messages" chat</li>
<li>Voice messages have more aggressive compression in "worse quality" mode to save data plan</li>
<li>Default configuration changed: automatic download of messages limited to 640KB</li>
<li>Account's display name is shown in the app's title bar instead of the name of the app</li>
<li>Automatic download of messages limited to 640KB by default</li>
<li>Profile's display name is always shown in the app's title bar instead of the name of the app</li>
<li>Your avatar is visible to other users in Mailing Lists</li>
<li>Can be selected as application when clicking/opening links, this is useful to share the link with web grabber bots</li>
<li>Can be selected as app to open .xdc files</li>
<li>For mini-apps developers: there are some differences in the WebXDC API, check https://github.com/deltalab-org/deltalab-android/#webxdc</li>
<li>For mini-apps developers: there are some extra features in the WebXDC API, check https://github.com/ArcaneChat/android/#webxdc</li>
<li>Better settings organization with additional "Privacy" section</li>
</ul>
<b>WARNING:</b> Be careful when running WebXDC apps in DeltaLab, the sandboxed webview can't currently prevent WebRTC connections, so in theory information inside the WebXDC app could be leaked and also your IP, the risk is low, for most people this is not even important, but if you are a person at risk, only use trusted apps, or use official Delta Chat.
**This is the privacy policy for the ArcaneChat (Delta Chat client) apps.**
## Summary
ArcaneChat is an e-mail app that follows a strict privacy-by-design approach. All communication data remains on the end devices or on the e-mail servers selected by the user.
<table>
<thead>
<tr>
<th>Requirement</th>
<th>Implementation</th>
</tr>
</thead>
<tbody>
<tr>
<td>Confidentiality</td>
<td>
<b>End-to-end encryption</b> by implementing <a href="https://autocrypt.org">Autocrypt</a> and <a href="https://securejoin.delta.chat/en/latest/new.html">Verified groups</a>. User-friendly end-to-end encryption means that the requirements of the GDPR are already implemented at the technical level, <b>Privacy by Design</b>.
</td>
</tr>
<tr>
<td>Data minimization</td>
<td><b>No upload</b> of contact lists from your phone.</td>
</tr>
<tr>
<td>Data avoidance</td>
<td><b>No ArcaneChat servers</b>, no processing of personal data. All data remains with your e-mail provider.
</td>
</tr>
<tr>
<td>Legal basis</td>
<td>
There is no need to obtain consent for address book matching, <a href="https://gdpr-info.eu/art-7-gdpr/">Art.7 GDPR</a>, as no address book data is transferred. Therefore, <b>no additional legal basis</b> is required.
</td>
</tr>
<tr>
<td>Data to third parties</td>
<td>We only receive the <b>token for the push notification</b> and forward it to the provider of your operating system. If you don't want to receive push notifications, we won't forward a token.</td>
</tr>
<tr>
<td>Data from third parties</td>
<td>
Easy implementation in companies: ArcaneChat does not process personal data on behalf of the controller and therefore <b>does not require any instruction or data processing agreement</b>. Easy connection with the own corporate e-mail server.
</td>
</tr>
<tr>
<td>
DPIA
</td>
<td>
No <b>data protection impact assessment</b> needs to be carried out for ArcaneChat <a href="https://gdpr-info.eu/art-35-gdpr/">Art.35 GDPR</a>, as no specific additional data is processed beyond the e-mail messenger process.
The risk to the rights and freedoms of natural persons is limited to the internal company data processing of the e-mail communication and that of the e-mail providers.
</td>
</tr>
<tr>
<td>
Documentation
</td>
<td>
Inclusion of the measures implemented by ArcaneChat in the <b>record of processing activities</b> may have a positive impact on possible evidence, <a href="https://gdpr-info.eu/art-30-gdpr/">Art.30 GDPR</a> as well as certification processes, <a href="https://gdpr-info.eu/art-25-gdpr/">Art.25 (4) GDPR</a>,<a href="https://gdpr-info.eu/art-42-gdpr/">Art.42 GDPR</a>.
The <b>documentation of processing activities</b> related to Messenger communication is omitted and shifts only to the record of processing activities of your e-mail provider, <a href="https://gdpr-info.eu/art-30-gdpr/">Art.30(2) GDPR</a>.
</td>
</tr>
</tbody>
</table>
## Detailed data protection information
### 1. Name and contact information of the data controller
Responsible for the processing of your personal data is
### 2. Processing when using the ArcaneChat e-mail messenger
All data is stored locally on your device or with your e-mail provider. Neither we nor ArcaneChat developers have any possibility to access the end user's data, as all communication and data processing takes place on the end user's device without ArcaneChat servers being involved. Only for the optional Push Notification (see 2.2) the Push Notification Token is processed by Delta Chat servers without them having any knowledge about the messages themselves, not even in encrypted form.
#### 2.1 Sign up with your e-mail provider
ArcaneChat communication works through your e-mail account. In order to establish the connection, the app needs the access data. These are only stored locally on your end device:
- e-mail address
- your password
The legal basis for the processing is [Art.6 (1) lit.b GDPR](https://gdpr-info.eu/art-6-gdpr/), as you have a usage contract with us by using our services.
Security procedures are in place to protect the confidentiality of the data:
Only the bare data needed to fulfil the user request of login are stored,
encryption takes place as well as local sandboxing,
see 2.3 for further details.
#### 2.2 Heartbeat push notification
Push notifications can be sent to the user's phone at regular intervals to enable receipt of messages while the ArcaneChat app is not currently active. Current messages can then be retrieved on the end device. The token is only created if the user wants reliable receipt of messages even when the app is not active.
In order to use push notifications, a unique identifier or token (Push Notification Token) is created after the app is downloaded and installed. This token allows Delta Chat servers to send notifications to the user's device. The token is generated and provided by the provider. The token is then stored on our systems and sent to the device at regular intervals to cause the app to retrieve new messages from the e-mail provider. Our systems have no knowledge of whether a message arrives or who may have sent a message.
The aforementioned data will only be processed with your consent, in accordance with [Art.6 (1) lit.a GDPR](https://gdpr-info.eu/art-6-gdpr/).
#### 2.3 Data in the app
The ArcaneChat app works in a data-saving way. All relevant data is stored exclusively on the respective end devices:
ArcaneChat servers have no access to this data, not even in encrypted form, as data processing takes place only on the end devices.
#### 2.4 App permissions
Within the app, you can enter, manage, and edit various information, tasks, and activities. The app also requires the following permissions:
<table>
<thead>
<tr>
<th>Permission</th>
<th>Reason</th>
</tr>
</thead>
<tbody>
<tr>
<td>Internet access</td>
<td>This is needed to send the messages to the communication partner. </td>
</tr>
<tr>
<td>Camera access</td>
<td>
This is needed for you to take photos and send them via the app. In addition, the camera access allows you to scan QR codes.
</td>
</tr>
<tr>
<td>Microphone access (optional)</td>
<td>
This permission allows you to send voice messages.
</td>
</tr>
<tr>
<td>Location access (optional)</td>
<td>
This is needed if you want to share your location with a communication partner.
</td>
</tr>
<tr>
<td>Background location access (optional)</td>
<td>
This will be needed if you want to share your location over a certain period of time.
</td>
</tr>
<tr>
<td>Contact access (optional)</td>
<td>
This allows you to load and save contacts from your phone book into the app. The contact data is stored locally in the app and not forwarded and stored on ArcaneChat server.
</td>
</tr>
<tr>
<td>
Storage (optional)
</td>
<td>You can save images and files from the app to your device.</td>
</tr>
</tbody>
</table>
The processing and use of the above permissions are performed to provide the service. The internet access is necessary for the use, therefore the legal basis of the processing is [Art.6 (1) lit.a GDPR](https://gdpr-info.eu/art-6-gdpr/), as you have a usage contract with us by using our services.
The optional permissions only take place based on your consent according to [Art.6 (1) lit.a GDPR](https://gdpr-info.eu/art-6-gdpr/) and can also be reduced to individual services, e.g. only internet usage to send messages without pictures or location data. ArcaneChat does not receive any access to this data.
### 3. Platform dependent processing
Certain information is already processed automatically as soon as you use the app. We have listed below which personal data is processed exactly:
When you download the app, certain required information is transmitted to the app store you use ( e.g. Google Play or Apple App Store), in particular the username, the email address, the customer number of your account, the time of the download, payment information as well as the individual device identification number may be processed. The processing of this data is carried out exclusively by the respective app store and is beyond our control.
For the rest, we refer to the data protection policies of the respective app store providers or responsible parties of the operating systems. We do not collect and/or process any other data.
Your personal data will not be transferred to third parties for purposes other than those listed below.
# 4. Rights of the data subject
As a data subject of a processing of personal data, you have the right to
1. request information about your personal data processed by us in accordance with [Art.15 GDPR](https://gdpr-info.eu/art-15-gdpr/). In particular, you can request information about the processing purposes, the category of personal data, the categories of recipients to whom your data have been or will be disclosed, the planned storage period, the existence of a right to rectification, erasure, restriction of processing or objection, the existence of a right of complaint, the origin of your data if it has not been collected by us, as well as the existence of automated decision-making including profiling and, if applicable, meaningful information about its details;
2. in accordance with [Art.16 GDPR](https://gdpr-info.eu/art-16-gdpr/) of the GDPR, immediately request the correction of inaccurate or incomplete personal data stored by us;
3. pursuant to [Art.17 GDPR](https://gdpr-info.eu/art-17-gdpr/) of the GDPR, to request the erasure of your personal data stored by us, unless the processing is necessary for the exercise of the right to freedom of expression and information, for compliance with a legal obligation, for reasons of public interest, or for the establishment, exercise or defence of legal claims;
4. pursuant to [Art.18 GDPR](https://gdpr-info.eu/art-18-gdpr/), to request the restriction of the processing of your personal data, insofar as the accuracy of the data is disputed by you, the processing is unlawful, but you object to its erasure and we no longer require the data, but you need it for the assertion, exercise or defence of legal claims or you have objected to the processing pursuant to [Art.21 GDPR](https://gdpr-info.eu/art-21-gdpr/);
5. pursuant to [Art.20 GDPR](https://gdpr-info.eu/art-20-gdpr/), to receive your personal data that you have provided to us in a structured, common and machine-readable format or to request that it be transferred to another controller;
6. in accordance with [Art.7 (3) GDPR](https://gdpr-info.eu/art-7-gdpr/), to revoke your consent given to us at any time. This has the consequence that we may no longer continue the data processing based on this consent in the future; and
7. complain to a supervisory authority in accordance with [Art.77 GDPR](https://gdpr-info.eu/art-77-gdpr/) of the GDPR. As a rule, you can contact the supervisory authority of your usual place of residence or workplace.
# 5. Up-to-dateness and modification of this data protection declaration
This data protection declaration is valid as of January 2025. Due to the further development of our website and offers or due to changed legal or official requirements, it may become necessary to revise this data protection declaration from time to time.
* save traffic and storage: recode large PNG and other supported image formats (large JPEG were always recoded; images send as "File" are still not recorded or changed otherwise)
* save local storage: compress HTML emails in the database
Se un utente e-mail classica invia un'e-mail a un gruppo e aggiunge nuovi destinatari, i nuovi destinatari diventeranno membri del gruppo.
Tratta le chiavi PGP allegate dall'utente di posta elettronica classica come un segnale per preferire la crittografia reciproca.
Tratta i messaggi crittografati o firmati provenienti dall'utente di posta elettronica classica come un segnale per preferire la crittografia reciproca.
Corretta la migrazione dei vecchi database.
Correzione: invia messaggi di modifica temporanei del timer solo nella chat già conosciuta da altri membri.
Correzione: utilizza percorsi relativi al database ed evita problemi ad es. sulla migrazione verso altri dispositivi o percorsi.
Correzione: timeout di lettura/scrittura per IMAP su SOCKS5.
Correzione: non inviare "modifiche al nome del gruppo" se nessun carattere è stato modificato.
Aggiungi la traduzione greca, aggiornate altre traduzioni.
correzione: rendere visibili le chat archiviate che non vengono annullate automaticamente (chat disattivate): aggiunge un contatore non letto e sposta l'archivio in alto
correzione: invia file AVIF, HEIC, TXT, PPT, XLS, XML come tali
correzione: attiva la riconnessione quando non si riesce a recuperare i messaggi esistenti
correzione: non riprova a recuperare i messaggi esistenti dopo un errore, impedisce il ciclo infinito di riconnessione
correzione: non aggiunge un errore se il messaggio è crittografato ma non firmato
correzione: non rimuove gli spazi iniziali dalle righe del messaggio
risolvere i casi limite relativi all'invio di testi citati
corretta la connessione STARTTLS
correzione: non trattare gli indirizzi email non validi come un'eccezione
correzione: svuotamento dei percorsi relativi del database introdotti in 1.34.8 in tempo
aggiornamenti rapidi degli elenchi di chat e dell'elenco dei contatti
* aggiunge le opzioni SOCKS5 a "Aggiungi Account" e "Configura"
* introdurre la cache DNS: se il DNS smette di funzionare su una rete, Delta Chat sarà comunque in grado di connettersi ad IMAP utilizzando gli indirizzi IP precedenti
* mostra messaggi completi: non carica automaticamente il contenuto remoto per le richieste
* nuovo e semplice modo per aggiungere un secondo dispositivo al tuo account: seleziona "Aggiungi Secondo Dispositivo" dopo l'installazione e scansiona un codice QR dal primo dispositivo
* visualizza "Tutti i Media" di tutte le chat
* nuova opzione "Cancella Chat".
* mostra le notifiche per tutti gli account
* utilizza meglio la modalità buio/luce in "Mostra messaggio completo"
* mostra l'icona accanto ai messaggi informativi delle app
* resilienza contro le interruzioni memorizzando nella cache i risultati DNS per le connessioni SMTP e IMAP
* Miglioramenti e correzioni velocità e affidabilità
* rimosso il limite di dimensione superiore degli allegati
* risparmia traffico e spazio di archiviazione: ricodifica PNG di grandi dimensioni e altri formati di immagine supportati (i JPEG di grandi dimensioni venivano sempre ricodificati; le immagini inviate come "File" non vengono ancora registrate o modificate in altro modo)
* salva spazio di archiviazione locale: comprimi le email HTML nel database
- Le chat individuali garantiscono ora la crittografia end-to-end per i contatti con un segno di spunta verde
- Per la semplicità di tutti, contrassegniamo queste chat anche con segni di spunta verdi
- I gruppi vengono creati automaticamente con crittografia end-to-end garantita, se possibile
- Accetta/Bloccato, Archiviato, Appuntato, Disattiva Audio è sincronizzato su tutti i tuoi dispositivi
- Ulteriori miglioramenti alla fotocamera, ai messaggi vocali, al backup di tutto, alla lettura dello schermo, agli sfondi per account, alla selezione di tutto nella galleria, all'orientamento orizzontale webxdc
- Le chat individuali garantiscono ora la crittografia end-to-end per i contatti con un segno di spunta verde
- Per la semplicità di tutti, contrassegniamo queste chat anche con segni di spunta verdi
- I gruppi vengono creati automaticamente con crittografia end-to-end garantita, se possibile
- Accetta/Bloccato, Archiviato, Appuntato, Disattiva Audio è sincronizzato su tutti i tuoi dispositivi
- Ulteriori miglioramenti alla fotocamera, ai messaggi vocali, al backup di tutto, alla lettura dello schermo, agli sfondi per account, alla selezione di tutto nella galleria, all'orientamento orizzontale webxdc
- nuovo inserimento: puoi creare un nuovo profilo con un tocco su "Crea Nuovo Profilo" - oppure utilizzare un accesso esistente o la configurazione del secondo dispositivo come al solito
i contatti possono essere allegati come "Schede" in "Allega/Contatto"; quando il destinatario tocca le carte, è possibile stabilire la crittografia end-to-end garantita
- aggiungi contatti manualmente in "Nuova Chat / Nuovo Contatto / Aggiungi Contatto Manualmente"
- invia qualsiasi emoji come reazione
- mostrare le reazioni nei riepiloghi
- blocca/archivia/ecc. le chat direttamente dai risultati di ricerca
- aggiungi un'opzione per contrassegnare tutte le chat selezionate come "Lette" (tocca a lungo una chat per avviare la modalità di selezione)
- i nuovi profili chatmail per dispositivo singolo hanno come impostazione predefinita "Elimina Messaggi Dopo il Download"
- quando si utilizza un profilo chatmail su più dispositivi, la cancellazione viene modificata in "Automatica" (la strategia di cancellazione dipende quindi dal server)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.