Commit Graph
100 Commits
Author SHA1 Message Date
Simon Ser 6ea3601718 dev-server: print remote server errors 2025-01-05 21:52:15 +01:00
emersion bcf3741ab4 readme: fix screenshot link 2024-12-20 21:37:04 +00:00
Simon Ser ec5e67336f components/buffer: handle TOPIC clear messages 2024-12-03 09:19:53 +01:00
Simon Ser 62895d59ff Upgrade dependencies 2024-11-23 21:02:08 +01:00
Simon Ser 2f1bf8a2fe lib/client: don't mutate input argument in fetchHistoryBetween() 2024-11-16 12:45:08 +01:00
Simon Ser 75eb175e24 eslint: enable object-shorthand 2024-11-16 12:28:17 +01:00
Simon Ser db0a69dcfd commands: use Map instead of object 2024-11-16 12:27:34 +01:00
Simon Ser 9c2beac7dd eslint: enable no-implicit-coercion 2024-11-16 12:18:17 +01:00
Simon Ser 8ff1cd8317 eslint: add no-invalid-this and prefer-arrow-callback 2024-11-15 02:19:28 +01:00
Simon Ser f6e8f83d4e components/app: simplify connectParams object field 2024-11-15 02:19:28 +01:00
Simon Ser 18fa0ebc6a readme: switch from --production to --omit=dev
The former is deprecated.
2024-11-13 01:18:58 +01:00
Simon Ser afa09cfc25 lib/client: fix typo
That one turned out to be surprisingly tricky to dig out.
2024-11-12 23:11:10 +01:00
Simon Ser 977752e0f2 lib/client: bind handleOnline to this
It's used as a callback to removeEventListener().
2024-11-12 23:10:38 +01:00
Simon Ser 4bce52f162 ci: temporarily switch to alpine/edge
It has a more up-to-date nodejs version which doesn't deadlock in
"npm install".
2024-11-12 23:10:34 +01:00
Simon Ser 75ec7cd212 lib/client: don't throttle reconnections if opened long ago
If a connection was opened a long time ago, and recently got broken,
try to reconnect immediately.
2024-11-12 23:10:30 +01:00
Simon Ser 24e6767cab client: reconnect immediately if network comes online during backoff 2024-11-12 23:10:22 +01:00
Simon Ser ad165389f0 Fix nick colors in members list
Closes: https://todo.sr.ht/~emersion/gamja/164
2024-11-10 21:04:28 +01:00
Simon Ser daef362931 Upgrade dependencies 2024-10-23 20:31:08 +02:00
Simon Ser b67cd10c64 Remove usage of == and != 2024-10-14 00:56:36 +02:00
Simon Ser 205a617c51 Move to Codeberg 2024-10-11 15:07:43 +02:00
Simon Ser 4145907d36 ci: use new SSH key for deployments 2024-10-11 00:25:02 +02:00
Simon Ser c6e63d5724 components/composer: add support for multiple file upload 2024-09-29 15:31:25 +02:00
Simon Ser cf54beacc2 lint: turn on @stylistic/js/arrow-parens 2024-09-29 11:54:21 +02:00
Simon Ser 69485716a0 lint: turn on @stylistic/js/comma-dangle 2024-09-29 11:50:57 +02:00
Simon Ser b9d12bc8cd lint: turn on @stylistic/js/semi 2024-09-29 11:49:17 +02:00
Simon Ser b93db7ac0e ci: fail when ESLint reports warnings 2024-09-29 11:45:56 +02:00
Simon Ser d96e34da79 Wire up stylistic to ESLint 2024-09-29 11:45:42 +02:00
Simon Ser 78bfd16f25 Remove two remaining single quote strings 2024-09-29 11:45:13 +02:00
Simon Ser 07ae5f7167 Disallow var keyword 2024-09-28 22:07:39 +02:00
Simon Ser 312c755c11 eslint: fix global ignore for dist/ 2024-09-28 21:57:35 +02:00
Simon Ser a03ad28438 Update dependencies 2024-09-28 21:50:03 +02:00
Simon Ser f389ea6ffd eslint: ignore dist/ directory 2024-09-28 21:49:13 +02:00
Simon Ser 7c445d0bc9 Add ESLint 2024-09-28 21:45:45 +02:00
Simon Ser 97920ff7f6 Prefix unused variables with an underscore 2024-09-28 21:44:23 +02:00
Simon Ser b89fd604d0 Remove unnecessary break statements 2024-09-28 21:44:03 +02:00
Simon Ser 6693cc0c78 Remove unused variables 2024-09-28 21:43:23 +02:00
Simon Ser 6747c03a75 components/app: add missing break 2024-09-28 21:36:35 +02:00
Simon Ser 35e924258a components/buffer: drop leading asterisk for MODE messages
This is inconsistent with other messages.
2024-09-08 12:50:00 +02:00
Simon Ser 26792ec386 components/buffer: add human-readable channel mode changes
References: https://todo.sr.ht/~emersion/gamja/162
2024-09-08 12:48:07 +02:00
Simon Ser a3b375ab3f components/membership: fix operator color 2024-09-08 12:47:37 +02:00
Simon Ser e1a15ceeb9 components/membership: fix missing import 2024-09-07 17:59:01 +02:00
Simon Ser 9e68316467 components/buffer: use case-mapping when displaying MODE messages 2024-09-07 12:45:49 +02:00
Simon Ser 6be24e8ed9 lib/irc: unexport STD_MEMBERSHIPS and STD_CHANTYPES 2024-09-07 12:37:10 +02:00
Simon Ser 301f133272 lib/irc: move over STD_MEMBERSHIP_NAMES 2024-09-07 12:36:13 +02:00
Simon Ser 9bcfd088c2 components/member-list: remove dead code 2024-09-07 12:31:07 +02:00
Simon Ser 39de184734 readme: accept patches on Codeberg 2024-09-03 21:08:13 +02:00
Simon Ser 2c0f2a80e9 lib/irc: remove stray hardcoded constant 2024-08-13 00:29:00 +02:00
Simon Ser 1c5dc652a9 Downgrade preact to v10.17.1 once again
Seeing this again:

    DOMException: Node.insertBefore: Child to insert before is not a child of this node

