Compare commits
80 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5ac6fe3ed2 | |||
| b540b5250d | |||
| af94274987 | |||
| 08b052aa93 | |||
| c4b0b6d9c7 | |||
| 6a4c73c0e6 | |||
| 78e1d11801 | |||
| 2178e555ca | |||
| a3393d43c0 | |||
| f63eb3e57f | |||
| 8ea9cfe7a1 | |||
| 092fd9603f | |||
| ed1ba1dce9 | |||
| 58b35519cb | |||
| 07bfa48588 | |||
| 96851c458a | |||
| 56a26a561d | |||
| cf6db57cb8 | |||
| 1da9fdc6b4 | |||
| 1c13a564ec | |||
| cc2f1f2270 | |||
| 3bdd16d224 | |||
| 141f326fec | |||
| 94c4e0aa92 | |||
| fc4d9df3ac | |||
| 2590b82f0e | |||
| 943d40b92e | |||
| acf840c05b | |||
| 05f7d6cd98 | |||
| 0b4d36f0cf | |||
| ee5ce97779 | |||
| f32b1f3d95 | |||
| 122de0e3ad | |||
| 8180aa9b0d | |||
| 0bfcfa1444 | |||
| 34a369fa49 | |||
| ccb8b417a6 | |||
| 8d16baed11 | |||
| 81f7022957 | |||
| b1dd60607b | |||
| 557053a25d | |||
| aa61597804 | |||
| 1fbf04ed28 | |||
| 06420e032d | |||
| 86d1350c64 | |||
| d896955077 | |||
| 9a42c26697 | |||
| 8db5e2ce01 | |||
| d4d5655e72 | |||
| 91c53ab5cf | |||
| e02674b2ca | |||
| 360dcf5bc7 | |||
| 17a5f9a266 | |||
| 46df7e5ab2 | |||
| 33ff464028 | |||
| c6c49da1f2 | |||
| c7912a0df7 | |||
| 459e57f56c | |||
| a0ff8043b0 | |||
| 9d75045fec | |||
| b8b3deaad0 | |||
| df82368327 | |||
| 377060afe1 | |||
| 06800d24ab | |||
| 030b08ddd1 | |||
| 67cc39b648 | |||
| 34d20b6c78 | |||
| 3e64619ec5 | |||
| f167e6d1d8 | |||
| 0f3d00abfa | |||
| f5932f7d42 | |||
| 912fb3e595 | |||
| b5c688232b | |||
| 4cbf12068b | |||
| 97ad251cd9 | |||
| bdc71b965e | |||
| 4f84efbfff | |||
| e91bc5d3b7 | |||
| dc08de5b3f | |||
| df03a7456f |
@@ -7,12 +7,14 @@ labels: bug
|
||||
---
|
||||
|
||||
<!--
|
||||
This is a bug report tracker. New features are discussed in the forum: https://support.delta.chat
|
||||
|
||||
Please fill out as much of this form as you can (leaving out stuff that is not applicable is ok).
|
||||
-->
|
||||
|
||||
- Android version:
|
||||
- Device:
|
||||
- ArcaneChat version:
|
||||
- Delta Chat version:
|
||||
- Expected behavior:
|
||||
- Actual behavior:
|
||||
- Steps to reproduce the problem:
|
||||
@@ -20,9 +22,12 @@ Please fill out as much of this form as you can (leaving out stuff that is not a
|
||||
- Logs:
|
||||
|
||||
<!--
|
||||
Debug logs can be copied from within the app with
|
||||
Debug logs can be copied from within the Delta Chat app with
|
||||
Settings menu -> Advanced -> View log
|
||||
|
||||
Alternatively from the Android system log:
|
||||
`adb logcat -v time -s DeltaChat`
|
||||
|
||||
Logs may contain private data
|
||||
which shall be removed or anonymised prior to posting.
|
||||
-->
|
||||
|
||||
@@ -1 +1,8 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Feature requests
|
||||
url: https://support.delta.chat/c/features/6
|
||||
about: Please discuss feature requests on our Community forum.
|
||||
- name: General Questions
|
||||
url: https://support.delta.chat/c/help/5
|
||||
about: Please ask general Questions on our Community forum.
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Request a new feature.
|
||||
title: ''
|
||||
assignees: ''
|
||||
labels: enhancement
|
||||
---
|
||||
|
||||
<!--
|
||||
Please fill out as much of this form as you can (leaving out stuff that is not applicable is ok).
|
||||
-->
|
||||
|
||||
### Describe your feature:
|
||||
|
||||
### Why do you think it is useful:
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
name: Other
|
||||
about: Start with a new blank issue.
|
||||
title: ''
|
||||
assignees: ''
|
||||
---
|
||||
@@ -14,8 +14,6 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
- name: Validate Fastlane Metadata
|
||||
uses: ashutoshgngwr/validate-fastlane-supply-metadata@v2
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
working-directory: jni/deltachat-core-rust
|
||||
@@ -42,16 +40,16 @@ jobs:
|
||||
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
|
||||
run: |
|
||||
export PATH="${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/"
|
||||
scripts/install-toolchains.sh && scripts/ndk-make.sh armeabi-v7a
|
||||
scripts/install-toolchains.sh && scripts/ndk-make.sh
|
||||
|
||||
- name: Validate Gradle Wrapper
|
||||
uses: gradle/wrapper-validation-action@v1
|
||||
|
||||
- name: Build APK
|
||||
run: ./gradlew --no-daemon assembleFossDebug
|
||||
run: ./gradlew --no-daemon assembleGplayDebug
|
||||
|
||||
- name: Upload APK
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: app-preview.apk
|
||||
path: 'build/outputs/apk/foss/debug/*.apk'
|
||||
path: 'build/outputs/apk/gplay/debug/*.apk'
|
||||
|
||||
@@ -23,17 +23,16 @@ jobs:
|
||||
name: Upload Release APK
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: recursive
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
- uses: Swatinem/rust-cache@v1
|
||||
with:
|
||||
working-directory: jni/deltachat-core-rust
|
||||
- uses: actions/setup-java@v3
|
||||
- uses: actions/setup-java@v1.4.3
|
||||
with:
|
||||
java-version: 17
|
||||
distribution: 'temurin'
|
||||
- uses: android-actions/setup-android@v3
|
||||
java-version: 11
|
||||
- uses: android-actions/setup-android@v2
|
||||
- uses: nttld/setup-ndk@v1
|
||||
id: setup-ndk
|
||||
with:
|
||||
@@ -60,7 +59,7 @@ jobs:
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
body: "Auto-generated release"
|
||||
body: "WARNING: DeltaChat Lite is not DeltaLab! it is a lightweight version of Delta Chat"
|
||||
prerelease: ${{ contains(github.event.ref, '-beta') }}
|
||||
fail_on_unmatched_files: true
|
||||
files: build/outputs/apk/foss/release/*.apk
|
||||
|
||||
@@ -46,6 +46,4 @@ jni/armeabi
|
||||
jni/armeabi-v7a
|
||||
jni/arm64-v8a
|
||||
|
||||
artwork/drawable*/
|
||||
artwork/mipmap-*/
|
||||
*~
|
||||
*~
|
||||
@@ -1,3 +1,3 @@
|
||||
[submodule "jni/deltachat-core-rust"]
|
||||
path = jni/deltachat-core-rust
|
||||
url = https://github.com/ArcaneChat/core
|
||||
url = https://github.com/adbenitez/deltalab-core
|
||||
|
||||
@@ -1,88 +1,5 @@
|
||||
# Delta Chat Android Changelog
|
||||
|
||||
## v1.46.13
|
||||
2024-08
|
||||
|
||||
* improve contact profile's "Edit Name" dialog
|
||||
* upgrade the status bar to modern Android look and feel
|
||||
* add direct support for android14, required to be able to continue shipping to Google Play
|
||||
* increase minimal supported android to 5; as required by updating several outdated dependencies
|
||||
* drop support for gmail oauth2, gmail can still be used using "App Passwords", you'll get hints as needed
|
||||
(reason for dropping was unmaintainable bureaucracy and costs added by google)
|
||||
* update various dependencies for added security and stability
|
||||
* jcenter (a dependency origin) is closing, move dependencies to other origins
|
||||
* when SOCKS5 is enabled, route autoconfig and oauth2 config there
|
||||
* fix encryption compatibility with old Delta Chat clients
|
||||
* fix crashes when opening log view with many lines
|
||||
* fix: hide copy to clipboard while QR is not ready
|
||||
* fix moving outgoing auto-generated messages to the "DeltaChat" folder
|
||||
* fix: try to create "INBOX.DeltaChat" if "DeltaChat" is not possible for some provider
|
||||
* fix receiving messages with "DeltaChat" folder cannot be selected
|
||||
* fix: do not crash on unknown "Certificate Checks" values
|
||||
* update provider database
|
||||
* update to core 1.142.8
|
||||
|
||||
|
||||
## v1.46.10
|
||||
2024-08
|
||||
|
||||
* mark bots in chat titles and profiles as such
|
||||
* if the experimental videochat is enabled, invitations can be sent via the "Attach" menu now
|
||||
* show potentially dangerous buttons with red color
|
||||
* focus on name and profile images in reaction details; the address is available on tap
|
||||
* focus on name and profile image in profile switcher; the address is still shown for classic e-mail profiles
|
||||
* add device message about new placement of "Switch Profile" if more than one profile is in use before update
|
||||
* update translations
|
||||
* using core 1.142.2
|
||||
|
||||
|
||||
## v1.46.8
|
||||
2024-08
|
||||
|
||||
* "Share Contact" directly from a contact's profile
|
||||
* add "Share Invite Link" to "New Contact" screen
|
||||
* add "Invite Friends" to main menu
|
||||
* cleanup "Profile Switcher", long tap to delete profiles
|
||||
* "Mute Notifications" via a long tap directly from "Profile Switcher"
|
||||
* search non-english messages case-insensitive
|
||||
* display attached contact's names in summaries and quotes
|
||||
* protect From: and To: metadata where possible
|
||||
* do not reveal sender's language metadata in read receipts
|
||||
* allow importing contacts exported by Proton Mail
|
||||
* for chatmail profile, hide error prone "add contact manually" in favor to invite links
|
||||
* automatically expand "Password and Account / Advanced" if there were advanced options set before
|
||||
* show potentially dangerous menu entries with red color
|
||||
* remove "Switch Profile" from main menu, as this very often used option causes confusion with finger memory and other menus;
|
||||
instead, just tap your profile image in the upper left corner to add or to switch profiles
|
||||
* prevent creating contact without encryption in chatmail profiles via mailto:-links
|
||||
* no unarchiving of groups on member removal messages
|
||||
* improve caching of DNS results
|
||||
* focus on name for QR code titles
|
||||
* report first error instead of the last on connection failure
|
||||
* long tap email address in contact's profile for copying to clipboard
|
||||
* fix battery drain due to endless IMAP loop
|
||||
* fix: remove push notification toggle, it is not needed as raised false expectations
|
||||
* fix: keep "chatmail" state after failed reconfiguration
|
||||
* fix issues with failed backup imports
|
||||
* fix: avoid group creation on member removal messages
|
||||
* fix downloading partially downloaded messages
|
||||
* fix various networking bugs
|
||||
* update translations and local help
|
||||
* update to core 1.142.2
|
||||
|
||||
|
||||
## v1.46.7
|
||||
2024-07
|
||||
|
||||
* add option to mark all selected chats as being "Read" (long tap a chat to start select mode)
|
||||
* new, single-device chatmail profiles default to "Delete Messages after Download"
|
||||
* when using a chatmail profile on multiple devices, deletion is changed to "Automatic"
|
||||
(deletion strategy is up to the server then)
|
||||
* fix back-button behaviour in the welcome screen
|
||||
* update translations and local help
|
||||
* using core 1.140.2
|
||||
|
||||
|
||||
## v1.46.5
|
||||
2024-06
|
||||
|
||||
|
||||
@@ -1,40 +1,247 @@
|
||||
## ArcaneChat Android Client
|
||||
## Delta Chat Android Client
|
||||
|
||||
A [Delta Chat](https://delta.chat/) client for Android.
|
||||
This is the Android client for [Delta Chat](https://delta.chat/).
|
||||
It is available on [F-Droid](https://f-droid.org/app/com.b44t.messenger) and
|
||||
the [Google Play Store](https://play.google.com/store/apps/details?id=chat.delta).
|
||||
The APK can also be downloaded from [get.delta.chat](https://get.delta.chat).
|
||||
|
||||
[<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)
|
||||
For the core library and other common info, please refer to the
|
||||
[Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
|
||||
|
||||
For general contribution hints, please refer to [CONTRIBUTING.md](./CONTRIBUTING.md).
|
||||
|
||||
<img alt="Screenshot Chat List" src="docs/images/2019-01-chatlist.png" width="298" /> <img alt="Screenshot Chat View" src="docs/images/2019-01-chat.png" width="298" />
|
||||
|
||||
|
||||
<img alt="Screenshot" src="fastlane/metadata/android/en-US/images/phoneScreenshots/1.png" width="298" /> <img alt="Screenshot" src="fastlane/metadata/android/en-US/images/phoneScreenshots/2.png" width="298" />
|
||||
# Check Out Repository
|
||||
|
||||
# WebXDC
|
||||
When checking out _deltachat-android_, make sure also to check out the
|
||||
subproject _deltachat-core-rust_:
|
||||
|
||||
This app has some extended support for WebXDC apps:
|
||||
- When using Git, you can do this initially by
|
||||
`$ git clone --recursive https://github.com/deltachat/deltachat-android`
|
||||
or later by `git submodule update --init --recursive`. If you do this in your
|
||||
home directory, this results in the folder `~/deltachat-android` which is just fine.
|
||||
|
||||
- `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.
|
||||
- `sendToChat()`: the file object parameter also accepts a `type` field that can be one of:
|
||||
* `"sticker"`
|
||||
* `"image"`
|
||||
* `"audio"`
|
||||
* `"video"`
|
||||
* `"file"` (default if `type` field is not present)
|
||||
- Inside apps, clicking external links is supported, ex. to open in browser, so you can include links to your website or donation pages.
|
||||
- `manifest.toml` field: `orientation`, if you set it to `"landscape"` your app will be launched in landscape mode.
|
||||
# Build Using Nix
|
||||
|
||||
The repository contains [Nix](https://nixos.org/) development environment
|
||||
described in `flake.nix` file.
|
||||
If you don't have Nix installed,
|
||||
the easiest way is to use [The Determinate Nix Installer](https://github.com/DeterminateSystems/nix-installer)
|
||||
which installs Nix with [Flakes](https://nixos.wiki/wiki/Flakes) feature enabled out of the box
|
||||
and can be cleanly uninstalled with `/nix/nix-installer uninstall` once you don't need it anymore.
|
||||
|
||||
Once you have Nix with Flakes feature set up start the development environment shell:
|
||||
```
|
||||
nix develop
|
||||
```
|
||||
Nix development environment contains Rust with cross-compilation toolchains and Android SDK.
|
||||
|
||||
To [build an APK](https://developer.android.com/studio/build/building-cmdline) run the following 2 steps.
|
||||
Note that the first step may take some time to build for all architectures. You can optionally read
|
||||
[the first comment block in the `ndk-make.sh` script](https://github.com/deltachat/deltachat-android/blob/master/scripts/ndk-make.sh)
|
||||
for pointers on how to build for a specific architecture.
|
||||
```
|
||||
$ scripts/ndk-make.sh
|
||||
$ ./gradlew assembleDebug
|
||||
```
|
||||
|
||||
Resulting APK files can be found in
|
||||
`build/outputs/apk/gplay/debug/` and
|
||||
`build/outputs/apk/fat/debug/`.
|
||||
|
||||
# Build Using Dockerfile
|
||||
|
||||
Another way to build APK is to use provided `Dockerfile`
|
||||
with [Docker](https://www.docker.com/) or [Podman](https://podman.io/).
|
||||
Podman is a drop-in replacement for Docker that does not require root privileges.
|
||||
|
||||
If you don't have Docker or Podman setup yet, read [how to setup Podman](#setup-podman)
|
||||
below. If you don't want to use Docker or Podman, read [how to manually install the
|
||||
build environment](#install-build-environment).
|
||||
|
||||
First, build the image `deltachat-android` by running
|
||||
```
|
||||
podman build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
|
||||
```
|
||||
or
|
||||
```
|
||||
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) . -t deltachat-android
|
||||
```
|
||||
|
||||
Then, run the image:
|
||||
```
|
||||
podman run --userns=keep-id -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
|
||||
```
|
||||
or
|
||||
```
|
||||
docker run -it --name deltachat -v $(pwd):/home/app:z -w /home/app localhost/deltachat-android
|
||||
```
|
||||
|
||||
You can leave the container with Ctrl+D or by typing `exit` and re-enter it with
|
||||
`docker start -ia deltachat` or `podman start -ia deltachat`.
|
||||
|
||||
Within the container, install toolchains and build the native library:
|
||||
```
|
||||
deltachat@6012dcb974fe:/home/app$ scripts/install-toolchains.sh
|
||||
deltachat@6012dcb974fe:/home/app$ scripts/ndk-make.sh
|
||||
```
|
||||
|
||||
Then, [build an APK](https://developer.android.com/studio/build/building-cmdline):
|
||||
```
|
||||
deltachat@6012dcb974fe:/home/app$ ./gradlew assembleDebug
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
- Executing `./gradlew assembleDebug` inside the container fails with `The SDK directory '/home/user/Android/Sdk' does not exist.`:
|
||||
|
||||
The problem is that Android Studio (outside the container) automatically creates a file `local.properties` with a content like `sdk.dir=/home/username/Android/Sdk`,
|
||||
so, Gradle-inside-the-container looks for the Sdk at `/home/username/Android/Sdk`, where it can't find it.
|
||||
You could:
|
||||
- either: remove the file or just the line starting with `sdk.dir`
|
||||
- or: run `./gradlew assembleDebug` from outside the container (however, there may be incompatibility issues if different versions are installed inside and outside the container)
|
||||
|
||||
- Running the image fails with `ERRO[0000] The storage 'driver' option must be set in /etc/containers/storage.conf, guarantee proper operation.`:
|
||||
|
||||
In /etc/containers/storage.conf, replace the line: `driver = ""` with: `driver = "overlay"`.
|
||||
You can also set the `driver` option to something else, you just need to set it to _something_.
|
||||
[Read about possible options here](https://github.com/containers/storage/blob/master/docs/containers-storage.conf.5.md#storage-table).
|
||||
|
||||
# <a name="setup-podman"></a>Setup Podman
|
||||
|
||||
These instructions were only tested on a Manjaro machine so far. If anything doesn't work, please open an issue.
|
||||
|
||||
First, [Install Podman](https://podman.io/getting-started/installation).
|
||||
|
||||
Then, if you want to run Podman without root, run:
|
||||
```
|
||||
sudo touch /etc/subgid
|
||||
sudo touch /etc/subuid
|
||||
sudo usermod --add-subuids 165536-231072 --add-subgids 165536-231072 yourusername
|
||||
```
|
||||
(replace `yourusername` with your username).
|
||||
See https://wiki.archlinux.org/index.php/Podman#Rootless_Podman for more information.
|
||||
|
||||
# <a name="install-build-environment"></a>Install Build Environment (without Docker or Podman)
|
||||
|
||||
To setup build environment manually:
|
||||
- _Either_, in Android Studio, go to "Tools / SDK Manager / SDK Tools", enable "Show Package Details",
|
||||
select "CMake" and the desired NDK (install the same NDK version as the [Dockerfile](https://github.com/deltachat/deltachat-android/blob/master/Dockerfile)), hit "Apply".
|
||||
- _Or_ read [Dockerfile](https://github.com/deltachat/deltachat-android/blob/master/Dockerfile) and mimic what it does.
|
||||
|
||||
Then, in both cases, install Rust using [rustup](https://rustup.rs/)
|
||||
and Rust toolchains for cross-compilation by executing `scripts/install-toolchains.sh`.
|
||||
|
||||
Then, configure `ANDROID_NDK_ROOT` environment variable to point to the Android NDK
|
||||
installation directory e.g. by adding this to your `.bashrc`:
|
||||
|
||||
```bash
|
||||
export ANDROID_NDK_ROOT=${HOME}/Android/Sdk/ndk/[version] # (or wherever your NDK is) Note that there is no `/` at the end!
|
||||
export PATH=${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT}
|
||||
```
|
||||
|
||||
After that, call `scripts/ndk-make.sh` in the root directory to build core-rust.
|
||||
Afterwards run the project in Android Studio. The project requires API 25.
|
||||
|
||||
With chance, that's it :) - if not, read on how to set up a proper development
|
||||
environment.
|
||||
|
||||
|
||||
# Install Development Environment
|
||||
|
||||
1. Some libs required by Android Studio may be missing on 64 bit Linux machines
|
||||
[Source](https://developer.android.com/studio/install.html)], so for Ubuntu execute
|
||||
`$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386`
|
||||
and for Fedora execute
|
||||
`$ sudo yum install zlib.i686 ncurses-libs.i686 bzip2-libs.i686`.
|
||||
|
||||
2. Download Android Studio from <https://developer.android.com> (android-studio-ide-...-linux.zip)
|
||||
and unpack the archive which contains a single folder called `android-studio`;
|
||||
move this folder e.g. to `~/android-studio`.
|
||||
|
||||
3. To launch Android Studio for the first time, open a terminal, navigate to
|
||||
`~/android-studio/bin`, execute `./studio.sh` and use all the standard values
|
||||
from the wizard.
|
||||
|
||||
4. Android Studio now asks you if you want to open an existing project;
|
||||
choose `~/deltachat-android` as created in the "Build" chapter (Android Studio starts to
|
||||
build the project, however, there are some steps missing before this will
|
||||
succeed).
|
||||
|
||||
5. If components are missing, click on the corresponding error
|
||||
message and install eg. required SDKs and the "Build-Tools" (you should
|
||||
also find the option at "Tools / Android / SDK Manager / SDK Platforms").
|
||||
Now the build should succeed - but the app still misses the native part.
|
||||
|
||||
6. Download Android NDK from
|
||||
[NDK Archives](https://developer.android.com/ndk/downloads)
|
||||
and extract the archive containing a single folder
|
||||
called something like `android-ndk-r23b-linux`; move this folder e.g. to `~/android-ndk`.
|
||||
|
||||
7. Export the folder path to your environment as `ANDROID_NDK_ROOT` and add it to `PATH`.
|
||||
You can achieve this e.g. by adding this to your `.bashrc`
|
||||
```bash
|
||||
export ANDROID_NDK_ROOT=${HOME}/android-ndk
|
||||
export PATH=${PATH}:${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin/:${ANDROID_NDK_ROOT}
|
||||
```
|
||||
|
||||
# Run UI Tests and Benchmarks
|
||||
|
||||
- You don't necessarily need a dedicated testing device.
|
||||
Backup your current account first, maybe there are some bugs in switching accounts.
|
||||
|
||||
- You can run benchmarks on either an emulated device or a real device.
|
||||
You need at least Android 9. For better benchmark results,
|
||||
you should run the benchmark on a real device and make sure that the core is compiled in release mode.
|
||||
|
||||
- Disable animations on your device, otherwise the test may fail:
|
||||
at "Developer options"
|
||||
set all of "Window animation scale", "Transition animation scale" and "Animator duration scale" to 0x
|
||||
|
||||
- In Android Studio: "File" / "Sync project with gradle files"
|
||||
|
||||
- In Android Studio: "Run" / "Edit configurations" / "+" / "Android Instrumented test":
|
||||
Either select a specific class or select "All in Module" / "OK" /
|
||||
Select your configuration in the toolbar / Click on the green "run" button in the toolbar to run the tests
|
||||
|
||||
## Get the benchmark results
|
||||
|
||||
When the benchmark is done, you will get a result like
|
||||
`MEASURED RESULTS (Benchmark) - Going thorough all 10 chats: 11635,11207,11363,11352,11279,11183,11137,11145,11032,11057`.
|
||||
You can paste `11635,11207,11363,11352,11279,11183,11137,11145,11032,11057`
|
||||
into a cell in a LibreOffice spreadsheet, do "Data" / "Text to columns",
|
||||
choose `,` as a separator, hit "OK", and create a diagram.
|
||||
|
||||
## Run online tests
|
||||
|
||||
For some tests, you need to provide the credentials to an actual email account.
|
||||
You have 2 ways to do this:
|
||||
|
||||
1. (Recommended): Put them into the file ~/.gradle/gradle.properties (create it if it doesn't exist):
|
||||
```
|
||||
TEST_ADDR=youraccount@yourdomain.org
|
||||
TEST_MAIL_PW=youpassword
|
||||
```
|
||||
|
||||
2. Or set them via environment variables.
|
||||
|
||||
# Translations
|
||||
|
||||
Android metadata and changelogs are translated using [Weblate](https://hosted.weblate.org/projects/deltachat/android-metadata/).
|
||||
|
||||
<a href="https://hosted.weblate.org/engage/deltachat/">
|
||||
<img src="https://hosted.weblate.org/widget/deltachat/android-metadata/svg-badge.svg" alt="Translation status" />
|
||||
</a>
|
||||
|
||||
# Credits
|
||||
|
||||
This app is based on the [official Delta Chat client](https://github.com/deltachat/deltachat-android) with several improvements.
|
||||
The user interface classes are based on the Signal messenger.
|
||||
|
||||
This app uses a [modified](https://github.com/ArcaneChat/core) version of the [Delta Chat Core Library](https://github.com/deltachat/deltachat-core-rust).
|
||||
|
||||
# License
|
||||
|
||||
Licensed GPLv3+, see the LICENSE file for details.
|
||||
|
||||
Copyright © 2022 Delta Chat contributors.
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
|
||||
## Generate APKs
|
||||
|
||||
on the command-line, in a PR called "update-core-and-stuff-DATE":
|
||||
|
||||
1. update core:
|
||||
```
|
||||
./scripts/update-core.sh # shows used branch
|
||||
@@ -19,9 +17,6 @@ on the command-line, in a PR called "update-core-and-stuff-DATE":
|
||||
./scripts/create-local-help.sh # requires deltachat-pages checked out at ../deltachat-pages
|
||||
```
|
||||
|
||||
the "update-core-and-stuff-DATE" PR can be merged without review
|
||||
(as everything was already reviewed in their repos).
|
||||
|
||||
the following steps are done in a PR called `prep-VERSION` (no leading "v"):
|
||||
|
||||
3. update `CHANGELOG.md`
|
||||
@@ -81,24 +76,26 @@ on <https://play.google.com/apps/publish/>:
|
||||
"These features will roll out over the coming days. Thanks for using Delta Chat!";
|
||||
release name should be default ("123 (1.2.3)")
|
||||
c) click "Next", set "Rollout Percentage" to 1% (later 2%, 5%, 10%, 20%, 50%, 100%),
|
||||
click "Save"
|
||||
d) Go to "Publishing Overview", "Managed publishing" is usually off;
|
||||
click "Send change for review", confirm
|
||||
click "Start rollout to Production"
|
||||
|
||||
|
||||
## Tag for F-Droid and create Github release
|
||||
## Release on F-Droid
|
||||
|
||||
10. make sure, everything is pushed, then:
|
||||
$ git tag v1.2.1 COMMIT; git push --tags
|
||||
10. Add "4" at the end of versionCode to calculate F-Droid version code number.
|
||||
E.g. for versionCode 456 you get number 4564
|
||||
(this version conversion is due to `VercodeOperation` in
|
||||
<https://gitlab.com/fdroid/fdroiddata/blob/master/metadata/com.b44t.messenger.yml>
|
||||
metadata file, see <https://f-droid.org/docs/Build_Metadata_Reference/#VercodeOperation> for
|
||||
documentation)
|
||||
Add `metadata/en-US/changelogs/4564.txt` file with a changelog for F-Droid.
|
||||
The changelog must not be longer than 500 characters.
|
||||
|
||||
11. make sure, everything is pushed, then:
|
||||
$ git tag v1.2.1; git push --tags
|
||||
|
||||
F-Droid picks on the tags starting with "v" and builds the version.
|
||||
This may take some days.
|
||||
|
||||
11. a) on <https://github.com/deltachat/deltachat-android/releases>,
|
||||
tap "Draft a new Release", choose just created tag, fill changelog
|
||||
b) add APK from above using "Attach binary".
|
||||
c) tap "Publish release"
|
||||
|
||||
|
||||
## Release on Amazon Appstore
|
||||
|
||||
|
||||
@@ -1,24 +1,20 @@
|
||||
plugins {
|
||||
id 'com.android.application' version '8.1.4'
|
||||
id 'com.google.gms.google-services' version '4.4.1'
|
||||
// id 'com.google.gms.google-services' version '4.4.1'
|
||||
}
|
||||
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven {
|
||||
// Used only for PhotoView
|
||||
url "https://www.jitpack.io"
|
||||
name 'JitPack Github wrapper'
|
||||
}
|
||||
jcenter()
|
||||
}
|
||||
|
||||
android {
|
||||
dependenciesInfo {
|
||||
// Disables dependency metadata when building APKs.
|
||||
includeInApk = false
|
||||
// Disables dependency metadata when building Android App Bundles.
|
||||
includeInBundle = false
|
||||
}
|
||||
namespace "org.thoughtcrime.securesms"
|
||||
flavorDimensions "none"
|
||||
compileSdk 34
|
||||
@@ -33,14 +29,14 @@ android {
|
||||
useLibrary 'org.apache.http.legacy'
|
||||
|
||||
defaultConfig {
|
||||
versionCode 30000686
|
||||
versionName "1.46.14"
|
||||
versionCode 688
|
||||
versionName "1.46.5"
|
||||
|
||||
applicationId "chat.delta.lite"
|
||||
applicationId "com.b44t.messenger"
|
||||
multiDexEnabled true
|
||||
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 34
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 33
|
||||
|
||||
vectorDrawables.useSupportLibrary = true
|
||||
|
||||
@@ -49,11 +45,6 @@ android {
|
||||
|
||||
buildConfigField "boolean", "DEV_BUILD", "false"
|
||||
|
||||
ndk {
|
||||
abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
}
|
||||
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
|
||||
buildConfigField("String", "TEST_ADDR", buildConfigProperty("TEST_ADDR"))
|
||||
@@ -94,11 +85,8 @@ android {
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
debug {
|
||||
minifyEnabled false
|
||||
applicationIdSuffix ".beta"
|
||||
}
|
||||
release {
|
||||
applicationIdSuffix ".lite2"
|
||||
// minification and proguard disabled for now.
|
||||
//
|
||||
// when enabled, it can cut down apk size about 6%,
|
||||
@@ -109,8 +97,12 @@ android {
|
||||
// nb: it is highly recommended to use the same settings in debug+release -
|
||||
// otherwise problems might be noticed delayed only
|
||||
minifyEnabled true
|
||||
signingConfig signingConfigs.release
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),
|
||||
'proguard-rules.pro'
|
||||
|
||||
if(project.hasProperty("DC_RELEASE_STORE_FILE")) {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,18 +113,33 @@ android {
|
||||
}
|
||||
gplay {
|
||||
dimension "none"
|
||||
apply plugin: "com.google.gms.google-services"
|
||||
applicationId "chat.delta"
|
||||
//apply plugin: "com.google.gms.google-services"
|
||||
buildConfigField "boolean", "USE_PLAY_SERVICES", "true"
|
||||
}
|
||||
}
|
||||
|
||||
splits {
|
||||
abi {
|
||||
enable true
|
||||
reset()
|
||||
include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
||||
universalApk true
|
||||
}
|
||||
}
|
||||
|
||||
project.ext.versionCodes = ['armeabi': 1, 'armeabi-v7a': 2, 'arm64-v8a': 3, 'mips': 5, 'mips64': 6, 'x86': 8, 'x86_64': 9]
|
||||
|
||||
android.applicationVariants.all { variant ->
|
||||
variant.outputs.all {
|
||||
outputFileName = outputFileName
|
||||
.replace("android", "ArcaneChat")
|
||||
.replace("foss", "FOSS")
|
||||
.replace("-release", "")
|
||||
variant.outputs.all { output ->
|
||||
output.outputFileName = output.outputFileName
|
||||
.replace("deltalab-android", "deltachat-lite")
|
||||
.replace("-gplay", "")
|
||||
.replace("-release", "")
|
||||
.replace(".apk", "-${variant.versionName}.apk")
|
||||
output.versionCodeOverride =
|
||||
project.ext.versionCodes.get(output.getFilter(
|
||||
com.android.build.OutputFile.ABI), 0) * 10000000 + android.defaultConfig.versionCode
|
||||
}
|
||||
}
|
||||
|
||||
@@ -141,11 +148,6 @@ android {
|
||||
jniLibs.srcDirs = ['libs']
|
||||
}
|
||||
}
|
||||
|
||||
androidResources {
|
||||
generateLocaleConfig true
|
||||
}
|
||||
|
||||
lint {
|
||||
abortOnError false
|
||||
}
|
||||
@@ -156,39 +158,30 @@ android {
|
||||
|
||||
}
|
||||
|
||||
final def markwon_version = '4.6.2'
|
||||
|
||||
dependencies {
|
||||
// ArcaneChat-only dependencies:
|
||||
implementation "io.noties.markwon:core:$markwon_version"
|
||||
implementation "io.noties.markwon:ext-strikethrough:$markwon_version"
|
||||
implementation "io.noties.markwon:inline-parser:$markwon_version"
|
||||
implementation 'com.airbnb.android:lottie:4.2.2' // Lottie animations support.
|
||||
|
||||
implementation 'androidx.sharetarget:sharetarget:1.2.0'
|
||||
implementation 'androidx.webkit:webkit:1.11.0'
|
||||
implementation 'androidx.webkit:webkit:1.8.0'
|
||||
implementation 'androidx.multidex:multidex:2.0.1'
|
||||
implementation 'androidx.appcompat:appcompat:1.7.0'
|
||||
implementation 'com.google.android.material:material:1.12.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'com.google.android.material:material:1.10.0'
|
||||
implementation 'androidx.legacy:legacy-support-v13:1.0.0'
|
||||
implementation ('androidx.preference:preference:1.2.1') {
|
||||
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel'
|
||||
exclude group: 'androidx.lifecycle', module:'lifecycle-viewmodel-ktx'
|
||||
}
|
||||
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
|
||||
implementation 'androidx.exifinterface:exifinterface:1.3.7'
|
||||
implementation 'androidx.exifinterface:exifinterface:1.3.6'
|
||||
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-common-java8:2.6.2'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.6.2'
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
|
||||
implementation 'androidx.work:work-runtime:2.9.1'
|
||||
implementation 'androidx.work:work-runtime:2.8.1'
|
||||
implementation 'androidx.emoji2:emoji2-emojipicker:1.4.0'
|
||||
implementation 'com.google.guava:guava:31.1-android'
|
||||
implementation 'com.google.android.exoplayer:exoplayer-core:2.19.1' // plays video and audio
|
||||
implementation 'com.google.android.exoplayer:exoplayer-ui:2.19.1'
|
||||
implementation 'com.google.guava:guava:29.0-android'
|
||||
implementation 'com.google.android.exoplayer:exoplayer-core:2.9.6' // plays video and audio
|
||||
implementation 'com.google.android.exoplayer:exoplayer-ui:2.9.6'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
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.journeyapps:zxing-android-embedded:3.4.0' // 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.
|
||||
@@ -198,31 +191,33 @@ dependencies {
|
||||
implementation 'com.caverock:androidsvg-aar:1.4' // SVG support.
|
||||
implementation 'com.github.bumptech.glide:glide:4.12.0'
|
||||
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
|
||||
annotationProcessor 'androidx.annotation:annotation:1.8.2'
|
||||
annotationProcessor 'androidx.annotation:annotation:1.7.0'
|
||||
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 'com.github.amulyakhare:TextDrawable:558677ea31' // number of unread messages,
|
||||
//implementation 'com.nineoldandroids:library:2.4.0' // DEPRECATED! Used to slide in the half-camera.
|
||||
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.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.davemorrissey.labs:subsampling-scale-image-view:3.6.0') { // for the zooming on photos / media
|
||||
exclude group: 'com.android.support', module: 'support-annotations'
|
||||
}
|
||||
implementation 'com.annimon:stream:1.1.8' // brings future java streams api to SDK Version < 24
|
||||
implementation 'com.codewaves.stickyheadergrid:stickyheadergrid:0.9.4' // glues the current time segment text in the gallery to the top.
|
||||
|
||||
implementation 'com.getkeepsafe.relinker:relinker:1.4.4' // needed to avoid safe-content-resolver-v14 trying to fetch older non-existing version
|
||||
// Replacement for ContentResolver
|
||||
// that protects against the Surreptitious Sharing attack.
|
||||
// <https://github.com/cketti/SafeContentResolver>
|
||||
implementation 'de.cketti.safecontentresolver:safe-content-resolver-v14:1.0.0'
|
||||
|
||||
gplayImplementation('com.google.firebase:firebase-messaging:24.0.0') { // for PUSH notifications
|
||||
exclude group: 'com.google.firebase', module: 'firebase-core'
|
||||
exclude group: 'com.google.firebase', module: 'firebase-analytics'
|
||||
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
|
||||
}
|
||||
// gplayImplementation('com.google.firebase:firebase-messaging:23.4.1') { // for PUSH notifications
|
||||
// exclude group: 'com.google.firebase', module: 'firebase-core'
|
||||
// exclude group: 'com.google.firebase', module: 'firebase-analytics'
|
||||
// exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
|
||||
// }
|
||||
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
testImplementation 'junit:junit:4.13.1'
|
||||
testImplementation 'org.assertj:assertj-core:1.7.1'
|
||||
testImplementation 'org.mockito:mockito-core:1.9.5'
|
||||
testImplementation 'org.powermock:powermock-api-mockito:1.6.1'
|
||||
@@ -230,11 +225,11 @@ dependencies {
|
||||
testImplementation 'org.powermock:powermock-module-junit4-rule:1.6.1'
|
||||
testImplementation 'org.powermock:powermock-classloading-xstream:1.6.1'
|
||||
|
||||
androidTestImplementation 'androidx.test:runner:1.6.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.6.1'
|
||||
androidTestImplementation 'androidx.test:rules:1.6.1'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
|
||||
androidTestImplementation 'androidx.test:runner:1.4.0'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.4.0'
|
||||
androidTestImplementation 'androidx.test:rules:1.4.0'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
||||
androidTestImplementation 'com.android.support:support-annotations:28.0.0'
|
||||
|
||||
androidTestImplementation ('org.assertj:assertj-core:1.7.1') {
|
||||
|
||||
|
After Width: | Height: | Size: 433 KiB |
|
After Width: | Height: | Size: 88 KiB |
@@ -1,30 +0,0 @@
|
||||
<i>ArcaneChat</i> is a friendly fork of <i>Delta Chat</i> messenger, a chat app compatible with the existing e-mail infrastructure.
|
||||
|
||||
ArcaneChat 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.
|
||||
|
||||
<b>Main differences with official Delta Chat client:</b>
|
||||
|
||||
<ul>
|
||||
<li>Basic markdown support (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>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>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>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>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/ArcaneChat/android/#webxdc</li>
|
||||
<li>Better settings organization with additional "Privacy" section</li>
|
||||
</ul>
|
||||
|
||||
<b>WARNING:</b> Be careful when running WebXDC apps in ArcaneChat, 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.
|
||||
|
Before Width: | Height: | Size: 171 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 287 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 447 KiB |
|
Before Width: | Height: | Size: 173 KiB |
|
Before Width: | Height: | Size: 215 KiB |
@@ -1 +0,0 @@
|
||||
Encrypted chat over e-mail (Delta Chat client)
|
||||
@@ -1 +0,0 @@
|
||||
ArcaneChat
|
||||
@@ -28,26 +28,7 @@
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:922391085500:android:6f54e2c4e49405673e2bb9",
|
||||
"android_client_info": {
|
||||
"package_name": "chat.delta.lite.beta"
|
||||
}
|
||||
},
|
||||
"oauth_client": [],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyBYH8Iznh8btYX7g_udv_bu68VH30zzxho"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": []
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:922391085500:android:aff82fbc40c8172e3e2bb9",
|
||||
"android_client_info": {
|
||||
"package_name": "chat.delta.lite"
|
||||
"package_name": "chat.delta.beta"
|
||||
}
|
||||
},
|
||||
"oauth_client": [],
|
||||
@@ -102,4 +83,4 @@
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 41 KiB |
@@ -1,4 +1,4 @@
|
||||
APP_PLATFORM := android-21
|
||||
APP_PLATFORM := android-16
|
||||
APP_ABI := armeabi-v7a arm64-v8a x86 x86_64
|
||||
APP_STL := none
|
||||
|
||||
|
||||
@@ -250,7 +250,7 @@ JNIEXPORT jlong Java_com_b44t_messenger_DcAccounts_getJsonrpcInstanceCPtr(JNIEnv
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcAccounts_startIo2(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcAccounts_startIo(JNIEnv *env, jobject obj)
|
||||
{
|
||||
dc_accounts_start_io(get_dc_accounts(env, obj));
|
||||
}
|
||||
@@ -282,6 +282,12 @@ JNIEXPORT jint Java_com_b44t_messenger_DcAccounts_addAccount(JNIEnv *env, jobjec
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcAccounts_addClosedAccount(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_accounts_add_closed_account(get_dc_accounts(env, obj));
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcAccounts_migrateAccount(JNIEnv *env, jobject obj, jstring dbfile)
|
||||
{
|
||||
CHAR_REF(dbfile);
|
||||
@@ -1414,16 +1420,6 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getId(JNIEnv *env, jobject obj)
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_isOutgoing(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return (jboolean)(dc_msg_is_outgoing(get_dc_msg(env, obj))!=0);
|
||||
}
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getSenderColor(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_get_sender_color(get_dc_msg(env, obj));
|
||||
}
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcMsg_getText(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_msg_get_text(get_dc_msg(env, obj));
|
||||
@@ -1466,7 +1462,7 @@ JNIEXPORT jboolean Java_com_b44t_messenger_DcMsg_hasLocation(JNIEnv *env, jobjec
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getViewType(JNIEnv *env, jobject obj)
|
||||
JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getType(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_msg_get_viewtype(get_dc_msg(env, obj));
|
||||
}
|
||||
@@ -1670,14 +1666,6 @@ JNIEXPORT jint Java_com_b44t_messenger_DcMsg_getVideochatType(JNIEnv *env, jobje
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setSubject(JNIEnv *env, jobject obj, jstring text)
|
||||
{
|
||||
CHAR_REF(text);
|
||||
dc_msg_set_subject(get_dc_msg(env, obj), textPtr);
|
||||
CHAR_UNREF(text);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setText(JNIEnv *env, jobject obj, jstring text)
|
||||
{
|
||||
CHAR_REF(text);
|
||||
@@ -1686,14 +1674,6 @@ JNIEXPORT void Java_com_b44t_messenger_DcMsg_setText(JNIEnv *env, jobject obj, j
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setHtml(JNIEnv *env, jobject obj, jstring text)
|
||||
{
|
||||
CHAR_REF(text);
|
||||
dc_msg_set_html(get_dc_msg(env, obj), textPtr);
|
||||
CHAR_UNREF(text);
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT void Java_com_b44t_messenger_DcMsg_setFile(JNIEnv *env, jobject obj, jstring file, jstring filemime)
|
||||
{
|
||||
CHAR_REF(file);
|
||||
@@ -1798,15 +1778,6 @@ JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getName(JNIEnv *env, jobject
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getAuthName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_contact_get_auth_name(get_dc_contact(env, obj));
|
||||
jstring ret = JSTRING_NEW(temp);
|
||||
dc_str_unref(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
JNIEXPORT jstring Java_com_b44t_messenger_DcContact_getDisplayName(JNIEnv *env, jobject obj)
|
||||
{
|
||||
char* temp = dc_contact_get_display_name(get_dc_contact(env, obj));
|
||||
@@ -1886,11 +1857,6 @@ JNIEXPORT jint Java_com_b44t_messenger_DcContact_getVerifierId(JNIEnv *env, jobj
|
||||
return dc_contact_get_verifier_id(get_dc_contact(env, obj));
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean Java_com_b44t_messenger_DcContact_isBot(JNIEnv *env, jobject obj)
|
||||
{
|
||||
return dc_contact_is_bot(get_dc_contact(env, obj)) != 0;
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
* DcLot
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
التواصل الفوري عبر البريد الكتروني
|
||||
@@ -0,0 +1 @@
|
||||
Okamžitá komunikace prostřednictvím e-mailu
|
||||
@@ -0,0 +1 @@
|
||||
Sofort über E-Mail kommunizieren
|
||||
@@ -0,0 +1 @@
|
||||
Delta Chat
|
||||
@@ -0,0 +1,10 @@
|
||||
If a classical-email-user sends an email to a group and adds new recipients, the new recipients will become group members.
|
||||
Treat attached PGP keys from classical-email-user as a signal to prefer mutual encryption.
|
||||
Treat encrypted or signed messages from classical-email-user as a signal to prefer mutual encryption.
|
||||
Fix migration of old databases.
|
||||
Fix: send ephemeral timer change messages only of the chat is already known by other members.
|
||||
Fix: use relative paths to database and avoid problems eg. on migration to other devices or paths.
|
||||
Fix read/write timeouts for IMAP over SOCKS5.
|
||||
Fix: do not send "group name changes" if no character was modified.
|
||||
Add Greek translation, update other translations.
|
||||
Update to core104.
|
||||
@@ -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
|
||||
@@ -0,0 +1,5 @@
|
||||
* add SOCKS5 options to "Add Account" and "Configure"
|
||||
* introduce DNS cache: if DNS stops working on a network, Delta Chat will still be able to connect to IMAP by using previous IP addresses
|
||||
* show full messages: do not load remote content for requests automatically
|
||||
* fix various bugs and improve logging
|
||||
* update translations
|
||||
@@ -0,0 +1,8 @@
|
||||
* new, easy way to add a second device to your account: select "Add as a Second Device" after installation and scan a QR code from the first device
|
||||
* view "All Media" of all chats
|
||||
* new "Clear Chat" option
|
||||
* show notifications for all accounts
|
||||
* make better use of dark/light mode in "Show full message"
|
||||
* show icon beside info messages of apps
|
||||
* resilience against outages by caching DNS results for SMTP and IMAP connections
|
||||
* speed and reliability improvements, fixes
|
||||
@@ -0,0 +1,9 @@
|
||||
* add a device message after setting up a second device using "Settings / Add Second Device"
|
||||
* speed up "Add as Second Device" connection time significantly on the getter side
|
||||
* if possible, show Wi-Fi-name directly after scanning an "Add Second Device" QR code
|
||||
* fix immediate restarts of "Add Second Device"
|
||||
* fix: do not show just trashed media in "All Media" view
|
||||
* fix: update database if needed after "Add Second Device"
|
||||
* update translations and local help
|
||||
* update to core112.6
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
* start with light/dark theme depending on system theme
|
||||
* fix verification icons for one-to-one chats
|
||||
* fix fetch errors due to erroneous EOF detection in long IMAP responses
|
||||
* more bug fixes
|
||||
* update translations and local help
|
||||
* update to core112.7
|
||||
@@ -0,0 +1,4 @@
|
||||
* use SOCKS5 configuration also for loading remote images in HTML mails
|
||||
* bug fixes
|
||||
* update translations and local help
|
||||
* update to core112.8
|
||||
@@ -0,0 +1,6 @@
|
||||
* new webxdc APIs: importFiles() and sendToChat()
|
||||
* remove upper size limit of attachments
|
||||
* 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
|
||||
* improve group membership consistency
|
||||
* lots of bug fixes
|
||||
@@ -0,0 +1,5 @@
|
||||
* use image editor for avatar selection when possible
|
||||
* improve loading screen in dark mode
|
||||
* update "verified icon"
|
||||
* add Luri Bakhtiari translation, update other translations
|
||||
* lots of bug fixes
|
||||
@@ -0,0 +1,5 @@
|
||||
* use image editor for avatar selection when possible
|
||||
* improve loading screen in dark mode
|
||||
* update "verified icon"
|
||||
* add Luri Bakhtiari translation, update other translations
|
||||
* lots of bug fixes
|
||||
@@ -0,0 +1,6 @@
|
||||
- One-to-one chats guarantee end-to-end encryption for contacts with a green checkmark now
|
||||
- For everyone\'s simplicity, we also mark these chats with green checkmarks
|
||||
- Groups are created automatically with guaranteed end-to-end encryption if possible
|
||||
- Accept/Blocked, Archived, Pinned, Mute is synced across all your devices
|
||||
- More improvements in camera, voice messages, backup-all, screen reader, per-account wallpapers, gallery select-all, webxdc landscape
|
||||
- Tons of bug fixes
|
||||
@@ -0,0 +1,6 @@
|
||||
- One-to-one chats guarantee end-to-end encryption for contacts with a green checkmark now
|
||||
- For everyone\'s simplicity, we also mark these chats with green checkmarks
|
||||
- Groups are created automatically with guaranteed end-to-end encryption if possible
|
||||
- Accept/Blocked, Archived, Pinned, Mute is synced across all your devices
|
||||
- More improvements in camera, voice messages, backup-all, screen reader, per-account wallpapers, gallery select-all, webxdc landscape
|
||||
- Tons of bug fixes
|
||||
@@ -0,0 +1,6 @@
|
||||
- sync changes on "Your Profile Name", "Show Class Mails", "Read Receipts" options across devices
|
||||
- remove receiver limit on .xdc size
|
||||
- fix log in errors for providers as 163.com
|
||||
- fix decryption errors when using multiple private keys
|
||||
- fix database locked errors on webxdc updates
|
||||
- update translations
|
||||
@@ -0,0 +1,8 @@
|
||||
- "Reactions": long tap a message to react to it
|
||||
- If you cannot scan QR codes, share them as "invite links"
|
||||
- Unread messages of all accounts are counted and shown in title now
|
||||
- Webxdc sending limit removed
|
||||
- Long-tapping chatlist items now allow to mute/unmute chats directly
|
||||
- Ask for system unlock secret before opening "Password & Account"
|
||||
- New option "Settings / Advanced / Read System Address Book"
|
||||
- Tons of bug fixes
|
||||
@@ -0,0 +1,7 @@
|
||||
- new onboarding: you can create a new profile with one tap on "Create New Profile" - or use an existing login or second-device-setup as usual
|
||||
- contacts can be attached as "Cards" at "Attach / Contact"; when the receiver taps the cards, guaranteed end-to-end encrypted can be established
|
||||
- add contacts manually at "New Chat / New Contact / Add Contact Manually"
|
||||
- send any emoji as reaction
|
||||
- show reactions in summaries
|
||||
- pin/archive/etc chats directly from search result
|
||||
- bug fixed and more
|
||||
@@ -0,0 +1,20 @@
|
||||
Delta Chat is a messaging app that is completely compatible with the existing
|
||||
e-mail infrastructure.
|
||||
|
||||
So, with Delta Chat you get the ease of well-known messengers with the reach of
|
||||
e-mail. Moreover, you're independent from other companies or services -- as your
|
||||
data are not related to Delta Chat, you won't even add new dependencies here.
|
||||
|
||||
Some features at a glance:
|
||||
|
||||
* Secure with automatic end-to-end-encryption, supporting the new <a href="https://autocrypt.org">Autocrypt</a> standard
|
||||
* Fast by the use of Push-IMAP
|
||||
* Largest userbase -- receivers not using Delta Chat can be reached as well
|
||||
* Compatible -- not only to itself
|
||||
* Elegant and simple user interface
|
||||
* Distributed system
|
||||
* No Spam -- only messages of known users are shown by default
|
||||
* Reliable -- safe for professional use
|
||||
* Trustworthy -- can even be used for business messages
|
||||
* Fully OpenSource and Standards based
|
||||
|
||||
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 292 KiB |
|
After Width: | Height: | Size: 818 KiB |
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 128 KiB |
|
After Width: | Height: | Size: 287 KiB |
|
After Width: | Height: | Size: 648 KiB |
|
After Width: | Height: | Size: 494 KiB |
|
After Width: | Height: | Size: 556 KiB |
@@ -0,0 +1 @@
|
||||
Chat over e-mail. Elegantly Retro, Decentralized and Open. Privacy by Design.
|
||||
@@ -0,0 +1 @@
|
||||
Delta Chat
|
||||
@@ -0,0 +1 @@
|
||||
Tujmesaĝilo uzanta retpoŝton
|
||||
@@ -0,0 +1,19 @@
|
||||
Delta Chat es una aplicación de mensajería totalmente compatible con
|
||||
infraestructura de correo electrónico.
|
||||
|
||||
Por lo tanto, con Delta Chat se obtiene la facilidad de conocidos mensajeros con el alcance de
|
||||
e-mail. Además, eres independiente de otras empresas o servicios, ya que tu
|
||||
Los datos no están relacionados con Delta Chat, ni siquiera agregará nuevas dependencias aquí.
|
||||
|
||||
Algunas características de un vistazo:
|
||||
|
||||
* Seguro con cifrado automático de extremo a extremo, compatible con el nuevo estándar <a href="https://autocrypt.org">Autocrypt</a>
|
||||
* Rápido mediante el uso de Push-IMAP
|
||||
* Mayor base de usuarios -- también se puede llegar a los receptores que no usan Delta Chat
|
||||
* Compatible -- no sólo consigo mismo
|
||||
* Interfaz de usuario elegante y sencilla
|
||||
* Sistema distribuido
|
||||
* Sin spam -- sólo los mensajes de usuarios conocidos se muestran por defecto
|
||||
* Fiable -- seguro para uso profesional
|
||||
* Confiable -- incluso se puede utilizar para mensajes de negocios
|
||||
* Totalmente OpenSource y basado en estándares
|
||||
@@ -0,0 +1 @@
|
||||
Comuníquese al instante mediante correo electrónico
|
||||
@@ -0,0 +1 @@
|
||||
Delta Chat
|
||||
@@ -0,0 +1 @@
|
||||
Kiire suhtlus e-posti kaudu
|
||||
@@ -0,0 +1 @@
|
||||
Bat bateko mezularitza e-mail bidez
|
||||
@@ -0,0 +1 @@
|
||||
برقراری ارتباط فوری از طریق ایمیل
|
||||
@@ -0,0 +1 @@
|
||||
Communiquez instantanément par courriel
|
||||
@@ -0,0 +1 @@
|
||||
Dèan conaltradh sa bhad le post-d
|
||||
@@ -0,0 +1 @@
|
||||
התקשרות ישירה דרך דוא״ל
|
||||
@@ -0,0 +1,10 @@
|
||||
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.
|
||||
Aggiornamento al core104.
|
||||
@@ -0,0 +1,13 @@
|
||||
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
|
||||
aggiornare le traduzioni
|
||||
aggiornamento al core106
|
||||
@@ -0,0 +1,5 @@
|
||||
* 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
|
||||
* Corretti vari bug e migliorata la registrazione
|
||||
* aggiornate le traduzioni
|
||||
@@ -0,0 +1,8 @@
|
||||
* 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à
|
||||
@@ -0,0 +1,8 @@
|
||||
* aggiungi un messaggio sul dispositivo dopo aver configurato un secondo dispositivo utilizzando "Impostazioni/Aggiungi Secondo Dispositivo"
|
||||
* velocizza significativamente il tempo di connessione "Aggiungi come Secondo Dispositivo" dal lato intermediario
|
||||
* se possibile, mostra il nome Wi-Fi direttamente dopo aver scansionato il codice QR "Aggiungi Secondo Dispositivo".
|
||||
* risolto il riavvio immediato di "Aggiungi Secondo Dispositivo"
|
||||
* correzione: non vengono visualizzati solo i media cestinati nella vista "Tutti i Media".
|
||||
* correzione: aggiornamento del database se necessario dopo "Aggiungi Secondo Dispositivo"
|
||||
* aggiornate traduzioni e aiuto locale
|
||||
* aggiornamento al core112.6
|
||||
@@ -0,0 +1,6 @@
|
||||
* inizia con un tema chiaro/scuro a seconda del tema del sistema
|
||||
* corrette le icone di verifica per le chat individuali
|
||||
* corretti gli errori di recupero dovuti al rilevamento EOF errato nelle risposte IMAP lunghe
|
||||
* ulteriori correzioni di bug
|
||||
* aggiornate le traduzioni e aiuto locale
|
||||
* aggiornamento al core112.7
|
||||
@@ -0,0 +1,4 @@
|
||||
* utilizza la configurazione SOCKS5 anche per caricare immagini remote nelle mail HTML
|
||||
* correzioni di bug
|
||||
* aggiornate le traduzioni e aiuto locale
|
||||
* aggiornamento al core112.8
|
||||
@@ -0,0 +1,6 @@
|
||||
* nuove API webxdc: importFiles() e sendToChat()
|
||||
* 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
|
||||
* migliorata coerenza dell'appartenenza al gruppo
|
||||
* molte correzioni di bug
|
||||
@@ -0,0 +1,5 @@
|
||||
* usa l'editor immagini per la selezione dell'avatar quando possibile
|
||||
* migliora la schermata di caricamento in modalità oscura
|
||||
* aggiornamento "icona verificata"
|
||||
* aggiunta la traduzione di Luri Bakhtiari, aggiornate altre traduzioni
|
||||
* molte correzioni di bug
|
||||
@@ -0,0 +1,5 @@
|
||||
* usa l'editor immagini per la selezione dell'avatar quando possibile
|
||||
* migliora la schermata di caricamento in modalità oscura
|
||||
* aggiornamento "icona verificata"
|
||||
* aggiunta la traduzione di Luri Bakhtiari, aggiornate altre traduzioni
|
||||
* molte correzioni di bug
|
||||
@@ -0,0 +1,6 @@
|
||||
- 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
|
||||
- Tonnellate di correzioni bug
|
||||
@@ -0,0 +1,6 @@
|
||||
- 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
|
||||
- Tonnellate di correzioni bug
|
||||
@@ -0,0 +1,6 @@
|
||||
- sincronizza le modifiche alle opzioni "Nome Tuo Profilo", "Mostra E-Mails Tradizionali", "Ricevute di Lettura" su tutti i dispositivi
|
||||
- rimosso il limite del ricevitore sulla dimensione .xdc
|
||||
- corretti gli errori di accesso per provider come 163.com
|
||||
- corretti gli errori di decrittazione quando si utilizzano più chiavi private
|
||||
- corretti gli errori di blocco del database sugli aggiornamenti webxdc
|
||||
- aggiornate le traduzioni
|
||||
@@ -0,0 +1,8 @@
|
||||
- "Reazioni": tocca a lungo un messaggio per reagire ad esso
|
||||
- Se non riesci a scansionare i codici QR, condividili come "link di invito"
|
||||
- I messaggi non letti di tutti gli account ora vengono conteggiati e mostrati nel titolo
|
||||
- Rimosso limite di invio di webxdc
|
||||
- Gli elementi dell'elenco chat a tocco prolungato ora consentono di disattivare/attivare l'audio delle chat direttamente
|
||||
- Richiede lo sblocco segreto del sistema prima di aprire "Password & Account"
|
||||
- Nuova opzione "Impostazioni/Avanzate/Leggi Rubrica di Sistema"
|
||||
- Tonnellate di correzioni bug
|
||||
@@ -0,0 +1,19 @@
|
||||
Delta Chat è un'app di messaggistica completamente compatibile con
|
||||
l'infrastruttura e-mail esistente.
|
||||
|
||||
Quindi, con Delta Chat ottieni la facilità di messaggistica ben nota alla portata di
|
||||
e-mail. Inoltre, sei indipendente da altre società o servizi, come i tuoi
|
||||
dati non sono correlati a Delta Chat, qui non aggiungerai nemmeno nuove dipendenze.
|
||||
|
||||
Alcune caratteristiche in breve:
|
||||
|
||||
* Proteggi con la crittografia end-to-end automatica, che supporta il nuovo standard <a href="https://autocrypt.org">Autocrypt</a>
|
||||
* Veloce grazie all'uso di Push-IMAP
|
||||
* Base utenti più ampia -- è possibile raggiungere anche i destinatari che non utilizzano Delta Chat
|
||||
* Compatibile -- non solo con se stesso
|
||||
* Interfaccia utente elegante e semplice
|
||||
* Sistema distribuito
|
||||
* Nessuno Spam -- per impostazione predefinita vengono visualizzati solo i messaggi di utenti conosciuti
|
||||
* Affidabile -- sicuro per l'uso professionale
|
||||
* Affidabile -- può essere utilizzato anche per messaggi aziendali
|
||||
* Completamente OpenSource e basato su Standards
|
||||
@@ -0,0 +1 @@
|
||||
Chatta via e-mail. Elegantemente Retrò, Decentralizzato e Aperto. Riservatezza da Progettazione.
|
||||
@@ -0,0 +1 @@
|
||||
Delta Chat
|
||||
@@ -0,0 +1 @@
|
||||
メールで瞬時に通信する
|
||||
@@ -0,0 +1 @@
|
||||
이메일을 통해 즉각적으로 소통하세요
|
||||
@@ -0,0 +1 @@
|
||||
Sludre desentralisert via e-post.
|
||||
@@ -0,0 +1 @@
|
||||
Delta Chat
|
||||
@@ -0,0 +1 @@
|
||||
Błyskawiczna komunikacja za pośrednictwem poczty e-mail
|
||||
@@ -0,0 +1 @@
|
||||
Comunique instantaneamente por e-mail
|
||||
@@ -0,0 +1 @@
|
||||
Delta Chat
|
||||
@@ -0,0 +1 @@
|
||||
Comunicar imediatamente via e-mail
|
||||
@@ -0,0 +1 @@
|
||||
Comunicar imediatamente via e-mail
|
||||
@@ -0,0 +1 @@
|
||||
Comunicați instantaneu prin e-mail
|
||||
@@ -0,0 +1,10 @@
|
||||
Если пользователь классической электронной почты отправляет электронное письмо группе и добавляет новых получателей, новые получатели станут членами группы.
|
||||
Рассматривать прикрепленные ключи PGP от пользователя классической электронной почты как сигнал о предпочтении взаимного шифрования.
|
||||
Считаать зашифрованные или подписанные сообщения от пользователя классической электронной почты сигналом о предпочтении взаимного шифрования.
|
||||
Исправлена миграция старых баз данных.
|
||||
Исправлено: отправлять эфемерные сообщения об изменении таймера только в том случае, если чат уже известен другим участникам.
|
||||
Исправлено: использовать относительные пути к базе данных.
|
||||
Исправлены таймауты чтения/записи для IMAP через SOCKS5.
|
||||
Исправлено: не отправлять «изменения имени группы», если ни один символ не был изменен.
|
||||
Обновлены переводы.
|
||||
Обновление до core104.
|
||||
@@ -0,0 +1,15 @@
|
||||
исправление: сделать видимыми заархивированные чаты, которые не распаковываются автоматически (отключенные чаты): добавить счетчик непрочитанных сообщений и переместить архив в начало страницы
|
||||
исправление: отправлять файлы AVIF, HEIC, TXT, PPT, XLS, XML как таковые
|
||||
исправление: инициировать повторное подключение, если не удалось получить существующие сообщения
|
||||
исправление: не повторять попытку извлечения существующих сообщений после неудачи, предотвращая бесконечный цикл переподключения
|
||||
исправление: не добавлять ошибку, если сообщение зашифровано, но не подписано
|
||||
исправление: не удалять ведущие пробелы из строк сообщений
|
||||
исправление угловых ситуаций при отправке текстов с кавычками
|
||||
исправление: исправление STARTTLS-соединения
|
||||
исправление: не рассматривать недействительные адреса электронной почты как исключение
|
||||
исправление: своевременно промывать относительные пути к базам данных, введенные в 1.34.8
|
||||
более быстрое обновление списков чатов и списков контактов
|
||||
обновление переводов
|
||||
обновление до core106
|
||||
|
||||
Переведено с помощью DeepL.com (бесплатная версия)
|
||||
@@ -0,0 +1,5 @@
|
||||
* добавлены настройки SOCKS5
|
||||
* добавлен кеш DNS: если DNS перестаетс работать, Delta Chat всё равно сможет присоединиться к IMAP с использованием предыдущего IP-адреса
|
||||
* отключена загрузка удаленного контента по умолчанию при отображении полного сообщения
|
||||
* исправлены различные ошибки и улучшены логи
|
||||
* обновлен перевод
|
||||