FOSS Decentralized chat platform
Go to file
2020-12-12 16:14:09 -08:00
chan-like adding func for finding channels with too many messages 2020-08-23 17:47:25 -07:00
docs more accurate api docs to meet with what is currently supported 2020-11-18 16:42:45 -08:00
freechat-client skeleton code for loading configs into the client at init time 2020-12-12 13:26:02 -08:00
invites-manager ignoring sample env file 2020-08-22 18:12:15 -07:00
misc updated logo 2020-08-02 21:20:49 -07:00
rtc-server simple echo server for sake of testing connection-ability 2020-12-06 14:49:46 -08:00
server-api Basically a rewrite of previous docs but this one is super terse 2020-12-12 15:45:13 -08:00
.gitignore ignoring diesel's schema.rs since we're straight up not using it 2020-11-02 00:13:13 -08:00
.gitlab-ci.yml switching to new testing scheme in gitlab-ci.yml 2020-08-22 15:43:19 -07:00
design.md smol goals for now 2019-11-24 20:10:39 -08:00
readme.md New reflection on goals 2020-12-12 16:14:09 -08:00

FreeChat

What this is

A FOSS chatting platform that brings in more modern features that a lot of people have come to expect.

Why not just IRC/Discord/Slack/Mumble etc?

A tonne of IRC channel are basically dead since so many have moved to Discord/Slack. Why? Because those platforms have features that IRC just doesn't have. A lot of people have deemed those features worth the switch.

Discord/Slack are proprietary spyware with no real alternative. The quality of the service is high enough for people to ignore the datamining, it's time a proper client came by.

Mumble could work but has an awful reputation amongst regular non-technical users.

So it's a Discord/Slack clone?

Not really, at least for now chat history is limited kinda like basically every chan/booru. This can be turned off to preserve all chat history.

The biggest difference is the lack of data collection; servers collect the following data:

  • User id - generated by the server

  • User password - generated by the server

  • User name - provided by user

  • User chat - How much depends on how the server was configured or if a message was pinned to NOT be deleted.

  • Users Status - user is online/offline: HOWEVER this is controlled by the user.

  • User permissions - To discern admins from less privileged users.

Working Status

Is this finished or almost finished?

Short: The API has basic functionality for chatting but still requires more endpoints to be fully featured. So yes the API at least is in a MVP state. But everything else is either in infancy or not done.

Long: No. A basic client is still underway and the chat API is missing a metric tonne of features. However The state of the chat API is such that it shouldn't be hard to implement many of the desired endpoints.

How to help - if you want to

Writing chat clients

I know not everyone wants an electron based client because it's naturally really bloated. But the normans want something that just werks so electron is a good way of doing that.

The API is dead simple however so it shouldn't be too bad to write a simple client that sends a couple of requests every so often.

If you choose to write a client and want people to know about it I can include a link to the project here/on the wiki.

Testing

Currently API testing is done with a phony client written in python(client-tests/client.py) and some rust tests.

Anything from a simple GET /some-route + response check to a testing pipeline thing is appreciated. Since testing doesn't really affect users as long as the test is correct and covers new ground it's welcome.