hydrogen-web/README.md

23 lines
1.3 KiB
Markdown
Raw Normal View History

2019-06-15 03:28:39 +05:30
# Brawl
2019-09-08 14:22:06 +05:30
2020-07-15 18:02:38 +05:30
A minimal [Matrix](https://matrix.org/) chat client, focused on performance and offline functionality.
2019-01-09 15:40:33 +05:30
## Status
2019-09-08 14:22:06 +05:30
Brawl can currently log you in, or pick an existing session, sync already joined rooms, fill gaps in the timeline, and send text messages. Everything is stored locally.
2020-06-03 18:08:47 +05:30
Here's an (outdated) GIF of what that looks like, also see link below to try it out:
2019-09-08 14:22:06 +05:30
![Showing multiple sessions, and sending messages](https://bwindels.github.io/brawl-chat/images/brawl-sending.gif)
2019-02-11 02:32:42 +05:30
2019-09-08 14:22:06 +05:30
## Why
2019-02-13 18:40:23 +05:30
2019-09-08 15:24:51 +05:30
I started writing Brawl both to have a functional matrix client on my aging phone, and to play around with some ideas I had how to use indexeddb optimally in a matrix client.
For every interaction or network response (syncing, filling a gap), Brawl starts a transaction in indexedb, and only commits it once everything went well. This helps to keep your storage always in a consistent state. As little data is kept in memory as well, and while scrolling in the above GIF, everything is loaded straight from the storage.
2019-02-13 18:40:23 +05:30
2019-09-08 14:22:06 +05:30
If you find this interesting, feel free to reach me at `@bwindels:matrix.org`.
2019-09-08 15:24:18 +05:30
# How to use
2019-11-22 13:31:57 +05:30
You can [try Brawl here](https://bwindels.github.io/brawl/), or try it locally by running `yarn install` (only the first time) and `yarn start` in the terminal, and point your browser to `http://localhost:3000`.