deltachat / deltachat-desktop

Email-based instant messaging for Desktop.
GNU General Public License v3.0
947 stars 169 forks source link
autocrypt chat deltachat-desktop e2ee electron email federated imap instant-messaging messenger smtp typescript

code style: prettier

Delta Chat Desktop

Desktop Application for delta.chat

Documentation Links

For UsersFor Developers
[TROUBLESHOOTING](./docs/TROUBLESHOOTING.md) [CLI flags](./docs/CLI_FLAGS.md) [Keybindings](./docs/KEYBINDINGS.md) [How to make custom Themes](./docs/THEMES.md) [Contribution Guidelines](./CONTRIBUTING.md) [Logging](./docs/LOGGING.md) [Documentation for Developers](./docs/DEVELOPMENT.md) [Styling Guidelines](./docs/STYLES.md) [How to update core](./docs/UPDATE_CORE.md) [How to do end to end testing](./docs/E2E-TESTING.md) [How to do a release](./RELEASE.md)

Table of Contents

Click to expand - [Delta Chat Desktop ](#delta-chat-desktop-) - [Documentation Links ](#documentation-links-) - [Table of Contents](#table-of-contents) - [Install ](#install-) - [Linux ](#linux-) - [Flatpak ](#flatpak-) - [Arch Linux ](#arch-linux-) - [Mac OS ](#mac-os-) - [Homebrew](#homebrew) - [DMG](#dmg) - [Windows ](#windows-) - [From Source ](#from-source-) - [Troubleshooting ](#troubleshooting-) - [Configuration and Databases ](#configuration-and-databases-) - [How to Contribute ](#how-to-contribute-) - [Logging ](#logging-) - [License ](#license-)

Install

The application can be downloaded from https://get.delta.chat. Here you'll find binary releases for all supported platforms. See below for platform specific instructions. If you run into any problems please consult the Troubleshooting section below.

Packaging status

Linux

Flatpak

The primary distribution-independed way to install is to use the flatpak build. This is maintained in it's own repository, however a pre-built binary can be downloaded and installed from flathub which also has a setup guide for many Linux platforms.

Arch Linux

Run pacman -S deltachat-desktop to install Delta Chat Desktop on Arch Linux.

Alternatively, build deltachat-desktop-git package from Arch User Repository.

WARNING: Currently the AUR package compiles from latest master. This can be more recent as the latest release, introduce new features but also new bugs.

If you have a AUR helper like yay or paru installed, you can install it by running yay -S deltachat-desktop-git and following the instruction in your terminal.

Otherwise you can still do it manually:

Show manual steps ```sh # Download the latest snapshot of the PKGBUILD wget https://aur.archlinux.org/cgit/aur.git/snapshot/deltachat-desktop-git.tar.gz # extract the archive and rm the archive file afterwards tar xzfv deltachat-desktop-git.tar.gz && rm deltachat-desktop-git.tar.gz # cd into extracted folder cd deltachat-desktop-git # build package makepkg -si # install package (you need to replace with whatever version makepkg built) sudo pacman -U deltachat-desktop-git-.tar.xz ```

Mac OS

Homebrew

$ brew install --cask deltachat

DMG

Simply install the .dmg file as you do it with all other software on mac.

Windows

You can find the downloads for windows on https://get.delta.chat, though we recomend using the Microsoft Store release, because there you get automatic updates.

From Source

⚠ This is mostly for development purposes, this won't install/integrate deltachat into your system. So unless you know what you are doing, we recommend to stick to the methods above if possible.

# Get the code
$ git clone https://github.com/deltachat/deltachat-desktop.git
$ cd deltachat-desktop

# Install pnpm
$ npm i -g pnpm

# Install dependencies
$ pnpm install

# Build the app (only needed on the first time or if the code was changed)
$ pnpm -w build:electron

# Start the application:
$ pnpm -w start:electron

-w means workspace root package, with this you don't need to have your current working directory at the repo-root to run those scripts.

For development with local deltachat-core read the docs

Troubleshooting

This module builds on top of deltachat-core-rust, which in turn has external dependencies. The instructions below assume a Linux system (e.g. Ubuntu 18.10).

Read the error, maybe it already tells you what you need to do. If not feel free to file an issue in this github repo.

Make sure that your nodejs version is 20.0.0 or newer.

If you still get errors look at the instructions in UPDATE_CORE Readme to set things up or write an issue.

Configuration and Databases

The configuration files and database are stored at application-config's default file paths.

Each database is a SQLite file that represents the account for a given email address.

How to Contribute

Read docs/DEVELOPMENT.md

For translations see our transifex page: https://www.transifex.com/delta-chat/public/

For other ways to contribute: https://delta.chat/en/contribute

Logging

You can access the log folder and the current log file under the View->Developer menu:

Read docs/LOGGING.md for an explanation about our logging system. (available options, log location and information about the used Log-Format)

License

Licensed under GPL-3.0-or-later, see LICENSE file for details.

Copyright © 2019 DeltaChat contributors.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.