Skip to content

Lightweight matrix client with legacy and mobile browser support

License

AGPL-3.0, Unknown licenses found

Licenses found

AGPL-3.0
LICENSE-AGPL-3.0
Unknown
LICENSE-COMMERCIAL
Notifications You must be signed in to change notification settings

element-hq/hydrogen-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4fe0f91 · Oct 20, 2024
Jun 18, 2024
Aug 20, 2024
Jan 20, 2023
Aug 18, 2023
Sep 21, 2021
Aug 20, 2024
Oct 20, 2024
Mar 14, 2021
Feb 17, 2019
Aug 16, 2024
Oct 18, 2022
Mar 14, 2021
Aug 8, 2022
Feb 17, 2022
Jan 23, 2023
Jan 11, 2023
Jan 19, 2023
Aug 5, 2020
Jan 19, 2023
Aug 5, 2020
Dec 8, 2021
Aug 20, 2024
Oct 25, 2022
Dec 22, 2021
Dec 22, 2021
Nov 8, 2021
Aug 16, 2024
Aug 16, 2024
Aug 16, 2024
Aug 16, 2024
Nov 7, 2023

Repository files navigation

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 (unless you've set up your own sygnal instance, you don't need to change anything in the push section).

    2. Disable caching entirely on the server 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.

      These resources will still be cached client-side by the service worker. Because of this; you'll still need to refresh the app twice before config.json changes are applied.

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.

PS: You need nodejs, running yarn on top of any other js platform is not supported.

FAQ

Some frequently asked questions are answered here.