Go to file
Bruno Windels 3bee4b4585 bundle bs58 to avoid pain of bundle transitive dependency for lib users
bs58 depends on safe-buffer, which depends on buffer, which is a bit
of a pain to bundle as it is a built-in node module. You'd typically
replace buffer with a browser polyfill in your build system but:
 a) this is somewhat a pain to setup for simple apps
 b) the polyfill is way more than we need (6kb), so we prefer to bundle
    our minimal buffer replacement that uses Uint8Array. Since it is
    a transitive dependency, we need to bundle bs58 and all of its
    transitive dependencies (2.5kb) as well, so if users of hydrogen-sdk
    also use any of these, they'll be double included in their bundle.
2021-12-22 16:31:19 +01:00
.github/workflows Add GH Action to build the docker image 2021-11-01 14:55:32 +00:00
doc some more sdk impl notes 2021-12-01 18:11:09 +01:00
prototypes add prototype to show we can prevent the txn from being aborted on error 2021-09-21 20:58:16 +02:00
scripts include path/vite in sdk bundle 2021-12-22 16:31:19 +01:00
src include path/vite in sdk bundle 2021-12-22 16:31:19 +01:00
.dockerignore chore: optimise Dockerfile 2021-03-14 12:52:35 +01:00
.editorconfig wip 2019-02-17 23:58:01 +01:00
.eslintrc.js implement placeholder replacement so it still works with minification 2021-12-09 16:37:31 +01:00
.gitignore tune linting so it doesn't produce errors anymore and enable in CI 2021-05-20 11:11:57 +02:00
.gitlab-ci.yml chore: add GitLab CI definition 2021-03-14 13:20:39 +01:00
.ts-eslintrc.js only enable promise related rules ... I think? 2021-08-18 18:52:06 +02:00
codestyle.md dont use lookbehind in regular expressions, safari & older firefoxes choke on them 2021-12-08 18:00:37 +01:00
Dockerfile Required pkg for aarch64 docker build 2021-09-29 19:31:39 -07:00
Dockerfile-dev Required pkg for aarch64 docker build 2021-09-29 19:31:39 -07:00
LICENSE add full license text 2020-08-05 18:40:45 +02:00
package.json include path/vite in sdk bundle 2021-12-22 16:31:19 +01:00
README.md Ensured more subtleness in the readme file. 2021-04-30 13:40:10 +05:30
TODO.md WIP 2020-08-05 18:17:35 +01:00
tsconfig-declaration.json somewhat works, but not everything we need 2021-12-22 16:31:18 +01:00
tsconfig.json make tsconfig file to build declaration files 2021-12-22 16:31:18 +01:00
view-gallery.html rearrange assets and main.js to make them run with vite 2021-11-08 11:10:23 +01:00
vite.common-config.js bundle bs58 to avoid pain of bundle transitive dependency for lib users 2021-12-22 16:31:19 +01:00
vite.config.js bundle bs58 to avoid pain of bundle transitive dependency for lib users 2021-12-22 16:31:19 +01:00
vite.sdk-assets-config.js run two vite builds for the sdk build, assets & js separately 2021-12-22 16:31:19 +01:00
vite.sdk-lib-config.js bundle bs58 to avoid pain of bundle transitive dependency for lib users 2021-12-22 16:31:19 +01:00
yarn.lock include path/vite in sdk bundle 2021-12-22 16:31:19 +01:00

Hydrogen

A minimal Matrix chat client, focused on performance, offline functionality, and broad browser support. This is work in progress and not yet ready for primetime. Bug reports are welcome, but please don't file any feature requests or other missing things to be on par with Element Web.

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

If you find this interesting, come and discuss on #hydrogen:matrix.org.

How to use

Hydrogen is deployed to hydrogen.element.io. You can run it locally yarn install (only the first time) and yarn start in the terminal, and point your browser to http://localhost:3000. If you prefer, you can also use docker.

Hydrogen uses symbolic links in the codebase, so if you are on Windows, have a look at making git & symlinks work there.

FAQ

Some frequently asked questions are answered here.