A simple IRC web client
Find a file
Umar Getagazov e09541ad2f Resize content viewport to accommodate for keyboard
As of Chrome 108 and Firefox 133, when the virtual keyboard appears on a
mobile device, the default behavior changed from resizing both visual
and layout viewports to resizing just the visual viewport to match the
behavior of Safari iOS.

https://developer.chrome.com/blog/viewport-resize-behavior/
https://github.com/bramus/viewport-resize-behavior/blob/main/explainer.md

Supported in Chrome 108+ and Firefox 133+, but not in Safari yet:

https://chromestatus.com/feature/6145225857171456
https://bugzilla.mozilla.org/show_bug.cgi?id=1831649
https://bugs.webkit.org/show_bug.cgi?id=259770
2025-05-07 19:59:51 +01:00
components Only send PING to registered connections on focus 2025-02-28 17:43:13 +01:00
doc Make debug=0 URL param disable debug logs 2025-01-19 21:11:58 +01:00
lib lib/client: add human-readable messages for WebSocket error codes 2025-05-05 18:35:20 +02:00
.build.yml ci: switch to alpine/latest 2025-02-10 14:09:51 +01:00
.editorconfig Add .editorconfig 2020-07-22 14:51:37 +02:00
.gitignore gitignore: add Parcel files 2021-10-20 10:55:49 +02:00
commands.js Enable @stylistic/js/object-curly-spacing lint 2025-02-20 17:42:19 +01:00
dev-server.js dev-server: print remote server errors 2025-01-05 21:52:15 +01:00
eslint.config.js Enable @stylistic/js/comma-spacing lint 2025-02-20 17:58:24 +01:00
index.html Resize content viewport to accommodate for keyboard 2025-05-07 19:59:51 +01:00
keybindings.js eslint: enable no-implicit-coercion 2024-11-16 12:18:17 +01:00
LICENSE Initial commit 2020-04-24 19:03:43 +02:00
main.js Avoid inline script in index.html 2021-11-17 10:58:02 +01:00
manifest.json Add web app manifest 2021-06-22 10:42:16 +02:00
package-lock.json Upgrade @stylistic/eslint-plugin-js to v4 2025-03-20 20:03:05 +01:00
package.json Upgrade @stylistic/eslint-plugin-js to v4 2025-03-20 20:03:05 +01:00
README.md readme: fix screenshot 2025-02-05 22:40:54 +01:00
state.js Enable @stylistic/js/array-bracket-spacing lint 2025-02-20 17:51:46 +01:00
store.js store: fix undefined Unread 2023-06-08 12:09:24 +02:00
style.css Fix nick colors in members list 2024-11-10 21:04:28 +01:00

gamja

A simple IRC web client.

Screenshot

Usage

Requires an IRC WebSocket server.

First install dependencies:

npm install --omit=dev

Then configure an HTTP server to serve the gamja files.

Development server

If you don't have an IRC WebSocket server at hand, gamja's development server can be used. For instance, to run gamja on Libera Chat:

npm install --include=dev
npm start -- irc.libera.chat

See npm start -- -h for a list of options.

Production build

Optionally, Parcel can be used to build a minified version of gamja.

npm install --include=dev
npm run build

Configuration

gamja can be configured via a configuration file and via URL parameters.

Contributing

Send patches on Codeberg, report bugs on the issue tracker. Discuss in #soju on Libera Chat.

License

AGPLv3, see LICENSE.

Copyright (C) 2020 The gamja Contributors