cadeae98bc
signaling messages get ignored when they are not for the currently active call id. In that case we currently don't advance the lastProcessedSeqNr counter, as we had a problem before where the counter would be brought out of sync with seq numbers for other call ids. However when we've previously processed a signalling message (e.g. the counter is not undefined) and the first message in the queue is to be ignored, it will prevent the subsequent messages from being dequeued as their seq number is more than 1 away from the last processed seq. This adds an additional counter for ignored seq numbers that is also used to see if the next message is only 1 away from the next seq value. I am adding logging as well here to have a better overview in the future |
||
---|---|---|
.github | ||
doc | ||
docker | ||
playwright | ||
prototypes | ||
scripts | ||
src | ||
.dockerignore | ||
.editorconfig | ||
.eslintrc.js | ||
.gitignore | ||
.gitlab-ci.yml | ||
.ts-eslintrc.js | ||
codestyle.md | ||
CONTRIBUTING.md | ||
Dockerfile | ||
Dockerfile-dev | ||
FAQ.md | ||
LICENSE | ||
package.json | ||
playwright.config.ts | ||
README.md | ||
TODO.md | ||
tsconfig-declaration.json | ||
tsconfig.json | ||
view-gallery.html | ||
vite.common-config.js | ||
vite.config.js | ||
vite.sdk-assets-config.js | ||
vite.sdk-lib-config.js | ||
yarn.lock |
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:
- Download the latest release package.
- Extract the package to the public directory of your web server.
- If this is your first deploy:
-
copy
config.sample.json
toconfig.json
and if needed, make any modifications (unless you've set up your own sygnal instance, you don't need to change anything in thepush
section). -
Disable caching entirely on the server for:
index.html
sw.js
config.json
- All theme manifests referenced in the
themeManifests
ofconfig.json
, these files are typically calledtheme-{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.