Carbon: The Matrix client for Discord refugees.
Find a file
2020-10-21 18:23:44 +13:00
src Format Bad's code 2020-10-21 18:23:44 +13:00
.drone.yml Fix drone failing on pr 2020-10-20 11:56:11 +02:00
.gitignore Add login pug file 2020-10-19 10:16:16 +02:00
.npmrc dotfiles 2020-10-12 02:25:53 +13:00
build.js Fix all relative paths in built output 2020-10-21 00:26:46 +13:00
jsconfig.json Revert "Add prettier" 2020-10-20 00:43:33 +13:00
LICENSE Add AGPL-3.0-only license 2020-10-21 00:30:35 +13:00
package-lock.json Style the login form 2020-10-20 20:22:13 +02:00
package.json Add AGPL-3.0-only license 2020-10-21 00:30:35 +13:00
README.md Add README 2020-10-20 02:52:10 +13:00
spec.js Style the login form 2020-10-20 20:22:13 +02:00

Carbon Chat

Carbon is the Matrix client for Discord refugees.

The dream

Carbon's planned features, compared to Discord:

  • End to end encryption
  • $0 per-account custom emojis and custom emoji packs
  • Uses the open Matrix and Mumble systems
  • Much better IRC layout
  • Probably more

Carbon's planned features, compared to Element:

  • Get rid of the unmanageable combined rooms list
  • Groups like Discord's guilds
    • Always have one group selected at a time
    • Synchronised membership, moderators, power levels and bans
    • Ordered channel list
    • Unread indicators
  • Add existing channels to groups
  • Pin any channel to the groups bar
  • Tidy Mumble integration to add voice channels
  • More reliable unreads
  • Per-account custom emojis (Ponies+FluffyChat integration) and custom emoji packs
  • Slightly better IRC layout
  • Probably more

The reality

Carbon is currently technically usable as a chat app, but is very early in development. These important features still need to be implemented:

  • Login GUI
  • Unreads
  • Chat history
  • Formatting
  • Emojis
  • Reactions
  • Groups v2
  • Group management
  • Pinned channels
  • Mumble integration

The code

Building

npm install -D
npm run rebuild

Hosting

Send the files from the build folder to a static file server. Apply a long cache-control header to everything served under /static, and no cache-control header to everything else.

Developing

npm run watch

Files will be rebuilt as you save them.