hydrogen-web/README.md

26 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2020-08-04 20:26:19 +05:30
# Hydrogen
2019-09-08 14:22:06 +05:30
A minimal [Matrix](https://matrix.org/) chat client, focused on performance, offline functionality, and broad browser support. This is work in progress and not yet ready for primetime. We're currently not accepting any externally reported issues (features, bug reports, ...) at this time.
2019-01-09 15:40:33 +05:30
2020-08-05 22:47:35 +05:30
## Goals
Hydrogen's goals are:
- Work well on desktop as well as mobile browsers
- UI components can be easily used in isolation
- It is a standalone webapp, but can also be easily embedded into an existing website/webapp to add chat capabilities.
- Loading (unused) parts of the application after initial page load should be supported
2019-01-09 15:40:33 +05:30
## Status
2020-08-04 20:26:19 +05:30
Hydrogen 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.
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
2020-08-04 20:26:19 +05:30
For every interaction or network response (syncing, filling a gap), Hydrogen 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
2020-08-05 22:47:35 +05:30
Try it locally by running `npm install dev` (only the first time) and `npm start` in the terminal, and point your browser to `http://localhost:3000`.