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
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
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
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
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
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
sitting33
0b7726819d
Show number of highlights in window title
...
Co-authored-by: Simon Ser <contact@emersion.fr>
Closes: https://todo.sr.ht/~emersion/gamja/134
2024-04-25 16:49:19 +02:00
Simon Ser
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
sitting33
9924f08794
Don't mark messages as read when window is not in focus
2024-04-25 16:07:41 +02:00
sitting33
f79b6bfaa1
components/app: split switchBuffer() and markBufferAsRead()
...
We'll want to mark as read independently in response to focus events.
2024-04-25 15:59:47 +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
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
ebcb731e2f
components/buffer: fold NICK change chains
2024-03-29 16:08:04 +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
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
5b8c886c91
components/app: throttle our focus PINGs
2023-11-26 16:43:42 +01:00
Simon Ser
68cb6c56c4
components/buffer: drop duplicate MONITOR events
2023-11-10 18:11:34 +01: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
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
Simon Ser
fe016807da
components/help: fix typo for Ctrl key bindings
2023-06-08 12:15:53 +02:00
Simon Ser
a0ed50a8e2
Keep closed buffers in store
...
This retains their delivery receipts.
Closes: https://todo.sr.ht/~emersion/gamja/154
2023-06-08 11:54:16 +02:00
Simon Ser
2d651ef901
components/app: prevent multiple WHO channel commands in parallel
...
References: https://todo.sr.ht/~emersion/gamja/152
2023-04-19 12:56:12 +02:00
Simon Ser
535bdb2f52
Migrate to async/await
2023-04-19 12:51:13 +02:00
Simon Ser
57f64e9cc2
lib/irc: add formatURL
2023-04-19 11:43:45 +02:00
Simon Ser
2883234ff6
Don't perform OAuth redirection after server meteadata error
2023-03-10 14:14:37 +01:00
Giorgi Taba Kobakhidze
4f350ae223
components/app: ensure msg.tags is initialized
...
Fixes the following error when sending a message on a server
without echo-message:
Uncaught TypeError: t.tags is undefined
prepareChatMessage app.js:602
handleChatMessage app.js:616
privmsg app.js:1514
handleComposerSubmit app.js:1535
handleSubmit composer.js:30
Preact 15
handleMessage app.js:1013
connect app.js:791
handleMessage client.js:448
reconnect client.js:176
reconnect client.js:174
Yt client.js:151
connect app.js:754
handleConnectSubmit app.js:1279
handleSubmit connect-form.js:74
Preact 16
handleConfig app.js:382
<anonymous> app.js:238
promise callback* app.js:237
Preact 4
<anonymous> main.js:4
2023-02-17 23:36:46 +01:00
Simon Ser
f7459704f6
components/composer: focus composer on keydown if a link is active
...
Fixes message not typed after clicking on a link.
2023-01-31 18:28:51 +01:00
Juan Cruz Orioli
c547a32282
components: Use onInput instead of onChange
...
This is one of the differences between React and Preact:
https://preactjs.com/guide/v10/differences-to-react/#use-oninput-instead-of-onchange
Closes: https://todo.sr.ht/~emersion/gamja/128
2023-01-10 18:14:53 +01:00
Simon Ser
3f059567c5
Skip regular chat message handling for infinite scroll
...
Infinite scroll is special: it shouldn't trigger notifications.
Additionally we need to avoid sending on MARKREAD command per
message in the chathistory batch.
Split chat message handling into separate functions.
2022-11-30 12:23:12 +01:00
Simon Ser
4b306305bf
Move msg.tags fallback to client
2022-11-30 11:30:46 +01:00
Simon Ser
a172c810e9
Make first server check more robust when disconnecting
...
A disconnect/reconnect cycle will bump the server ID.
2022-11-30 11:21:54 +01:00
Simon Ser
ab3569e104
Close settings dialog when disconnecting
2022-11-30 11:18:23 +01:00
Simon Ser
24ba3f5189
Remove unnecessary whoChannelBuffer() call
...
switchBuffer() will do that already, no need to do it manually here.
We risk sending two duplicate WHO commands.
2022-10-23 20:21:27 +02:00
Simon Ser
90a2c91651
Load initial members state via WHO when channel is selected
...
Closes: https://todo.sr.ht/~emersion/gamja/13
2022-10-23 20:18:33 +02:00
Simon Ser
e815295503
Add support for OAuth 2.0 authentication
2022-10-14 10:52:44 +02:00
Simon Ser
84ca0a4408
components/connect-form: autofocus username field
2022-09-12 13:43:58 +02:00
Simon Ser
84b68308b9
components/app: switch off loading state atomically
...
Set connectParams together with loading, to avoid intermediate
state where loading = false but connectParams isn't set yet.
2022-09-12 13:42:44 +02:00
Simon Ser
4964782c30
Display error in loading state
2022-09-12 13:41:23 +02:00
Simon Ser
54e1fc93d9
Add config option to generate random nickname
...
Closes: https://todo.sr.ht/~emersion/gamja/136
2022-09-12 13:04:59 +02:00