Awesome Open Source
Awesome Open Source

Cabal Desktop

Desktop client for cabal, the p2p/decentralized/offline-first chat platform.

Screen Shot 2020-06-05 at 10 29 00 AM


Download the latest release

Build from source

$ git clone
$ cd cabal-desktop

$ yarn install             # install dependencies
$ yarn start               # start the application

Build under NixOS

This gist contains a nix-shell file for development purposes. It sidesteps the issue of packaging the full package tree as a release into nixpkgs.

Download from AUR

Updating MacOS DMG background image

tiffutil -cathidpicheck cabal-desktop-dmg-background.jpg [email protected] -out dmg-background.tiff


TravisCI will automatically create and upload the appropriate release packages for you when you're ready to release. Here's the process for distributing production builds.

  1. Draft a new release. Set the “Tag version” to the value of version in your application package.json, and prefix it with v. “Release title” can be anything you want. For example, if your application package.json version is 1.0, your draft’s “Tag version” would be v1.0.

  2. Push some commits. Every CI build will update the artifacts attached to this draft.

  3. Once you are done, create the tag (e.g., git tag v6.0.0) and publish the release (git push --tags && npm publish). GitHub will tag the latest commit for you.

The benefit of this workflow is that it allows you to always have the latest artifacts, and the release can be published once it is ready.

Build for current platform:

$ yarn run dist

build for multiple platforms:

$ ./bin/build-multi

How to Contribute

Formatting Rules

This repository is formatted with StandardJS (there is a vscode plugin).

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (69,927
chat (388
p2p (316
slack (313
desktop (293
distributed (234
instant-messaging (51