Commit graph

32 commits

Author SHA1 Message Date
bc3e3b1e13 Update tokio-tungstenite 2025-02-20 20:16:11 +01:00
cdcf80ab9a Fix timestamps with too much precision being representable 2024-12-04 18:56:03 +01:00
4314a24e78 Switch to jiff from time 2024-12-04 17:08:52 +01:00
0f217a6279 Fix euph errors always turning into conn::Errors 2023-04-08 20:22:19 +02:00
768a259f02 Add timeout while opening connection
This should hopefully fix an issue where instances would get stuck in a
"Connecting" state after suspending the host machine or maybe just
connecting it to a different wifi. I've not managed to reliably
reproduce the bug, so this may not fix it at all.
2023-03-12 16:31:58 +01:00
46d9367670 Add ConnTx::send_only 2023-01-30 18:57:06 +01:00
2719ab3301 Fix connection not checking pings 2023-01-24 18:11:41 +01:00
dfacc05749 Log full packets under different target 2023-01-24 17:43:03 +01:00
f243e2243d Make conn::Result public 2023-01-21 14:05:42 +01:00
3f5ae51a41 Add debug logging to connection 2023-01-21 14:05:42 +01:00
5805c25408 Use tokio's sleep_until
Instead of my own hastily thrown together implementation
2023-01-21 01:05:06 +01:00
90aa3fda31 Track time since connecting and joining 2023-01-20 22:43:08 +01:00
6916977a47 Rewrite conn module 2023-01-20 19:20:21 +01:00
fab7ac52f2 Add Status utility methods 2023-01-02 14:38:09 +01:00
5b9648271c Update dependencies 2022-12-10 02:32:42 +01:00
1c0f73b6b0 Remove todo 2022-10-23 14:07:57 +02:00
f5ba899a36 Add connect function 2022-10-23 13:59:17 +02:00
547256b842 Remove direct dependency on thiserror
Thiserror is still a transitive dependency due to tungstenite.
2022-10-23 13:33:45 +02:00
bdb17db5bf Track sessions only known by nick-events 2022-09-26 15:49:53 +02:00
e59216809a Fix listing being indexed by wrong id 2022-09-26 10:00:06 +02:00
01a442c1f0 Disconnect on account events 2022-08-22 18:18:54 +02:00
5ac16db3fc Make timeout configurable 2022-08-20 23:50:00 +02:00
2579a9860d Remove unnecessary todo
The disconnect is followed by the server closing the connection, so
there is no need to handle it manually.
2022-08-20 20:34:38 +02:00
49b37649e3 Return entire packet in ConnTx::recv 2022-08-20 20:18:43 +02:00
c385ae9d97 Fix websocket pinging behaviour
The websocket standard allows sending arbitrary pong frames at any time
as a unidirectional heartbeat. With the connection's previous
implementation of websocket pinging, this would result in a disconnect
because the connection thought the server had missed its pong.

The current implementation only results in false positives, not
negatives, if the server accidentally sends an unprompted pong with the
same payload as our last ping. It can be debated whether this is an
actual *false* positive or just a plain positive though as the server is
still alive.
2022-08-20 20:02:18 +02:00
47b9f5938c Add todo about ws pong handling 2022-08-19 23:38:55 +02:00
cab82cf775 Remove dependency on rand 2022-08-18 18:28:56 +02:00
643da74bcc Normalize imports 2022-08-18 17:49:49 +02:00
f12b28b121 Make ignoring server reply easier 2022-08-18 17:30:46 +02:00
f2cc06b147 Remove dependency on anyhow 2022-08-18 15:41:59 +02:00
c4bde36f40 Remove dependency on log 2022-08-18 15:23:04 +02:00
1495095fa8 Copy euph-api-related parts from cove
Also includes the required dependencies and some minor changes to the
module structure, as well as all the clippy and rustc warnings.
2022-08-18 00:46:16 +02:00