All checks were successful
continuous-integration/drone/push Build is passing
98 lines
2.7 KiB
Markdown
98 lines
2.7 KiB
Markdown
# Carbon Chat
|
|
|
|
Carbon is the Matrix client for Discord and Guilded refugees.
|
|
|
|
Visit the hosted instance on
|
|
[https://carbon.chat](https://carbon.chat).
|
|
|
|
## Report bugs and suggest features
|
|
|
|
Please briefly check this README and the issues page first to make
|
|
sure that the issue/feature is not already known!
|
|
|
|
- If you already have an account on Gitdab, use the issues page.
|
|
- If you don't have an account, and don't wish to create one, you can
|
|
send an email to the [mailing list].
|
|
|
|
If something in the interface isn't working as you think it should,
|
|
please provide a screenshot of any messages from the browser devtools
|
|
console. If using the mailing list, attachments aren't supported, so
|
|
you'll have to upload to some image host and post the link.
|
|
|
|
[mailing list]: https://lists.sr.ht/~cadence/carbon-discuss
|
|
|
|
## The dream
|
|
|
|
Carbon's planned features, compared to Discord and Guilded:
|
|
|
|
- End to end encryption
|
|
- Free of charge, per-account, custom emojis and custom emoji packs
|
|
- No limit to number of groups you can join at a time
|
|
- 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/Guilded 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:
|
|
|
|
- Unreads
|
|
- Chat history
|
|
- Typing indicators
|
|
- Formatting
|
|
- Emojis
|
|
- Reactions
|
|
- Encryption
|
|
- Groups v2
|
|
- Group management
|
|
- Pinned channels
|
|
- Mumble integration
|
|
|
|
## The code
|
|
|
|
### Downloading a CI build
|
|
|
|
Visit [drone CI](https://drone.badat.dev/cadence/Carbon/branches),
|
|
select the branch you want to use, select `b2` on the left, scroll
|
|
down, and open the URL on the last line to download the build.
|
|
|
|
### Building yourself
|
|
|
|
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.
|
|
|
|
Use `python3 -m http.server -d build` to serve the build on
|
|
[http://localhost:8000](http://localhost:8000).
|
|
|
|
(Avoid `npx http-server`, since this applies too much caching.)
|