Commit graph

819 commits

Author SHA1 Message Date
poljar (Damir Jelić)
2f4137933f Reformat the source tree using yapf. 2018-02-21 17:04:03 +01:00
poljar (Damir Jelić)
81e078173a Add support for python2 type json exceptions. 2018-02-20 13:40:25 +01:00
poljar (Damir Jelić)
bd808e4bc2 Don't use the object hook functionality of the json module.
The json module runs the object hook for every json object contained in
the json string.

This could lead to unexpected object creation if the string contains
more than a single object.
2018-02-20 13:40:25 +01:00
poljar (Damir Jelić)
779e346fb3 Use the propper reference for server buffer merges. 2018-02-20 13:40:25 +01:00
poljar (Damir Jelić)
ed16113afe Style issues. 2018-02-20 12:40:23 +01:00
poljar (Damir Jelić)
1c47dff7ae Readd redacted message printing to the backlog event. 2018-02-20 12:35:26 +01:00
poljar (Damir Jelić)
ee2bcc69cb Add sanitize_token() function. 2018-02-20 10:59:44 +01:00
poljar (Damir Jelić)
2741a7807d Reset the send/receive buffers and the http parser on disconnects. 2018-02-20 10:12:14 +01:00
poljar (Damir Jelić)
b04c952107 Fix the type info for sanitize_id(). 2018-02-16 15:22:10 +01:00
poljar (Damir Jelić)
3b77689c7d Add initial backlog event.
The backlog event currently only supports non redacted messages.
2018-02-16 15:15:56 +01:00
poljar (Damir Jelić)
afd595b780 Clear the send queue when disconnected as well. 2018-02-15 15:28:01 +01:00
poljar (Damir Jelić)
fc25fe54c9 Check the type while sanitizing a ID. 2018-02-14 15:09:11 +01:00
poljar (Damir Jelić)
1466531d48 Drop the dot in error event messages.
Synapse has incosistent error messages, some contain a full stop while
some don't, to avoid double dots remove our dot.
2018-02-14 14:53:07 +01:00
poljar (Damir Jelić)
272e82aa76 Add invite event class. 2018-02-14 14:52:21 +01:00
poljar (Damir Jelić)
32babecb33 Change the empty dict check condition in the leave event. 2018-02-14 14:22:20 +01:00
poljar (Damir Jelić)
a4a8e448a7 Change the join API to allow joins using aliases. 2018-02-14 14:21:56 +01:00
poljar (Damir Jelić)
8c23028c8b Execute the send and join events on an 403 error. 2018-02-14 13:50:54 +01:00
poljar (Damir Jelić)
9577472ad2 Add join event class. 2018-02-14 13:48:00 +01:00
poljar (Damir Jelić)
2a0cccc191 Add redaction event class. 2018-02-14 13:00:18 +01:00
poljar (Damir Jelić)
3232f61f7e Add a ID sanitization function.
Json allows certain control characters inside of strings. Filter those
out for identifiers.
2018-02-14 12:40:41 +01:00
poljar (Damir Jelić)
4537635db3 Add topic event class. 2018-02-14 11:51:57 +01:00
poljar (Damir Jelić)
e4f042a6a7 Don't make message sending failures fatal. 2018-02-14 11:33:28 +01:00
poljar (Damir Jelić)
1029ce5c1b Refactor event error handling. 2018-02-14 11:11:54 +01:00
poljar (Damir Jelić)
773085b515 Disconnect if there is a failure in the connect callback. 2018-02-14 11:09:33 +01:00
poljar (Damir Jelić)
6b23dee045 Add SendEvent class. 2018-02-13 15:50:30 +01:00
poljar (Damir Jelić)
bafa7d23b7 Move the login decode function to the parent class. 2018-02-13 14:06:17 +01:00
poljar (Damir Jelić)
d045bc4368 Construct the login event while parsing the json. 2018-02-13 13:06:30 +01:00
poljar (Damir Jelić)
e9c388ca4d Add event classes. 2018-02-13 11:38:49 +01:00
poljar (Damir Jelić)
7da03db7c1 Return from the timer callback if we're scheduling a reconnect. 2018-02-13 10:15:05 +01:00
poljar (Damir Jelić)
f85a5df052 Reset the lag if we're disconnecting. 2018-02-13 10:14:43 +01:00
poljar (Damir Jelić)
f78bd95d3f Move the json decoding into the MatrixMessage class. 2018-02-13 10:13:40 +01:00
poljar (Damir Jelić)
390d08b229 Move the sync and login functions into the server class. 2018-02-12 14:53:19 +01:00
poljar (Damir Jelić)
da13abc5fa Remove unused get_transaction_id() function. 2018-02-12 14:41:45 +01:00
poljar (Damir Jelić)
6f97ba1425 Rename MatrixGenericMessage class. 2018-02-12 14:20:18 +01:00
poljar (Damir Jelić)
49b356f510 Remove MatrixMessage class. 2018-02-12 14:17:36 +01:00
poljar (Damir Jelić)
8b21e9957d Add invite message class. 2018-02-12 14:15:08 +01:00
poljar (Damir Jelić)
7be29e2b3f Add join/part message class. 2018-02-12 14:14:53 +01:00
poljar (Damir Jelić)
dbf7df2e84 Add backlog message class. 2018-02-12 13:22:48 +01:00
poljar (Damir Jelić)
aa625f0962 Add redaction message class. 2018-02-12 13:03:32 +01:00
poljar (Damir Jelić)
d0c695dc09 Add topic message class. 2018-02-12 12:51:33 +01:00
poljar (Damir Jelić)
7f9c09c16b Add sync message class. 2018-02-12 12:27:45 +01:00
poljar (Damir Jelić)
bc6db177a8 Add login message class. 2018-02-12 12:27:20 +01:00
poljar (Damir Jelić)
b22deceb00 Mypy fixes. 2018-02-12 10:56:28 +01:00
poljar (Damir Jelić)
7ab59ec636 Start separating messages into their own subclasses. 2018-02-12 10:55:27 +01:00
poljar (Damir Jelić)
1ad643f206 Fix buffer unmerging if we only have one server. 2018-02-12 10:41:12 +01:00
poljar (Damir Jelić)
9af4d65b67 Catch the socket error upon socket shutdown. 2018-02-10 15:36:31 +01:00
poljar (Damir Jelić)
6b87994a94 Rework of the color handling, add a Formatted class. 2018-02-10 15:34:40 +01:00
poljar (Damir Jelić)
4c9069a8b1 Make the room_id part of the kwargs in the MatrixMessage class. 2018-02-08 15:49:20 +01:00
poljar (Damir Jelić)
1a804a4dc3 Get rid of the data argument from the MatrixMessage constructor. 2018-02-08 14:54:03 +01:00
poljar (Damir Jelić)
ef99a13806 Get rid of extra_data in the MatrixMessage class. 2018-02-08 14:40:20 +01:00