Commit Graph

221 Commits

Author SHA1 Message Date
Mikhail f3fd15b781 Test joining a room twice 2024-05-09 17:22:39 +02:00
Mikhail 8dd3ee4443 Fix query 2024-05-09 17:22:33 +02:00
Mikhail 061c3a1093 Format 2024-05-09 17:22:22 +02:00
Mikhail 5512a74999 Check if user is a member before inserting a membership (#62)
It would typically fail on insertion due to uniqueness constraints: user id - room id.

Reviewed-on: lavina/lavina#62
Co-authored-by: Mikhail <mikhail@liamets.dev>
Co-committed-by: Mikhail <mikhail@liamets.dev>
2024-05-08 22:10:32 +00:00
Nikita Vilunov 7f2c6a1013 continue propagated traces in http request handlers 2024-05-05 19:24:58 +02:00
Nikita Vilunov bb0fe3bf0b use borrows in http endpoint handlers 2024-05-05 19:24:42 +02:00
Nikita Vilunov 8ac64ba8f5 get rid of storage usages in projections 2024-05-05 19:24:23 +02:00
homycdev abe9a26925 irc: implement WHOIS command (#43)
Reviewed-on: lavina/lavina#43
Co-authored-by: homycdev <abdulkhamid98@gmail.com>
Co-committed-by: homycdev <abdulkhamid98@gmail.com>
2024-05-05 17:21:40 +00:00
Mikhail adf1d8c14c xmpp: Implement Message Archive Management stub for XEP-0313 (#60)
https://xmpp.org/extensions/xep-0313.html
Reviewed-on: lavina/lavina#60
Co-authored-by: Mikhail <mikhail@liamets.dev>
Co-committed-by: Mikhail <mikhail@liamets.dev>
2024-05-05 15:12:58 +00:00
Nikita Vilunov 9a09ff717e management api endpoints for rooms 2024-05-01 17:30:31 +02:00
Nikita Vilunov a87f7c9d73 xmpp: extract common fragments of integration tests into functions 2024-04-29 23:56:18 +02:00
Nikita Vilunov 25605322a0 player shutdown API (#58)
Reviewed-on: lavina/lavina#58
2024-04-29 17:24:43 +00:00
Nikita Vilunov 31f9da9b05 xmpp: fix incorrect auth test 2024-04-29 19:13:32 +02:00
Nikita Vilunov c1dc2df150 xmpp: document xml parsing types 2024-04-28 17:29:31 +02:00
Nikita Vilunov c69513f38b xmpp: use mutable namespace and event in parser coroutines 2024-04-28 17:19:31 +02:00
Nikita Vilunov 8ec9ecfe2c xmpp: handle incorrect credentials by replying with an error 2024-04-28 17:11:29 +02:00
Nikita Vilunov a047d55ab5 xmpp: handle correctly unavailable self-presence and improve basic test scenario 2024-04-28 15:43:22 +02:00
Nikita Vilunov ea81ddadfc dialog message persistence 2024-04-27 12:58:27 +02:00
Nikita Vilunov 4b5ab02322 start next version 2024-04-26 13:43:43 +02:00
Nikita Vilunov 843d0e9c82 bump version 2024-04-26 13:31:47 +02:00
Nikita Vilunov 72f5010988 clean up http.rs a little 2024-04-26 12:28:13 +02:00
Nikita Vilunov 4ff09ea05f tracing otlp exporter and instrumentation annotations (#57)
Resolves #56

Reviewed-on: lavina/lavina#57
2024-04-26 10:16:23 +00:00
Nikita Vilunov ec49489ef1 validate that rooms and dialogs are owned exclusively on shutdown 2024-04-23 19:18:46 +02:00
Nikita Vilunov d305f5bf77 argon2-based password hashing (#55)
Reviewed-on: lavina/lavina#55
2024-04-23 16:31:00 +00:00
Nikita Vilunov 799da8366c basic dialog implementation with irc and xmpp support (#53)
Reviewed-on: lavina/lavina#53
2024-04-23 16:26:40 +00:00
Nikita Vilunov d805061d5b refactor auth logic into a common module (#54)
Reviewed-on: lavina/lavina#54
2024-04-23 10:10:10 +00:00
Nikita Vilunov 6c08d69f41 sasl: remove unused code 2024-04-23 00:41:54 +02:00
Nikita Vilunov 12d30ca5c2 irc: implement server-time capability for incoming messages (#52)
Spec: https://ircv3.net/specs/extensions/server-time
Reviewed-on: lavina/lavina#52
2024-04-21 21:00:44 +00:00
Nikita Vilunov ddb348bee9 refactor lavina core by grouping public services into a new LavinaCore struct.
this will be useful in future when additional services will be introduced and passed as dependencies
2024-04-21 19:45:50 +02:00
Nikita Vilunov 5a09b743c9 return AlreadyJoined when a player attempts to join a room they are already in 2024-04-20 17:09:44 +02:00
Nikita Vilunov cebe354179 update libraries 2024-04-19 14:27:19 +02:00
Nikita Vilunov 02a8309d9e xmpp: relax the jid regex a bit 2024-04-18 01:42:28 +02:00
Nikita Vilunov fbb3d4f4f9 xmpp: rewrite xml element parsers using coroutines 2024-04-16 17:44:34 +02:00
Nikita Vilunov 048660624d irc: support registration with different order of NICK/USER/CAP END commands (#51)
Resolves #33

Reviewed-on: lavina/lavina#51
2024-04-16 11:35:14 +00:00
Nikita Vilunov 6bba699d87 xmpp: disco-info iq for rooms 2024-04-15 23:08:43 +02:00
Nikita Vilunov 6d493d83a3 xmpp: use the Jid type in IQs' to and from fields, separate presence handling 2024-04-15 18:18:51 +02:00
Nikita Vilunov 757d7c5665 persistent room topics (#50)
Reviewed-on: lavina/lavina#50
2024-04-15 09:12:23 +00:00
Nikita Vilunov 0105a5b710 persistent memberships (#49)
Reviewed-on: lavina/lavina#49
2024-04-15 09:06:10 +00:00
Nikita Vilunov 57b6af8732 xmpp: configurable server hostname (#47)
Reviewed-on: lavina/lavina#47
2024-04-15 00:33:26 +00:00
Nikita Vilunov 0944c449ca xmpp: in integration tests extract server startup code 2024-04-13 02:32:41 +02:00
Mikhail fd694cd75c Add message timestamps (#41)
Resolves #38

Reviewed-on: lavina/lavina#41
Co-authored-by: Mikhail <mikhail@liamets.dev>
Co-committed-by: Mikhail <mikhail@liamets.dev>
2024-04-12 21:32:21 +00:00
Nikita Vilunov cccc05afe9 xmpp: ignore text elements with spaces at the stream root 2024-04-11 23:08:09 +02:00
Nikita Vilunov 8b099f9be2 xmpp: fix handling of the `bind` iq 2024-04-07 12:06:23 +00:00
Nikita Vilunov 36b0d50d51 irc: allow PART without a reason 2024-04-06 23:01:24 +00:00
Nikita Vilunov adece11fef xmpp: make xml-headers optional in the c2s stream 2024-04-06 22:37:27 +00:00
Nikita Vilunov ab61e975bf xmpp: send correct errors on unknown iqs 2024-04-06 22:37:27 +00:00
Nikita Vilunov fd437df67e xmpp: buffer data outgoing over a TLS-stream 2024-04-06 22:35:01 +00:00
Nikita Vilunov a325c7307c irc: improve tests and remove tail space in chan member list 2024-04-06 22:34:11 +00:00
Nikita Vilunov d436631450 improve docs and split command handlers into methods (#40) 2024-03-26 16:26:31 +00:00
Nikita Vilunov 878ec33cbb apply uniform formatting 2024-03-20 19:59:15 +01:00