Commit graph

585 commits

Author SHA1 Message Date
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
Simon Ser
695b02caaa Introduce store helper
Responsible for serializing/deserializing data to be saved in
localStorage. Add a prefix to all localStorage entries to avoid
conflicts with other webapps. Stop guarding against localStorage
not existing, browsers can just implement a dumb interface to
disable it.
2021-05-26 18:43:11 +02:00
Simon Ser
12a38ace90 Add support for IRCv3 setname 2021-05-25 20:22:21 +02:00
Simon Ser
92535fae24 Ignore BOUNCER NETWORK messages if we're already bound to a network 2021-05-25 17:11:06 +02:00
Simon Ser
9dba1b3736 Add vendor prefix to bouncer-networks BATCH type 2021-05-25 17:03:29 +02:00
Simon Ser
1b21f5f076 Display bouncer network status 2021-05-25 17:01:57 +02:00
Simon Ser
6524dc5dd2 Add support for the soju.im/bouncer-networks-notify cap 2021-05-25 17:01:20 +02:00