2020-10-19 13:52:10 +00:00
|
|
|
# Carbon Chat
|
|
|
|
|
2020-10-21 07:07:57 +00:00
|
|
|
Carbon is the Matrix client for Discord and Guilded refugees.
|
2020-10-19 13:52:10 +00:00
|
|
|
|
|
|
|
## The dream
|
|
|
|
|
2020-10-21 07:32:48 +00:00
|
|
|
Carbon's planned features, compared to Discord and Guilded:
|
2020-10-19 13:52:10 +00:00
|
|
|
|
|
|
|
- End to end encryption
|
2020-10-21 07:32:48 +00:00
|
|
|
- Free of charge per-account custom emojis and custom emoji packs
|
2020-10-21 07:42:42 +00:00
|
|
|
- No limit to number of groups you can join at a time
|
2020-10-19 13:52:10 +00:00
|
|
|
- Uses the open Matrix and Mumble systems
|
2020-10-21 07:32:48 +00:00
|
|
|
- Much better IRC layout
|
2020-10-19 13:52:10 +00:00
|
|
|
- Probably more
|
|
|
|
|
|
|
|
Carbon's planned features, compared to Element:
|
|
|
|
|
|
|
|
- Get rid of the unmanageable combined rooms list
|
2020-10-21 07:07:57 +00:00
|
|
|
- Groups like Discord/Guilded guilds
|
2020-10-19 13:52:10 +00:00
|
|
|
- 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.
|