vector-im-hydrogen-web/README.md

26 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2020-08-04 16:56:19 +02:00
# Hydrogen
2019-09-08 10:52:06 +02:00
2020-08-04 17:01:34 +02:00
A minimal [Matrix](https://matrix.org/) chat client, focused on performance, offline functionality, and broad browser support.
2019-01-09 11:10:33 +01:00
2020-08-05 19:17:35 +02:00
## 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 11:10:33 +01:00
## Status
2020-08-04 16:56:19 +02:00
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-10 22:02:42 +01:00
2019-09-08 10:52:06 +02:00
## Why
2019-02-13 14:10:23 +01:00
2020-08-04 16:56:19 +02:00
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 14:10:23 +01:00
2019-09-08 10:52:06 +02:00
If you find this interesting, feel free to reach me at `@bwindels:matrix.org`.
2019-09-08 11:54:18 +02:00
# How to use
2020-08-05 19:17:35 +02:00
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`.