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
Simon Ser
94fba920cd
Fix close() for bouncer networks
2021-05-25 17:01:18 +02:00
Simon Ser
5165df718f
Disconnect on BOUNCER BIND error
2021-05-25 16:59:59 +02:00
Simon Ser
11642e1ab4
Add UI to edit/delete a network
2021-05-25 16:59:59 +02:00
Simon Ser
f84334c31e
Add UI to add a new bouncer network
2021-05-25 16:59:57 +02:00
Simon Ser
4c62b7571e
Indent channels and nicks in buffer list
2021-05-25 16:58:50 +02:00
Simon Ser
b429243573
Add support for the soju.im/bouncer-networks extension
2021-05-25 16:58:50 +02:00
Simon Ser
982a945932
Fix TypeError in handleBufferScrollTop
...
Fixes the following:
TypeError: client is undefined
2021-05-25 14:28:48 +02:00
Simon Ser
ed92c3c61a
Clear local storage when clicking "Disconnect"
2021-05-25 12:57:40 +02:00
Simon Ser
811984878c
Switch to query params for msgid/timestamp in irc:// URLs
...
The hash is confusing because channels often start with a # too.
Instead, use a query parameter. This is consistent with [1], which
uses query params for the channel key.
[1]: https://datatracker.ietf.org/doc/html/draft-butcher-irc-url-04
2021-05-25 12:46:00 +02:00
Simon Ser
9e163b7647
Switch it isuser in irc:// URLs
...
This is what the most recent draft [1] uses.
[1]: https://datatracker.ietf.org/doc/html/draft-butcher-irc-url-04
2021-05-25 12:42:24 +02:00
Simon Ser
07c10b3b1f
Only switch to autojoin channel once
2021-05-25 12:40:33 +02:00
Simon Ser
f943d8ea15
readme: update IRC channel
2021-05-25 12:35:43 +02:00
Simon Ser
d261886199
Add support for config file
...
Closes: https://todo.sr.ht/~emersion/gamja/20
2021-05-25 12:33:22 +02:00
Simon Ser
e0cde27d66
Add simple /mode command
2021-05-23 11:41:04 +02:00
Simon Ser
22e54dac56
Update dependencies
...
Fixes a security vuln.
2021-05-17 09:52:42 +02:00
Simon Ser
f122e44e9b
Use ISUPPORT CHATHISTORY to discover max page size
2021-05-11 16:10:50 +02:00
Simon Ser
305ffb569c
Parse ISUPPORT tokens in client
2021-05-11 16:03:16 +02:00
Simon Ser
e242d5222e
Fix TypeError in App.render()
...
Fixes the following error:
Uncaught (in promise) TypeError: activeBuffer is undefined
2021-05-10 15:09:49 +02:00
Thorben Günther
e6c58a121c
style.css: Substitute repeated colours with variables
...
Whenever possible (light and dark scheme use same variable name),
the element was removed from the dark block.
2021-05-01 10:20:47 +02:00
Simon Ser
870a9b6be5
Add CSS for email fields
2021-04-27 12:25:57 +02:00
Simon Ser
5b29e2656e
Improve dark theme style for text inputs
2021-04-27 11:23:44 +02:00
Thorben Günther
69b2c5bd1c
style.css: Add dark mode
2021-04-23 15:49:57 +02:00
Simon Ser
727331c859
Remove client from map on disconnect
2021-03-10 11:01:04 +01:00
Simon Ser
4991518ed5
Display error popup on FAIL
2021-03-09 21:48:04 +01:00
Simon Ser
97e75805fa
Add some space between error message and close button
2021-03-09 21:47:39 +01:00
Simon Ser
d0b5f63a22
Move dialog submit buttons to the right
2021-03-09 19:08:16 +01:00
Simon Ser
88c0e5ae94
Break long tag attributes on multiple lines
...
Makes that stuff more readable.
2021-03-09 18:11:59 +01:00
Simon Ser
8ab10cf2a5
lib/irc: escape/unescape everything in tags
...
Without the greedy flag on the regexp, String.replace will just
replace the first match.
While at it, also make sure to convert to a string when formatting
tag values. This allows tag values to be e.g. numbers.
2021-03-09 17:40:57 +01:00
Simon Ser
2d4409e7aa
lib/irc: accept tags without value
2021-03-09 17:31:12 +01:00