Ref https://github.com/preactjs/preact/issues/4221
2024-07-12 09:07:02 +02:00
Simon Ser b06ebc0267 Upgrade dependencies 2024-07-08 14:43:18 +02:00
Simon Ser f657a81824 components/buffer-list: fix text color when active and unread
Previously this couldn't happen, but now we don't mark the active
buffer as read when the window doesn't have focus.
2024-07-08 08:33:24 +02:00
Simon Ser c69869209f components/scroll-manager: relax scroll check
See https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#determine_if_an_element_has_been_totally_scrolled
2024-07-02 09:00:30 +02:00
Simon Ser 331a2f0c4e components/scroll-manager: use getSnapshotBeforeUpdate
componentWillReceiveProps is deprecated.
2024-07-02 08:59:43 +02:00
Simon Ser 6c324d44a1 lib/client: add support for AUTHENTICATE chunking
SASL responses need to be split into 400 byte chunks before being
sent to the server.
2024-06-30 23:44:14 +02:00
Simon Ser d9f7faad88 components/app: warn when username is missing for OAuth introspection
Makes things easier to debug.
2024-06-25 17:54:48 +02:00
Simon Ser f698d7a250 doc/url-params: document wildcard in nick param 2024-05-09 22:56:58 +02:00
Simon Ser 0f273b9699 components/app: fix STATUSMSG NOTICE when target buffer is closed 2024-04-30 11:22:22 +02:00
Simon Ser 3d03c0dbcf components/app: update prevReadReceipt only when switching buffer
We don't want the unread separator to move around when the tab gets
focus, for instance.
2024-04-25 19:32:10 +02:00
Simon Serandsitting33 8faff95631 components/app: include bouncer network name in window title
Co-authored-by: sitting33 <me@sit.sh>
2024-04-25 16:34:05 +02:00
Simon Ser 4d6f14ab0b components/app: introduce updateDocumentTitle()
The logic in here will get more involved once we add unread counts
and such.
2024-04-25 16:23:23 +02:00
Simon Ser 269e034581 Hide replies to our own internal WHO commands
References: https://todo.sr.ht/~emersion/gamja/88
2024-04-17 23:45:44 +02:00
Simon Ser 1ea7c30744 lib/client: fix number of field check in RPL_WHOSPCRPL
The first field is the client.
2024-04-17 23:29:54 +02:00
Simon SerandAlex McGrath 87e88cccca Add support for soju.im/filehost
For now, only handle paste events containing files.

Co-authored-by: Alex McGrath <amk@amk.ie>
2024-04-16 13:22:24 +02:00
Simon Ser 97b9efcc9f Upgrade dependencies 2024-04-10 14:24:34 +02:00
Simon Ser 7ec9ae7faa Upgrade preact to v10.20.2 2024-04-09 20:45:22 +02:00
Simon Ser ebcb731e2f components/buffer: fold NICK change chains 2024-03-29 16:08:04 +01:00
Simon Ser 23ceda5523 Revert "Upgrade preact to v10.20.0"
This reverts commit e843fe3ecb.

Unfortunately the fix doesn't seem to work for us…
2024-03-20 12:07:43 +01:00
Simon Ser e843fe3ecb Upgrade preact to v10.20.0
The upstream preact bug [1] has been fixed now!

