Carbon/README.md

109 lines
2.9 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).
## Status
Carbon is **abandoned** by its author, but it is still solid code to build on for anyone with the time and inclination to pick it up.
## 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:
- Emojis
- Reactions
- Encryption
- Groups v2
- Group management
- Pinned channels
- Mumble integration
For more information, see [issue
#10.](https://gitdab.com/cadence/Carbon/issues/10)
## 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 from source yourself
Dependencies:
- git
- node
- npm (bundled with node)
Build:
npm install -D
npm run rebuild
### Hosting a build
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`, it caches too much stuff.)