Commit graph

296 commits

Author SHA1 Message Date
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
Drew DeVault
121d7ec075 Add /whois command
This also rigs up some helpers in Client for handling the whois
response, which I will use for /ban and /quiet and such shortly.
2021-05-27 23:15:53 +02:00
Drew DeVault
f5debac388 Add /op, /deop commands 2021-05-27 23:05:21 +02:00
Drew DeVault
f0a532dbd6 style: minor adjustment to buttons
This makes the borders appear more uniform within the buffer header.
2021-05-27 23:00:06 +02:00
Simon Ser
558548e6f7 Fix typo in Unread.union 2021-05-27 22:35:41 +02:00
Simon Ser
06f7651bef Ignore TAGMSG messages
We get these from clients that support typing notifications, for
instance.
2021-05-27 21:58:37 +02:00
Simon Ser
74dc78a20b Fix lib/irc.js import path in commands.js 2021-05-27 21:46:56 +02:00
Drew DeVault
258b0b0a3c Restyle action buttons 2021-05-27 21:45:41 +02:00
Simon Ser
9567d56f53 Switch to channel buffer on /join
Closes: https://todo.sr.ht/~emersion/gamja/37
2021-05-27 19:10:42 +02:00
Drew DeVault
64900fbe80 Implement togglable sidebars for narrow viewports
Closed: https://l.sr.ht/96AD.jpg
Open:   https://l.sr.ht/gr_9.jpg
2021-05-27 19:00:11 +02:00
Drew DeVault
d612c91016 Implement optional opportunistic pings 2021-05-27 18:31:04 +02:00
Drew DeVault
3021eae9af Improve contrast of nick colors on dark theme 2021-05-27 18:04:45 +02:00
Drew DeVault
e2e2f7a8fc /mode: use active buffer if omitted 2021-05-27 18:02:51 +02:00
Drew DeVault
a0c85c3372 Handle incoming MODE messages in appropriate buffer 2021-05-27 18:01:58 +02:00
Drew DeVault
0b1c4da0ce Add /stats command 2021-05-27 17:58:54 +02:00
Drew DeVault
51d775dc4c Add /j alias for /join 2021-05-27 17:52:48 +02:00
Simon Ser
70c0dd1d78 readme: add notes about nginx 2021-05-27 17:47:31 +02:00
Simon Ser
f36bba897e Fix cross-network mixups when handling QUIT and NICK
Only mutate buffers if they belong to our connection.
2021-05-27 15:19:28 +02:00
Simon Ser
b2cdab86aa Add case-mapping support for channel members
Make a buffer's members an irc.CaseMapMap.
2021-05-27 15:17:18 +02:00
Simon Ser
615e746ec5 lib/client: add Client.cm
This contains the current connection case-mapping, parsed from the
CASEMAPPING ISUPPORT token.
2021-05-27 15:14:03 +02:00
Simon Ser
3110a9e2df lib/irc: add case-mapping primitives
irc.CaseMapping contains the basic canonicalization functions for
the three supported case-mappings. irc.CaseMapMap is a Map-like
class that supports case-mapped keys.
2021-05-27 15:13:32 +02:00
Simon Ser
d880b23d32 Add hint to run /help in unknown command error message 2021-05-27 12:55:28 +02:00
Simon Ser
45c12fb684 Add nick URL param
Closes: https://todo.sr.ht/~emersion/gamja/40
2021-05-27 12:32:22 +02:00
Simon Ser
37492e319b Style dialogs for dark theme
Closes: https://todo.sr.ht/~emersion/gamja/32
2021-05-27 12:05:24 +02:00
Simon Ser
fa80817168 Accomodate for empty BOUNCER host
BOUNCER doesn't support describing UNIX domain socket connections.
2021-05-27 11:51:29 +02:00
Simon Ser
071c2626d5 Open error bubbles for IRC numeric errors 2021-05-27 11:34:23 +02:00
Simon Ser
b8c4bb3112 Improve command error reporting
state.error is expected to be a String, not an Error.
2021-05-27 11:26:42 +02:00
Simon Ser
d5e21097f8 Add /quote command
Closes: https://todo.sr.ht/~emersion/gamja/22
2021-05-27 11:22:34 +02:00
Drew DeVault
d34bff9ed6 Implement /kick and KICK handling in buffers 2021-05-27 10:58:57 +02:00