Go to file
2022-05-18 20:46:38 +02:00
.github/workflows Add GH Action to build the docker image 2021-11-01 14:55:32 +00:00
doc viewClassForTile is needed for TimelineView 2022-04-27 12:38:12 +05:30
prototypes add prototype to show we can prevent the txn from being aborted on error 2021-09-21 20:58:16 +02:00
scripts add newlines to config file when rewriting with theme stuff 2022-05-18 20:46:38 +02:00
src log theme being loaded 2022-05-18 17:48:03 +02: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 Move plugin to /scripts and create eslintrc 2022-03-14 11:35:10 +05:30
.gitignore Implement plugin 2022-04-07 11:53:11 +05:30
.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
CONTRIBUTING.md remove changelog notes remainder 2022-02-17 17:44:44 +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 Add script to cleanup after build 2022-05-10 14:12:36 +05:30
README.md add deployment instruction now that we have a config file 2022-05-18 20:44:04 +02:00
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 Read config from URL 2022-04-20 12:42:07 +05:30
vite.config.js Merge remote-tracking branch 'origin/move-config-root' 2022-05-18 20:40:12 +02:00
vite.sdk-assets-config.js Fix SDK build 2022-04-13 17:12:38 +05:30
vite.sdk-lib-config.js Remove unsued imports 2022-04-13 17:44:07 +05:30
yarn.lock Use postcss value parser to find variables 2022-03-09 11:48:53 +05:30

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

For embedded usage, see the SDK instructions.

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

How to use

Hydrogen is deployed to hydrogen.element.io. You can also deploy Hydrogen on your own web server:

  1. Download the latest release package.
  2. Extract the package to the public directory of your web server.
  3. If this is your first deploy:
    1. copy config.sample.json to config.json and if needed, make any modifications.
    2. Disable caching entirely on the server (they will still be cached client-side by the service worker) for:
      • index.html
      • sw.js
      • config.json
      • All theme manifests referenced in the themeManifests of config.json, these files are typically called theme-{name}.json.

Set up a dev environment

You can run Hydrogen locally by the following commands in the terminal:

  • yarn install (only the first time)
  • yarn start in the terminal

Now point your browser to http://localhost:3000. If you prefer, you can also use docker.

FAQ

Some frequently asked questions are answered here.