No description
14ed5fd1e8
Mobile Safari seems to be the only browser that does *not* resize the viewport when the keyboard shows and hides. Instead the window is moved to make room for the keyboard which moves content at the top off screen. This uses the VisualViewport API to manually resize the `SessionView` in response to keyboard display events. Additionally, if a DOM element exists that has the `bottom-aligned-scroll` CSS class, its scroll position is retained. Currently this only applies to the `Timeline`. Note that the VisualViewport API was only introduced with iOS 13. According to [statista.com], versions below 13 made up for 19% of all iOS users in summer 2020, with the share continuing to fall off. As a result, this seems like an acceptable workaround. Fixes: #181 [statista.com]: https://www.statista.com/statistics/565270/apple-devices-ios-version-share-worldwide/ Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org> |
||
---|---|---|
assets | ||
doc | ||
prototypes | ||
scripts | ||
src | ||
.editorconfig | ||
.eslintrc.js | ||
.gitignore | ||
codestyle.md | ||
Dockerfile | ||
index.html | ||
LICENSE | ||
package.json | ||
README.md | ||
sw.js | ||
TODO.md | ||
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
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.
FAQ
Some frequently asked questions are answered here.