Commit Graph

451 Commits

Author SHA1 Message Date
Simon Ser 0dfb7623db Add support for labeled-response
It's just used to avoid mixing up messages coming from the server
so far.
2021-06-04 20:38:01 +02:00
Simon Ser 34078d5da7 Add support for draft/event-playback 2021-06-04 19:45:51 +02:00
Simon Ser db7aa337cb Remove App.isChannel
Replace all remaining usage with Client.isChannel. Client will be
able to use the ISUPPORT tokens to check if a name is a channel.
2021-06-04 19:13:59 +02:00
Simon Ser 87588abf27 Add State.addMessage 2021-06-04 19:07:14 +02:00
Simon Ser 04362644bf Handle TOPIC in State.handleMessage 2021-06-04 18:57:02 +02:00
Simon Ser 30a345298f Handle JOIN/PART in State.handleMessage 2021-06-04 18:53:06 +02:00
Simon Ser 2af58f8d0b Move createBuffer to State 2021-06-04 18:37:34 +02:00
Simon Ser 2c1bb4ce6a Introduce State.handleMessage
Takes an IRC message, updates the state.

Doesn't yet handle all messages, this will be a step-by-step process.
2021-06-04 18:27:21 +02:00
Simon Ser 4d988cafeb Move some state utilities to state.js 2021-06-04 18:03:03 +02:00
Simon Ser 791b742684 Allow config.server.ping to be a String
Workaround for existing config files in the wild.
2021-06-04 17:50:49 +02:00
Simon Ser 6e20ad872e Add support for STATUSMSG
Closes: https://todo.sr.ht/~emersion/gamja/65
2021-06-03 13:31:43 +02:00
Simon Ser 3b5b693403 Use bufName in addMessage, fix missing Client.isMyNick() 2021-06-03 13:29:32 +02:00
Simon Ser 283f8af4b1 lib/irc: rename IRC prefix utilities 2021-06-03 13:18:28 +02:00
Simon Ser 04c9f0211a Fix undefined server variable in BufferHeader 2021-06-03 13:10:44 +02:00
Simon Ser fe9c483570 s/network/server/
Closes: https://todo.sr.ht/~emersion/gamja/46
2021-06-03 11:46:50 +02:00
Simon Ser 63a71e5f5d Add support for incoming INVITE messages 2021-06-03 11:04:32 +02:00
Simon Ser a4294975a2 Add support for /ban without argument 2021-06-03 10:19:09 +02:00
Simon Ser 5004f6c89c components/help: document that / allows to start writing a command 2021-06-02 22:53:28 +02:00
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
Tom Lebreux 0bcd044f10 Linkify channel names 2021-06-01 09:37:35 +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 619f1db08f Introduce Client.who 2021-05-31 17:11:42 +02:00
Simon Ser e271a3cd0e Add /who 2021-05-31 17:02:56 +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 2c1e4b7bea Fix commas in folded NICK messages 2021-05-31 14:08:30 +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 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
Simon Ser e080e87cb7 Pretty-print MOTD 2021-05-28 10:50:42 +02:00
Simon Ser 99ac0151a5 Use Client.isMyNick in NOTICE/PRIVMSG handling 2021-05-28 10:24:40 +02:00
Simon Ser 7b762b3e8a Unregister PING timer when destroying client 2021-05-28 09:58:06 +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
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
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