Go to file
Bruno Windels fdc7f60f4d Build legacy bundle from same entry point as normal build
as the plan is to only use different CSS for IE11, but the same view code
2020-08-07 15:50:18 +01:00
doc doc changes 2020-06-24 22:43:46 +02:00
prototypes wip timeline html/css prototype 2020-06-24 22:43:59 +02:00
scripts Build legacy bundle from same entry point as normal build 2020-08-07 15:50:18 +01:00
src Build legacy bundle from same entry point as normal build 2020-08-07 15:50:18 +01:00
.editorconfig wip 2019-02-17 23:58:01 +01:00
.eslintrc.js its syncing, sort off 2019-02-10 21:25:46 +01:00
.gitignore ignore folders to store exports 2019-12-23 14:29:05 +01:00
icon.png add offline availability with service worker and appcache 2019-09-15 14:32:12 +02:00
index.html make view gallery of views in different states 2020-04-30 18:28:21 +02:00
LICENSE add full license text 2020-08-05 18:40:45 +02:00
package-lock.json Build legacy bundle from same entry point as normal build 2020-08-07 15:50:18 +01:00
package.json Build legacy bundle from same entry point as normal build 2020-08-07 15:50:18 +01:00
README.md Update README.md 2020-08-04 15:01:34 +00:00
yarn.lock moar WIP 2020-04-19 19:02:10 +02:00

Hydrogen

A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support.

Status

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.

Why

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.

If you find this interesting, feel free to reach me at @bwindels:matrix.org.

How to use

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.