/continuum-desktop

Matrix client in kotlin

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

Continuum

Build Status

Pure Kotlin Matrix client.

  • Contains zero lines of HTML or any form of XML. The entire UI is defined in Kotlin. Rendering is done using native implementations.

  • Features inherited from the Matrix platform, such as:

    • Communicate with users of other platforms without falling back to plain text. There exist various bridges that map rich features to and from Matrix.
    • You can set up your own server to take control of security and availability.
  • Use async programming (kotlinx.coroutines) for performance, code clarity and multi-platform portability.

  • Built on the Kotlin library koma. Android and iOS versions will share the same library compiled for each platform. UI will be recreated using each native SDK. Code will be shared as much as is reasonable, but not any more.

  • Small things that may come in handy

    • Links in plaintext messages are identified and preview is shown whenever applicable
    • Known media type are auto-loaded, image links are converted to images
  • Display Emoji on all OS using Emoji One

    • Built-in virtual emoji keyboard
  • Fetch chat history to allow you to read early messages

  • Store all data to disk. So it starts very fast and previous chats appear instantly. Incremental sync puts less stress on servers and also make sync much faster

  • Reasonably sized: smaller than 50MB when packaged as a stand-alone binary.

Screenshots

screenshot

Download

Builds are provided on the Releases page.

Option a: Single binary executable

This is the easiest option, download a single file and launch with one click.

For Linux, download a file with the .AppImage extension.

Note that you may need to mark the file as executable.

Option b: Executable jar

If you have a JRE (version 11 or newer recommended) installed, Continuum can run on it. The advantage of this option is smaller package size (about 20MB).

Download a jar file for your platform (the macOS version is marked as osx). Then you can launch Continuum with the command java -jar followed by the jar file. Or, depending on the set-up, you may be able to launch Continuum with a double-click.

Note that the jar files are built for each platform as they contain natively compiled code.

Option c: Use the source

git clone https://github.com/koma-im/continuum-desktop.git

In the source code directory, run ./gradlew shadowjar to build a jar package that includes all dependencies. The output will be a single file in build/libs/, to launch it, use the java command:

java -jar build/libs/continuum-desktop-*-bundled.jar

Alternatively, you can also run ./gradlew runtime, and a release that does not depend on the java command will be built. The output is a directory build/image/, a launcher is in the subdirectory bin:

build/image/bin/continuum-desktop

The launcher can be run from anywhere to launch Continuum.

Signing in

Use your matrix ID, such as @jane:matrix.org (Support for other forms of username coming soon) and your password to login

A token will be saved so the next time you login, password doesn't need to be entered.