[1]: https://github.com/preactjs/preact/issues/4221
2024-03-20 10:44:11 +01:00
Simon Ser 5171e0010d doc/setup: use plaintext HTTP listener for soju 2024-03-19 14:27:44 +01:00
Simon Ser 3584c1eb10 lib/irc: fix whitespace RegExp test in isURIPrefix 2024-03-13 15:41:04 +01:00
Simon Ser 2fe2ce6912 lib/irc: fix assignment to undefined variable in isURIPrefix 2024-03-07 23:04:40 +01:00
Simon Ser 57f7b1c011 lib/irc: fix whitespace split in isURIPrefix
We want to get the last index of whitespace, not the first one.
2024-03-07 11:40:37 +01:00
Simon Ser 5d3738bc40 lib/irc: ignore highlights in URLs 2024-03-02 12:36:30 +01:00
Simon Ser 429b4595e7 lib/client: print raw messages in debug mode
Browser consoles aren't super helpful in general and just show
the command name, require extra clicks to see the params.
2024-03-01 15:03:09 +01:00
Simon Ser 038cc68ee4 components/buffer-list: show realname as tooltip 2024-02-20 22:50:09 +01:00
Simon Ser 15cc546876 components/buffer: show realname as tooltip 2024-02-20 22:48:03 +01:00
Simon Ser a514104c55 commands: drop unvoice
We have devoice already, and that's the one defined in popular
clients such as WeeChat.
2024-02-15 16:40:41 +01:00
Simon Ser 7e5e94cda0 components/help: always show autocomplete keybind 2024-02-15 16:37:32 +01:00
Simon Ser 75d721c02d components/help: add autocomplete 2024-02-15 16:34:16 +01:00
Simon Ser 141fc3e07c Pin preact to v10.17.1
We can't upgrade due to this bug:
https://github.com/preactjs/preact/issues/4221
2024-01-10 20:30:29 +01:00
Simon Ser b38777e92a lib/linkify: add geo URI scheme 2024-01-10 11:38:23 +01:00
Simon Ser 0640ff8712 Upgrade linkifyjs to v4 2024-01-10 11:33:20 +01:00
Simon Ser 67b2b07506 Upgrade dependencies
Leave preact and linkifyjs alone because they cause breakage.
2024-01-10 10:50:30 +01:00
Simon Ser 15e451f7f8 doc/config-file: indicate where errors are logged 2024-01-07 22:16:56 +01:00
Simon Ser 617a3a7485 Downgrade preact to 10.17.1
References: https://github.com/preactjs/preact/issues/4221
2023-11-29 17:46:16 +01:00
Simon Ser 4f828db244 Downgrade preact to 10.18.2
References: https://github.com/preactjs/preact/issues/4221
2023-11-28 15:13:02 +01:00
Simon Ser bc19829673 Upgrade dependencies 2023-11-26 18:22:32 +01:00
Simon Ser 5b8c886c91 components/app: throttle our focus PINGs 2023-11-26 16:43:42 +01:00
Simon Ser c6a1513a07 doc/setup: add kimchi instructions 2023-11-12 10:22:00 +01:00
Simon Ser 3771b39979 doc/setup: improve gamja config instructions for webircgateway 2023-11-12 10:18:57 +01:00
Simon Ser ca4b3575b1 Move docs to a separate directory 2023-11-12 10:09:50 +01:00
Simon Ser 68cb6c56c4 components/buffer: drop duplicate MONITOR events 2023-11-10 18:11:34 +01:00
Simon Ser e0de4d1b36 Set targets.default.context in package.json
parcel doesn't auto-detect that field properly due to "engines".

Closes: https://todo.sr.ht/~emersion/gamja/158
2023-10-21 12:51:06 +02:00
Simon Ser 06f7cf9565 Fix ReferenceError when adding new bouncer network
Fixes the following:

    ReferenceError: can't access lexical declaration 'client' before initialization
    handleNetworkSubmit app.js:1868
2023-10-03 11:43:00 +02:00
Simon Ser 5e33919cce Show MONITOR online/offline notifications in user buffers
We were only showing QUIT, which was weird because it wouldn't
say when the user becomes online again. Use MONITOR instead.
2023-08-25 13:10:05 +02:00
Simon Ser 97b5970acb state: simplify MONITOR reply handling 2023-08-25 13:09:14 +02:00
Simon Ser ffbbde7f28 Upgrade dependencies 2023-08-17 10:50:31 +02:00
Simon Ser 8f29f0c35d lib/client: ensure server prefix is never null
Fixes a null deref in handleChatMessage, because incoming message
prefixes are populated with the server's if null.
2023-08-17 10:45:56 +02:00
Simon Ser 3b383308d4 Send PING on window focus
References: https://todo.sr.ht/~emersion/gamja/148
2023-06-23 16:05:45 +02:00
Simon Ser 3a95fd5ba4 components/switcher-form: match topics and realnames 2023-06-14 11:52:54 +02:00
Simon Ser 44a064274d Add buffer switcher 2023-06-08 15:07:28 +02:00