@ -19,18 +19,20 @@ Help us with translations so as many people as possible will be able to use nhek
### Note regarding End-to-End encryption
### Note regarding End-to-End encryption
Currently the implementation is at best a **proof of concept** and it should only be used for
Currently the implementation is at best a **proof of concept** and it should only be used for
testing purposes.
testing purposes. Most importantly, it is missing device verification, so while your messages
and media are encrypted, nheko doesn't verify who gets the messages.
## Features
## Features
Most of the features you would expect from a chat application are missing right now
Most of the features you would expect from a chat application are missing right now
but we are getting close to a more feature complete client.
but we are getting close to a more feature complete client.
Specifically there is support for:
Specifically there is support for:
- E2E encryption (text messages only: attachments are currently sent unencrypted).
- E2E encryption.
- User registration.
- User registration.
- Creating, joining & leaving rooms.
- Creating, joining & leaving rooms.
- Sending & receiving invites.
- Sending & receiving invites.
- Sending & receiving files and emoji (inline widgets for images, audio and file messages).
- Sending & receiving files and emoji (inline widgets for images, audio and file messages).
- Replies with text, images and other media (and actually render them as inline widgets).
- Typing notifications.
- Typing notifications.
- Username auto-completion.
- Username auto-completion.
- Message & mention notifications.
- Message & mention notifications.
@ -61,7 +63,7 @@ sudo dnf install nheko
#### Gentoo Linux
#### Gentoo Linux
```bash
```bash
sudo layman -a matrix
sudo eselect repository enable matrix
sudo emerge -a nheko
sudo emerge -a nheko
```
```
@ -105,6 +107,27 @@ sudo port install nheko
- GCC 7 (tested on Travis CI)
- GCC 7 (tested on Travis CI)
- MSVC 19.13 (tested on AppVeyor)
- MSVC 19.13 (tested on AppVeyor)
Nheko can use bundled version for most of those libraries automatically, if the versions in your distro are too old.
To use them, you can enable the hunter integration by passing `-DHUNTER_ENABLED=ON`.
It is probably wise to link those dependencies statically by passing `-DBUILD_SHARED_LIBS=OFF`
You can select which bundled dependencies you want to use py passing various `-DUSE_BUNDLED_*` flags. By default all dependencies are bundled *if* you enable hunter.
The bundle flags are currently:
- USE_BUNDLED_BOOST
- USE_BUNDLED_SPDLOG
- USE_BUNDLED_OLM
- USE_BUNDLED_GTEST
- USE_BUNDLED_CMARK
- USE_BUNDLED_JSON
- USE_BUNDLED_OPENSSL
- USE_BUNDLED_MTXCLIENT
- USE_BUNDLED_SODIUM
- USE_BUNDLED_ZLIB
- USE_BUNDLED_LMDB
- USE_BUNDLED_LMDBXX
- USE_BUNDLED_TWEENY
#### Linux
#### Linux
If you don't want to install any external dependencies, you can generate an AppImage locally using docker.
If you don't want to install any external dependencies, you can generate an AppImage locally using docker.