Nikita Vilunov
d1dad72c08
feat(xmpp): push-based message parser
2023-03-07 14:56:31 +01:00
Nikita Vilunov
dc788a89c4
feat(xmpp): extract tls xml defns into a separate module
2023-03-06 12:49:51 +01:00
Nikita Vilunov
f1eff730a2
feat(xmpp): refactor the projection
2023-03-06 12:05:33 +01:00
Nikita Vilunov
42c22d045f
feat(xmpp): implement socket start negotiation up to auth
2023-03-05 22:04:28 +01:00
Nikita Vilunov
435da6663a
feat(xmpp): serialization of stream start
2023-02-28 12:12:03 +01:00
Nikita Vilunov
494ddc7ee1
feat(xmpp): placeholder for xmpp projection and example of xml
2023-02-28 00:05:30 +01:00
Nikita Vilunov
0adc19558d
remove Terminator::from_raw
2023-02-22 16:05:28 +01:00
Nikita Vilunov
bbd68853ae
graceful shutdown of irc socket listener
2023-02-22 15:40:05 +01:00
Nikita Vilunov
49a975e66e
fix irc integration tests
2023-02-17 22:12:29 +01:00
Nikita Vilunov
266eafe6e6
handle QUIT cmd
2023-02-17 00:38:34 +01:00
Nikita Vilunov
e813fb7c69
implement room bans
2023-02-16 22:49:17 +01:00
Nikita Vilunov
204126b9fb
return user's mode to themselves
2023-02-16 20:53:37 +01:00
Nikita Vilunov
63f31aa42f
support who for global channels
2023-02-16 19:47:51 +01:00
Nikita Vilunov
69bccef3bf
fix WHO replies
2023-02-16 19:33:36 +01:00
Nikita Vilunov
81ee1c1044
implement WHO irc command for queries on self
2023-02-16 18:39:54 +01:00
Nikita Vilunov
30db029390
make irc update handler a separate function
2023-02-16 16:33:44 +01:00
Nikita Vilunov
1e17e017cf
make PlayerCommand mod-private
2023-02-15 21:49:52 +01:00
Nikita Vilunov
203db3b207
handle part commands
2023-02-15 18:54:48 +01:00
Nikita Vilunov
1bc305962e
endpoint with a list of rooms
2023-02-15 18:10:54 +01:00
Nikita Vilunov
a03a3a11a3
handle connection termination
2023-02-15 17:47:48 +01:00
Nikita Vilunov
23898038e1
fix some warnings
2023-02-14 23:49:56 +01:00
Nikita Vilunov
7dfe6e0295
fix some stuff
2023-02-14 23:43:59 +01:00
Nikita Vilunov
3950ee1d7a
refactor player actor a bit
2023-02-14 23:38:40 +01:00
Nikita Vilunov
05f8c5e502
rework commands and updates.
...
updates from rooms are send only to users other than the initiator.
updates from player are send only to connections other than the one the command was sent from.
2023-02-14 23:22:04 +01:00
Nikita Vilunov
39fed80106
warn on unhandled irc message
2023-02-14 20:56:31 +01:00
Nikita Vilunov
4e5ccd604c
rename socket => connection for consistency
2023-02-14 20:45:22 +01:00
Nikita Vilunov
57ea2dd2d7
introduce Updates as a common player and connection event
2023-02-14 20:42:52 +01:00
Nikita Vilunov
265b78dc51
improve newtypes
2023-02-14 20:07:07 +01:00
Nikita Vilunov
c845f5d4ca
handle topic command
2023-02-14 19:46:42 +01:00
Nikita Vilunov
d10cddec61
send channels on connect
2023-02-14 19:28:49 +01:00
Nikita Vilunov
a8d6a98a5b
produce join messages on joins from other connections
2023-02-14 18:55:09 +01:00
Nikita Vilunov
cef0269828
send chat members list on connection
2023-02-14 01:44:03 +01:00
Nikita Vilunov
ec819d37ea
make room a data structure behind a rwlock instead of an actor
2023-02-14 01:42:04 +01:00
Nikita Vilunov
315b7e638b
add irc integration tests
2023-02-13 21:58:44 +01:00
Nikita Vilunov
b1b8ec800e
tests for irc
2023-02-13 21:04:08 +01:00
Nikita Vilunov
7f5fa955ec
introduce player connection
2023-02-13 20:16:00 +01:00
Nikita Vilunov
6d330c0fcd
split irc connection handler into functions
2023-02-13 19:58:05 +01:00
Nikita Vilunov
d661f68fb6
implemen sending messages to a chan
2023-02-13 19:32:52 +01:00
Nikita Vilunov
89f85b4fee
handle join and privmsg irc commands
2023-02-13 18:08:37 +01:00
Nikita Vilunov
20b461e81c
handle irc join commands
2023-02-13 00:31:16 +01:00
Nikita Vilunov
ae27c04b0a
add active players and rooms gauges
2023-02-12 23:23:52 +01:00
Nikita Vilunov
bd63732e25
fix server message serialization tests
2023-02-12 13:15:31 +01:00
Nikita Vilunov
d5d0c6e73e
rewrite server message writes as async, introduce error handling
2023-02-10 22:27:29 +01:00
Nikita Vilunov
69406cb33b
implement irc client registration
2023-02-10 19:47:58 +01:00
Nikita Vilunov
e0135a8ea6
implement pings
2023-02-10 18:09:29 +01:00
Nikita Vilunov
5d57df3219
add support for additional irc messages types
2023-02-10 11:46:10 +01:00
Nikita Vilunov
e5d0722fe0
split irc proto in server in client modules
2023-02-09 20:26:05 +01:00
Nikita Vilunov
c18f152e25
add metrics to irc projection
2023-02-09 20:01:21 +01:00
Nikita Vilunov
7a988f39b5
remove trivial projection
2023-02-09 19:31:45 +01:00
Nikita Vilunov
08fe958d60
clean stuff, move metrics endpoint onto a separate port
2023-02-09 19:19:03 +01:00
Nikita Vilunov
e0ae11c02d
irc parsing and initial projection
2023-02-09 18:16:15 +01:00
Nikita Vilunov
f9a6d8bdfc
reorder modules a bit
2023-02-04 02:01:49 +01:00
Nikita Vilunov
b7995584f0
implement multiple rooms
2023-02-03 23:43:59 +01:00
Nikita Vilunov
03b0ababa7
handle client-side ws error
2023-01-31 22:30:55 +01:00
Nikita Vilunov
dd8cf0fbf0
add integration tests for ws, rewrite ws handling
2023-01-31 18:32:35 +01:00
Nikita Vilunov
f4dda9fb4b
simple broadcast of messages
2023-01-31 13:55:47 +01:00
Nikita Vilunov
492f415947
remove unused client target
2023-01-28 00:44:13 +04:00
Nikita Vilunov
d6b2289221
prometheus example usage
2023-01-28 00:43:20 +04:00
Nikita Vilunov
0b0c432bb8
add a simple router
2023-01-27 01:11:28 +04:00
Nikita Vilunov
31ffe41929
websocket basic implementation
2023-01-25 16:50:14 +04:00
Nikita Vilunov
d94d03466a
move tcp client into separate module
2023-01-19 18:58:56 +01:00
Nikita Vilunov
734ca6c423
http server
2023-01-19 18:18:41 +01:00
Nikita Vilunov
1950453cae
initial
2023-01-19 15:25:52 +01:00