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
Simon Ser
1d983bd142
Downgrade IRC network logging to debug level
2021-05-27 10:39:24 +02:00
Simon Ser
08678ba57e
Always parse autojoin channels from URL params
...
Even if connection parameters were previously saved to local storage.
2021-05-27 10:36:03 +02:00
Simon Ser
ac5bbafdc3
Fix config.json relative path
...
The path should be relative to index.html, not the JS file.
2021-05-26 23:17:23 +02:00
Simon Ser
17cd38f0b9
Read auto-join channels from browser URL hash
...
This is easier to type than trying to escape the # in ?channels=#XXX.
2021-05-26 22:57:49 +02:00
Simon Ser
7c81fa6e8c
Set the viewport meta tag
2021-05-26 22:42:35 +02:00