Commit graph

624 commits

Author SHA1 Message Date
Simon Ser
91208a6d47 Add support for CHATHISTORY TARGETS
The main motivation is to avoid missing direct messages coming from
other users.

A nice side-effect is that we no longer need to issue CHATHISTORY
queries for each channel we JOIN: instead, we can only fetch
history for targets known to have new messages available (as indicated
by CHATHISTORY TARGETS).

We use read receipts instead of delivery receipts, so that reloading
the webapp restores the exact same state (ie, unread messages are
re-fetched).

References: https://github.com/ircv3/ircv3-specifications/pull/450
2021-06-02 20:37:20 +02:00
Simon Ser
74d9dea5bb Use RegExp match indices in linkifyChannel 2021-06-01 09:53:11 +02:00
Tom Lebreux
0bcd044f10 Linkify channel names 2021-06-01 09:37:35 +02:00
Simon Ser
9affdb894f Make Alt+ArrowUp and Alt+ArrowDown wrap around 2021-05-31 19:21:54 +02:00
Simon Ser
9224ab9d0d Set scrollbar style 2021-05-31 18:43:44 +02:00
Simon Ser
e38f35c578 Order buffers by priority in Alt+a 2021-05-31 18:26:04 +02:00
Simon Ser
958b6bf120 Set enterkeyhint in composer 2021-05-31 18:16:49 +02:00
Simon Ser
8c02cdc094 Hide server URL input if set in config or query
Closes: https://todo.sr.ht/~emersion/gamja/52
2021-05-31 18:13:44 +02:00
Simon Ser
04932317f6 Populate server URL in fillConnectParams 2021-05-31 18:11:33 +02:00
Simon Ser
4fff2b1b8d Unify connect params keys 2021-05-31 18:04:02 +02:00
Simon Ser
c632ef4339 Don't save default username/realname in local storage 2021-05-31 17:57:17 +02:00
Simon Ser
bc7162ebe2 Pretty-print buffer name in buffer header 2021-05-31 17:39:37 +02:00
Simon Ser
6e16163103 Re-fold HTML in BufferList 2021-05-31 17:34:36 +02:00
Simon Ser
ced63b0abc Print server status in header prior to RPL_MYINFO 2021-05-31 17:30:45 +02:00
Simon Ser
06ca812d06 Simplify Client.roundtrip callback arg 2021-05-31 17:14:46 +02:00
Simon Ser
619f1db08f Introduce Client.who 2021-05-31 17:11:42 +02:00
Simon Ser
02145b45ad Remove unused arg from Client.whois 2021-05-31 17:04:52 +02:00
Simon Ser
e271a3cd0e Add /who 2021-05-31 17:02:56 +02:00
Simon Ser
fff0907354 Make buffer title bold 2021-05-31 16:45:46 +02:00
Simon Ser
14dbb60aec Fix null membership on JOIN 2021-05-31 16:08:33 +02:00
Drew DeVault
be1ecf607d Display prefixes in member list
Closes: https://todo.sr.ht/~emersion/gamja/43
2021-05-31 15:56:08 +02:00
Simon Ser
e90c07e64e Remove unnecessary if in /ban
If whois info is unavailable, the promise is rejected.
2021-05-31 14:53:56 +02:00
Simon Ser
a6cdd64444 readme: document server.ping in config section 2021-05-31 14:48:51 +02:00
Simon Ser
2c1e4b7bea Fix commas in folded NICK messages 2021-05-31 14:08:30 +02:00
Simon Ser
e76e71c968 Fallback to first server buffer in Alt+a keybind
Previously we switched to the server buffer for the current network.
2021-05-31 13:24:23 +02:00
Simon Ser
ab11af3965 Init App.config 2021-05-31 12:26:57 +02:00
Simon Ser
b3d825c9d1 Hide composer when disconnected from server 2021-05-31 12:04:54 +02:00
Simon Ser
68753afb8e Ensure connect form has padding
Even on small screens.
2021-05-31 10:55:26 +02:00
Simon Ser
8fbc0a5c62 Fix Alt+h messing up all buffers 2021-05-31 10:46:41 +02:00
Simon Ser
b0671fe336 Group folded events by type 2021-05-31 10:35:34 +02:00
Simon Ser
ce239e5785 Improve FoldGroup key and shouldComponentUpdate 2021-05-31 10:35:34 +02:00
Simon Ser
8b20b463ff Display last event time when folding messages 2021-05-31 10:35:34 +02:00
Simon Ser
2bc89a6655 Filter out PART → JOIN pairs 2021-05-31 10:35:34 +02:00
Simon Ser
64674bdd9f Fold unimportant messages together 2021-05-31 10:35:34 +02:00
Drew DeVault
1dcdb2d778 Add /lusers command 2021-05-29 13:14:07 +02:00
Drew DeVault
65c2816739 Add /invite command 2021-05-29 13:11:11 +02:00
Drew DeVault
0473b9ced7 Add /voice, /devoice
This also generalizes the logic for these commands along with /op and
/deop.
2021-05-29 13:06:21 +02:00
Simon Ser
b4367eb13c Simplify /query usage string 2021-05-28 13:58:39 +02:00
Simon Ser
9e9dcff401 Mute date separator line color in dark theme 2021-05-28 11:22:18 +02:00
Simon Ser
5b29cf83f6 Add /motd 2021-05-28 11:17:37 +02:00
Simon Ser
e080e87cb7 Pretty-print MOTD 2021-05-28 10:50:42 +02:00
Simon Ser
8123ff3844 Misc theme improvements
- Mute unimportant messages on dark theme
- Adjust button background on light theme
2021-05-28 10:34:39 +02:00
Simon Ser
99ac0151a5 Use Client.isMyNick in NOTICE/PRIVMSG handling 2021-05-28 10:24:40 +02:00
Simon Ser
5a3edf4769 Fix WHOIS DB not using case-mapping fallback
In case the server advertises an unsupported case-mapping, we have
a fallback.
2021-05-28 09:59:51 +02:00
Simon Ser
7b762b3e8a Unregister PING timer when destroying client 2021-05-28 09:58:06 +02:00
Simon Ser
24fe62f1de Ensure msg.prefix is always populated 2021-05-28 09:49:21 +02:00
Simon Ser
e9d90d4927 Fix TypeError in isHighlight
TypeError: msg.prefix is null
2021-05-28 09:49:21 +02:00
Drew DeVault
6491f7e915 composer: turn off browser autocomplete 2021-05-28 08:53:37 +02:00
Simon Ser
fc9dfa2dca Implement case-mapping for buffers and message handler 2021-05-27 23:40:08 +02:00
Drew DeVault
e000832483 Add /ban, /kickban commands 2021-05-27 23:21:01 +02:00