Commit Graph

215 Commits (49dd3567c693df48cfb4ca5ae482b5607e684efa)

Author SHA1 Message Date
Jonathan de Jong e1b89c1248 apply lint suggestions and version bump 2021-07-14 12:31:38 +02:00
Jonathan de Jong 9d4fa9a220 Sqlite 2021-07-14 07:07:08 +00:00
Timo Kösters 05821d6fd5
improvement: pdu cache, /sync cache 2021-06-30 10:31:34 +02:00
Jonas Platte 808741bcb6
Remove unnecessary Option-wrapping and successive unwrapping 2021-06-17 20:44:29 +02:00
Jonas Platte b291e76572
Use try operator for Option more 2021-06-17 20:37:07 +02:00
Jonas Platte f3e630c064
Fix lots of clippy lints 2021-06-17 20:34:14 +02:00
Timo Kösters e8f6708927
improvement: show more users in our user directory 2021-06-12 18:40:33 +02:00
Timo Kösters cd4bc520d8
improvement: feature flags for sled, rocksdb 2021-06-12 15:13:04 +02:00
Timo Kösters d0ee823254
feat: swappable database backend 2021-06-09 22:21:52 +02:00
Timo Kösters e1e529d818
fix: don't apply push rules for users of other homeservers 2021-05-30 22:01:12 +02:00
Timo Kösters 5b5cc0574e
feat: implement /claim, handle to-device events 2021-05-28 13:46:15 +02:00
Timo Kösters 3e2f742f30
fix: room version warnings and other bugs when joining rooms 2021-05-21 22:22:05 +02:00
Timo Kösters 989d843c40
fix: unauthorized pdus will be responded to with FORBIDDEN 2021-05-21 18:12:02 +02:00
Timo Kösters 8f27e6123b
feat: send read receipts over federation
currently they will only be sent if a PDU has to be sent as well
2021-05-17 10:25:27 +02:00
Jonas Platte a0457000ff
Upgrade Ruma 2021-05-08 01:54:28 +02:00
Jonas Platte 2e1d7d12ca
Refactor usage of CanonicalJsonValue 2021-04-26 19:03:51 +02:00
Timo Kösters 58463bba93
feat: send invites over federation 2021-04-25 14:10:21 +02:00
Timo Kösters eedac4fd96
feat: make_join, send_join and /directory 2021-04-16 18:18:29 +02:00
Timo Kösters bc98425dfe
improvement: use invite state as hints to what servers to ask for joining 2021-04-14 14:46:40 +02:00
Timo Kösters 001d8dc257
fix: don't do expensive operation on local /send 2021-04-14 12:55:14 +02:00
Timo Kösters c1953efa6b
chore: code cleanup 2021-04-14 10:43:31 +02:00
Timo Kösters b4f79b77ba
feat: reject invites over federation 2021-04-13 17:41:14 +02:00
Timo Kösters 662a0cf1df
improvement: better and more efficient message count calculation 2021-04-12 12:40:16 +02:00
Timo Kösters a8231eef25
fix: alias parsing 2021-04-11 21:29:37 +02:00
Timo Kösters 8773e5013d
feat: incoming invites over federation 2021-04-11 21:04:31 +02:00
Timo Kösters 84f4ce73e5
fix: membership deserializing 2021-04-09 21:45:22 +02:00
Jonas Platte dc031fff95
Remove redundant calls to .iter() and .into_iter() 2021-04-06 17:38:54 +02:00
Jonas Platte dbe8c2ce19
Remove lots of redundant string allocations 2021-04-06 17:38:54 +02:00
Timo Kösters db7044a950
sytest test 2021-03-26 13:41:05 +01:00
Timo Kösters cd4dc13731
fix: use correct room versions 2021-03-26 13:30:17 +01:00
Timo Kösters c213769d9f
improvement: refactor state res and fix a few bugs in the process 2021-03-25 23:55:40 +01:00
Timo Kösters 16eed1d8c2
chore: get rid of warnings 2021-03-24 12:44:10 +01:00
Timo Kösters e50f2864de
improvement: save state for send_join pdu 2021-03-24 11:46:15 +01:00
Timo Kösters 46d8f36a2c
fix: media thumbnail calculation and appservice detection 2021-03-23 21:18:16 +01:00
Timo Kösters 3ea7d162db
fix: various improvements and fixes 2021-03-23 12:59:27 +01:00
Timo Kösters 363c629faf
fix: signature key fetching, optimize push sending 2021-03-22 14:04:41 +01:00
Timo Kösters f775c76d8a
chore: get rid of warnings 2021-03-18 18:33:43 +01:00
Timo Kösters a0fa0ee7a0
fix: join appservice room with alias 2021-03-18 12:03:44 +01:00
Timo Kösters a77fcd106e
feat: implement /state_ids and fix federation stuff 2021-03-18 00:11:13 +01:00
Timo Kösters 100307c936
improvement: optimize state storage 2021-03-17 22:31:28 +01:00
Timo Kösters 44425a903a
fix: multiple federation/pusher fixes 2021-03-16 18:00:46 +01:00
Timo Kösters 21f785d530
Merge branch 'correct-sendtxn' into pushers 2021-03-15 09:56:04 +01:00
Timo Kösters 6da40225bb
improvement: make state res actually work 2021-03-13 16:30:12 +01:00
Devin Ragotzy d0df8b495c Merge remote-tracking branch 'upstream/master' into correct-sendtxn 2021-03-04 08:39:16 -05:00
Rudi Floren 231c6032f4 Make clippy happy (needless-return, etc.) 2021-03-04 12:35:12 +00:00
Timo Kösters 4155a47db1
feat: opentelemetry/jaeger support 2021-03-02 15:08:54 +01:00
Devin Ragotzy c9f4ff5cf8 Ask multiple servers for keys when not known or sending server failed 2021-03-01 08:23:28 -05:00
Devin Ragotzy f3253f2033 Move comments about Rooms trees to doc comments 2021-02-28 18:53:17 -05:00
Devin Ragotzy 48601142f8 Use auth_cache to avoid db, save state for every event when joining 2021-02-23 17:21:01 -05:00
Devin Ragotzy 74d530ae0e Address review issues, fix forward extremity calc
Keep track of all prev_events since if we know that an event is a
prev_event it is referenced and does not qualify as a forward extremity.
2021-02-23 17:21:01 -05:00
Devin Ragotzy 591769d5f3 Fiter PDU's before main incoming PDU loop 2021-02-23 17:21:01 -05:00
Devin Ragotzy 64374b4679 Use eventId when saving outliers 2021-02-23 17:21:01 -05:00
Devin Ragotzy 6661de50ab Fix and integrate outlier tree, build forks after adding event to DB 2021-02-23 17:21:01 -05:00
Devin Ragotzy 88c60605b4 Add ability to update room leaves with multiple eventIds
Tokio seems a bit broken with Rocket...
2021-02-23 17:21:01 -05:00
Timo Kösters 835cf80acd
fix: pushers 2021-02-11 13:17:21 +01:00
Devin Ragotzy 7309b2fba9 WIP gather and update forward extremities 2021-02-09 15:25:30 -05:00
Devin Ragotzy 94da569119 Fixing the incoming events algorithm (review with time) 2021-02-09 15:25:22 -05:00
Devin Ragotzy 4b2eb5ab82 Fix ALL clippy warnings 2021-02-09 15:25:00 -05:00
Devin Ragotzy 4cf530c55b Abstract event validation/fetching, add outlier and signing key DB trees
Fixed the miss named commented out keys in conduit-example.toml.
2021-02-09 15:24:09 -05:00
Devin Ragotzy d0b8d0f5fd Fix signature/hash checks, fetch recursive auth events 2021-02-09 15:22:02 -05:00
Devin Ragotzy 8de0d9f9ce Remove StateStore trait from state-res collect events needed 2021-02-09 15:21:41 -05:00
Devin Ragotzy 63af3d3da0 Step 5 in /send just fetches state from incoming server 2021-02-09 15:20:07 -05:00
Devin Ragotzy 4b9976aa74 Update state-res, use the new Event trait
This also bumps ruma to latest and removes js_int infavor of the ruma
re-export
2021-02-09 15:19:47 -05:00
Timo Kösters 6924dfc8ea
improvement: better appservice compatibility and optimizations 2021-02-06 15:28:30 +01:00
Devin Ragotzy e4dc7ea8ac Prevent admin room from recursively spamming itself and user -> user 2021-01-30 11:52:48 -05:00
Devin Ragotzy 2d69e81699 WIP: send out push notification, impl pusher routes
It seems in order to test this I may also have to impl the email 3pid
route? I need to call the set_pusher route somehow.
2021-01-29 21:48:09 -05:00
Devin Ragotzy 56b816a2be Fix and integrate outlier tree, build forks after adding event to DB 2021-01-29 21:45:33 -05:00
Devin Ragotzy 3a6f264450 Add ability to update room leaves with multiple eventIds
Tokio seems a bit broken with Rocket...
2021-01-18 19:41:38 -05:00
Devin Ragotzy c65bde41e0 WIP gather and update forward extremities 2021-01-18 19:08:59 -05:00
Devin Ragotzy b1ae2bbeb2 Fixing the incoming events algorithm (review with time) 2021-01-16 16:37:20 -05:00
Devin Ragotzy 5a8041969d Fix ALL clippy warnings 2021-01-15 11:05:57 -05:00
Devin Ragotzy 851eb555b6 Abstract event validation/fetching, add outlier and signing key DB trees
Fixed the miss named commented out keys in conduit-example.toml.
2021-01-14 21:32:22 -05:00
Devin Ragotzy 27c4e9d9d5
Fix signature/hash checks, fetch recursive auth events 2021-01-14 14:36:24 +01:00
Devin Ragotzy 8a035880f0
Remove StateStore trait from state-res collect events needed 2021-01-14 14:30:24 +01:00
Devin Ragotzy 0ee239c9d7
Step 5 in /send just fetches state from incoming server 2021-01-14 14:30:23 +01:00
Devin Ragotzy 9e83d2b2d5
Update state-res, use the new Event trait
This also bumps ruma to latest and removes js_int infavor of the ruma
re-export
2021-01-14 14:30:19 +01:00
Timo Kösters b4818716b8
improvement: better deploy guide 2021-01-01 22:21:05 +01:00
Timo Kösters df16b2ba98
fix: rare state races 2020-12-31 14:52:08 +01:00
Timo Kösters 2cf6fd57b7
improvement: don't send pdus to appservices if it isn't interested
TODO: we need to send pdus if a user of the appservice is in the room
but not the appservice user itself
2020-12-23 19:41:54 +01:00
Timo Kösters f12fbca3c5
fix: send state in /sync, element displays wrong membership changes 2020-12-22 20:22:17 +01:00
Timo Kösters 6606e41dde
feat: improved state store 2020-12-20 13:34:11 +01:00
Timo Kösters 6e5b35ea92
feat: implement appservices
this also reverts some stateres changes
2020-12-08 12:59:20 +01:00
Devin Ragotzy 164b1633d8
Update ruma to latest, renamed server keys and removed PduStub 2020-12-05 17:44:54 +01:00
Devin Ragotzy b869aab5d0
Cleanup removing debug printing and logging, append non state events 2020-12-05 17:37:13 +01:00
Devin Ragotzy c173ce43a5
convert_to_outgoing_federation_event takes CanonicalJsonObj 2020-12-05 17:37:12 +01:00
Devin Ragotzy 27e686f9ff
Convert uses of serde_json::Value to CanonicalJsonObject 2020-12-05 17:37:12 +01:00
Devin Ragotzy b6d721374f
Have Media db return optional content_type, conversion fixes 2020-12-05 17:37:11 +01:00
Devin Ragotzy bb24f6ad90
Address some review issues fmt, errors, comments 2020-12-05 17:37:11 +01:00
Devin Ragotzy 234b226468
Fix review issues, Remove EventHash's in prev/auth_events in StateEvent
The latest state-res crate uses ruma's PduRoomV3 PDU's which don't have
tuples of (EventId, EventHashs) like previous versions did (this was
left from rebasing onto master). The Media DB
now takes an optional content_type like the updated ruma structs.
2020-12-05 17:37:10 +01:00
Devin Ragotzy acd144e934
Fix get_closest_parent and cleanup federation/send/:txn 2020-12-05 17:37:10 +01:00
Devin Ragotzy db8a0c5d69
Add closest_parent method to Rooms Db insert in order /send pdus 2020-12-05 17:37:07 +01:00
Devin Ragotzy 96dd3b2880
Update ruma to latest, fix unstable origin feature in ruma 2020-12-05 17:37:07 +01:00
Timo Kösters 9f8cffcd22
Admin room improvements 2020-11-09 12:21:57 +01:00
Timo Kösters 0762196963
fix: don't send new events from left rooms 2020-10-27 20:26:28 +01:00
Timo Kösters 2f5df4aac9
improvement: more reliable federation sending 2020-10-27 20:26:27 +01:00
Timo Kösters 12b0efac8b
fix: random timeline reloads 2020-10-18 09:03:40 +02:00
Timo Kösters 9109cb492f
fix: double join over federation 2020-10-17 11:24:57 +02:00
Timo Kösters bcd1fe1856
feat: admin room 2020-10-07 11:51:49 +02:00
Timo Kösters 267c721616
fix: encryption and sync spam 2020-09-18 10:29:44 +02:00
Timo Kösters 8bcfff2766
fix: no notification counts for fast /syncs 2020-09-18 10:29:43 +02:00