Commit Graph

303 Commits (6e5b35ea92075cdc9fc62db0f7f946ae6b80d76e)

Author SHA1 Message Date
Timo Kösters a567cd81d5
improvement: better logs on deserialization errors 2020-09-16 15:08:51 +02:00
Timo Kösters f4078a29eb
fix: synapse complains about missing origin 2020-09-16 11:42:33 +02:00
Timo Kösters dd749b8aee
fix: server keys and destination resolution when server name contains port 2020-09-16 11:01:04 +02:00
Timo Kösters 005e00e9b1
fix: remove well-known 2020-09-15 17:16:55 +02:00
Timo Kösters 1bf614b0f5
fix: remove transaction_id from pdus over federation 2020-09-15 17:02:20 +02:00
Timo Kösters b7ab57897b
fix: sending slowness 2020-09-15 16:14:59 +02:00
Timo Kösters 0b263208e3
fix: don't panic on bad server names 2020-09-15 08:55:02 +02:00
Timo Kösters 71500b14b9
fix: send to all servers and fix media store 2020-09-15 08:17:15 +02:00
Timo Kösters f7816b11de
feat: send messages over federation 2020-09-15 08:17:06 +02:00
Timo Kösters 9f05ef926a
fix: filter public room dir 2020-09-14 16:23:15 +02:00
Timo d1099e9224
Update dependencies 2020-09-14 14:36:49 +02:00
Timo Kösters aa5e9e607e
feat: download media and thumbnails over federation 2020-09-14 14:20:38 +02:00
Timo Kösters 4e44fedbcd
fix: room list over federation 2020-09-14 11:43:42 +02:00
Timo Kösters c5313b3e8f
improvement: try out multiple servers when joining remote rooms 2020-09-14 11:00:31 +02:00
Timo Kösters 1f292c09f2
improvement: better federation joins 2020-09-14 09:29:46 +02:00
Timo Kösters af53485d70
fix: avoid pdus without event ids 2020-09-12 23:38:52 +02:00
Timo Kösters 1f28434988
feat: hacky transactions 2020-09-12 22:42:05 +02:00
Timo Kösters e6b1f54857
Merge remote-tracking branch 'origin/master' into federation 2020-09-12 22:23:54 +02:00
Timo Kösters 12a8c9badd
fix: join rooms over federation 2020-09-12 21:30:07 +02:00
Timo Kösters 1e8fbd8d50
Update ruma version 2020-09-08 17:32:03 +02:00
Timo Kösters 698e44a732
Fix /upgrade account data problems 2020-09-01 13:08:49 +02:00
Timo Kösters 515465f900
fix: make element not show "unknown user" warning
The 404 error for /profile in the spec says "There is no profile
information for this user or this user does not exist.", but Element
assumes every 404 is a user that does not exist.
2020-08-31 13:23:39 +02:00
Faelar df55e8ed0b
Add room upgrade. 2020-08-31 12:01:41 +02:00
Devin Ragotzy 2a63d0955a Sort and authenticate the events from /send_join response 2020-08-30 16:08:47 -04:00
Devin Ragotzy 3b40f3d60e Update state-res crate 2020-08-27 20:11:53 -04:00
Devin Ragotzy f46c2d1eec Fix review issues, move state-res to spec-comp branch 2020-08-27 20:11:53 -04:00
Timo Kösters 3f4cb753ee
improvement: add remaining key backup endpoints 2020-08-27 14:52:20 +02:00
Timo 4954df3cc3
feat: handle txn ids 2020-08-25 21:33:44 +02:00
Devin Ragotzy d9a29e3e5c Fix state for empty key route
Replace None with Some("") for state_key
2020-08-25 15:30:25 -04:00
Timo 33215d6099
fix: send notification count updates when private read receipts change 2020-08-24 10:46:20 +02:00
Devin Ragotzy 27ffe77823 Use helper instead of route for get_public_rooms_filtered 2020-08-23 16:45:01 -04:00
Devin Ragotzy 1848f08292 Use full sorting algorithm on incoming PDU's in membership 2020-08-23 16:43:48 -04:00
Timo 3c26166fb5 improvement: device list works better
The only situation that isn't working yet is sending `left` events for
users when the sender leaves the room
2020-08-23 16:43:48 -04:00
Timo 972babbc79 fix: set limited to true when skipping messages in /sync 2020-08-23 16:43:21 -04:00
Devin Ragotzy 672bf4f473 Cargo lock update and a few doc additions 2020-08-23 16:43:21 -04:00
Devin Ragotzy fe795d38ea Replace route calling routes with helpers
This fixes the panic from ruma "index out of bounds"
2020-08-23 16:43:21 -04:00
Devin Ragotzy 5ccdd3694b Add helper function for get_alias route 2020-08-23 16:43:21 -04:00
Devin Ragotzy ea20032404 Helper for join_room_by_id route so routes aren't calling routes 2020-08-23 16:43:21 -04:00
Devin Ragotzy 64fb0374b6 Use Vec<u8> instead of string for digest bytes and add roomid_statehash 2020-08-23 16:43:21 -04:00
Devin Ragotzy d73c6aa8ad Add roomid_statehash tree, clean up review issues 2020-08-23 16:43:21 -04:00
Devin Ragotzy 846a0098c1 Split append_pdu -> append_pdu and build_and_append
Move all state event appending to append_state_pdu.
2020-08-23 16:43:21 -04:00
Devin Ragotzy cb68bf9e0c Use ring crate to generate StatHashes when saving stateid/statehash 2020-08-23 16:43:21 -04:00
Devin Ragotzy c4f5a0a631 Keep track of State at event for state resolution
feat: first steps towards joining rooms over federation
Add state-res as a dependency of conduit
Add reverse_topological_power_sort before append_pdu
Implement statehashstatid_pduid tree for keeping track of state
Clean up implementation of state_hash as key for tracking state
2020-08-23 16:43:21 -04:00
Timo 38663228f5
fix: put reason of redaction in the redacted event 2020-08-23 16:47:27 +02:00
Timo 7ba9263cc6
improvement: show most recent PDUs first when searching 2020-08-23 16:14:11 +02:00
Timo 366554630a
fix: account registration 2020-08-23 16:14:11 +02:00
Timo 804d097a18
fix: wake up /sync for typing events 2020-08-23 16:14:10 +02:00
Timo c092f06068
docs: /sync 2020-08-23 16:14:10 +02:00
Timo df936e8e7e
improvement: guests are more spec-conform 2020-08-23 16:14:10 +02:00
Timo 64789537f5
fix: device list when leaving rooms 2020-08-23 16:14:09 +02:00
Timo 4323cf5fec
improvement: device list works better
The only situation that isn't working yet is sending `left` events for
users when the sender leaves the room
2020-08-23 16:14:09 +02:00
Timo f23fb32e95
fix: set limited to true when skipping messages in /sync 2020-08-23 16:14:09 +02:00
timokoesters e457e19088
feat: search pdus 2020-08-23 16:14:08 +02:00
Timo 27d35f5ab4
docs: fix /register method 2020-08-23 16:14:08 +02:00
Timo 3ff17f69ad
fmt 2020-08-23 16:14:07 +02:00
Timo 4be68eba76
feat: allow querying conduit's room list over federation 2020-08-23 16:14:07 +02:00
Timo 940f533d61
refactor: avoid some allocations when redacting 2020-08-23 16:14:06 +02:00
Timo 04eee089e0
feat: first steps towards joining rooms over federation 2020-08-23 16:14:06 +02:00
timokoesters f40f1d9f75
docs: endpoint documentation 2020-08-23 16:14:06 +02:00
Jonas Platte 75ea0b3163
Update ruma 2020-08-12 23:42:17 +02:00
Devin Ragotzy da1c53aaef Make State struct constructable by lib user 2020-08-03 20:56:14 -04:00
Guillem Nieto b575593647 Do not ignore db errors 2020-08-02 09:38:20 +02:00
Guillem Nieto 47abe6686e Send invites only if invited during the sync request
Fixes: https://git.koesters.xyz/timo/conduit/issues/175
2020-08-02 09:24:47 +02:00
timokoesters 98f37302a6
feat: handle /publicRooms pagination 2020-07-30 22:51:02 +02:00
timokoesters 0616acbde6
feat: handle inhibit_login in /register 2020-07-30 20:52:37 +02:00
timokoesters c1c62b7eb4
refactor: put endpoints into modules 2020-07-30 18:34:03 +02:00
Devin Ragotzy 7a70d8488f Rebase with master and update append_pdu call 2020-07-30 09:22:51 -04:00
Devin Ragotzy c8d7d80eb2 Fix start/end token swap left from dropped commits 2020-07-30 09:22:51 -04:00
Devin Ragotzy 99220565d4 Fix invite leave auth error by moving update_membership 2020-07-30 09:22:51 -04:00
Devin Ragotzy 25c0e75f29 Cargo fmt 2020-07-30 09:22:51 -04:00
Devin Ragotzy 8aac332b3a Move ignore invite logic into update_member 2020-07-30 09:22:51 -04:00
Devin Ragotzy f2fab27d81 Implement filtering invites if sender is ignored by receiver 2020-07-30 09:22:51 -04:00
timokoesters 52b1df6fd2
improvement: handle limit and set limited in /user_directory/search 2020-07-30 15:17:34 +02:00
timokoesters ce460ea159
fix: send device list updates when user is in no rooms 2020-07-30 14:09:05 +02:00
timokoesters b67372b11b
refactor: make all mods in database pub
Now they can easily export their own structs
2020-07-29 21:48:31 +02:00
Devin Ragotzy d948f896c0
Turn append_pdu args into struct PduBuilder 2020-07-29 21:47:09 +02:00
Devin Ragotzy 1c6f211933
Create media::FileMeta to represent a file and meta data 2020-07-29 21:33:48 +02:00
Devin Ragotzy 2da48b941d
Convert all map_err -> expect when deserializing to Raw 2020-07-29 21:33:47 +02:00
Devin Ragotzy 62df9ca580
Fix all clippy warnings, shorten line len in client_server 2020-07-29 21:32:35 +02:00
timokoesters e0d0fb4703
fix: only send device_one_time_keys_count when there are updates 2020-07-29 20:44:06 +02:00
timokoesters 66bc25fcd3
feat: implement /keys/changes 2020-07-29 18:05:16 +02:00
timokoesters 0693387769
improvement: more efficient /sync and only send device updates when sharing a room 2020-07-29 17:03:04 +02:00
timokoesters d891bbb5dc
improve: presence 2020-07-29 13:05:38 +02:00
timokoesters 05f9d927b8
fix: account data 2020-07-29 13:05:37 +02:00
timokoesters 21eb8d4fe3
fix: problems with pdu serialization 2020-07-29 12:59:40 +02:00
timokoesters dd3dab39ae
feat: whoami route 2020-07-29 12:59:40 +02:00
timokoesters 489cbc0a93
refactor: use <_> instead of <_parameter_name> 2020-07-29 12:59:36 +02:00
gnieto cc411c530b Fix custom account data serialization (#165)
Stylistic change

Fix custom data serialization

Build a custom event before storing global account data

Co-authored-by: Guillem Nieto <gnieto.talo@gmail.com>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/165
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-29 07:48:34 +02:00
Devin Ragotzy e6a1b0b66f
Add cfg_attr gate to server_server endpoints 2020-07-27 18:54:43 +02:00
Devin Ragotzy 42e0102a2a
Conditionally emit rocket::http_verb attr macros if lib/bin 2020-07-27 18:54:43 +02:00
CapsizeGlimmer 4d4969862a
Implement /rooms/<room_id>/joined_members 2020-07-27 18:21:06 +02:00
CapsizeGlimmer 8fcf8e20b8
fix MR 153 requests; cargo fmt 2020-07-27 17:50:21 +02:00
CapsizeGlimmer fa2da9e048
Implement max_request_size config option 2020-07-27 17:49:11 +02:00
timokoesters 808a7deae3
cargo fmt 2020-07-26 22:45:10 +02:00
timokoesters dc5fb7e33a
feat: encryption_disabled config option
Can be used with ROCKET_ENCRYPTION_DISABLED=true
2020-07-26 22:41:29 +02:00
gnieto 5a8705bd25 Add room tags (#140)
Merge branch 'master' into task/add-tags

Add room tagging support

Co-authored-by: Timo Kösters <timo@koesters.xyz>
Co-authored-by: Guillem Nieto <gnieto.talo@gmail.com>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/140
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-26 22:33:20 +02:00
timokoesters b7df8fe83c
fix: stop /messages at `to`
Fixes #150
2020-07-26 22:21:05 +02:00
Jonas Platte 09561ccea3
Upgrade ruma 2020-07-26 16:52:43 +02:00
timokoesters 16576d19cd
improvement: only remove to-device events when sure the client received them
To make this work, I had to remove the recommended limit of 100
to-device events per /sync
(https://matrix.org/docs/spec/client_server/latest#id72)
2020-07-26 13:59:19 +02:00
Devin Ragotzy 87fd432527 Refactor account_data to be more similar to other endpoints 2020-07-25 15:48:12 -04:00