Commit graph

271 commits

Author SHA1 Message Date
Timo Kösters
c209775abd
fix: pdu without state bug 2021-07-29 12:33:44 +02:00
Timo Kösters
5e924227b6
feat: add threadpool for iterator threads, bug fixes, tracing_flame support 2021-07-29 08:49:28 +02:00
Timo Kösters
f0ac7ed933
chore: update ruma again 2021-07-20 15:25:17 +02:00
Timo Kösters
0f8ecdc625
fix: state res fixes 2021-07-20 15:25:17 +02:00
Timo Kösters
cfaa900e83
improvement: auth chain cache 2021-07-20 15:25:16 +02:00
Timo Kösters
f5273f7eb1
improvement: upgrade ruma and implement blurhashes 2021-07-20 15:25:16 +02:00
Timo Kösters
0fcefa4125
fix: ruma 2021-07-20 15:25:16 +02:00
Jonathan de Jong
15471d9ac4 update rocket and lock 2021-07-14 11:28:24 +02:00
Jonathan de Jong
9d4fa9a220 Sqlite 2021-07-14 07:07:08 +00:00
Timo Kösters
13c0beafa6 Merge branch 'lib-fix' into 'master'
Export conduits Config struct and fix clippy warnings

See merge request famedly/conduit!99
2021-07-11 11:42:07 +00:00
Timo Kösters
5711467ad9 Merge branch 'state-res-closure' into 'master'
Remove auth_cache using a closure to fetch events in state-res

See merge request famedly/conduit!108
2021-07-02 10:56:21 +00:00
Devin Ragotzy
c30cc50a0b Switch ruma to a commit from next 2021-07-02 06:40:40 -04:00
Aiden McClelland
b2d5516058 add support for arbitrary proxies 2021-07-01 12:41:12 -06:00
Devin Ragotzy
98f1480e2b
Remove auth_cache using a closure to fetch events in state-res 2021-06-30 12:54:19 +02:00
Timo Kösters
05821d6fd5
improvement: pdu cache, /sync cache 2021-06-30 10:31:34 +02:00
Devin Ragotzy
09a8737f24 Export conduits Config struct and fix clipp warningsy 2021-06-29 16:02:12 -04:00
Jonas Platte
f6046871f4
Upgrade Ruma 2021-06-17 20:12:36 +02:00
Timo Kösters
d0ee823254
feat: swappable database backend 2021-06-09 22:21:52 +02:00
Damian Poddebniak
bb7a4220d3 Fix ruma dependency 2021-06-04 20:18:03 +02:00
Timo Kösters
5b5cc0574e
feat: implement /claim, handle to-device events 2021-05-28 13:46:15 +02:00
Timo Kösters
daa1fc90a7
fix: state resolution bugs 2021-05-27 10:48:17 +02:00
Timo Kösters
09157b2096
improvement: federation get_keys and optimize signingkey storage
- get encryption keys over federation
- optimize signing key storage
- rate limit parsing of bad events
- rate limit signature fetching
- dependency bumps
2021-05-21 13:25:24 +02:00
Jonas Platte
a0457000ff
Upgrade Ruma 2021-05-08 01:54:28 +02:00
Jonas Platte
c28eba1e5b
Bump ruma 2021-04-29 21:05:29 +02:00
Jonas Platte
5be5c9e9f0
Bump ruma 2021-04-26 19:02:32 +02:00
Timo Kösters
2fc1ec2ad5
fix: logging 2021-04-24 13:34:35 +02:00
Jonas Platte
d8b484beed
Upgrade ruma 2021-04-24 12:22:36 +02:00
Timo Kösters
23f81bfaf7
chore: update dependencies 2021-04-24 12:18:19 +02:00
Timo Kösters
6e84d317b2
improvement: update ruma 2021-04-24 12:17:44 +02:00
Gabriel Souza Franco
0b56589dce feat: add handling of tls cert for delegated hosts 2021-04-15 22:07:27 -03:00
Timo Kösters
04b08d4505
chore: bump stateres 2021-04-14 17:46:17 +02:00
Timo Kösters
5951294638
feat: join cursed rooms
this removes several restrictions and tries to continue verifying a pdu
event if some auth events fail (it drops/ignores bad pdus)
2021-04-14 09:39:06 +02:00
Timo Kösters
8b40e0a85f
improvement: fetch signing keys in parallel when joining a room 2021-04-13 22:54:01 +02:00
Timo Kösters
b4f79b77ba
feat: reject invites over federation 2021-04-13 17:41:14 +02:00
Timo Kösters
8773e5013d
feat: incoming invites over federation 2021-04-11 21:04:31 +02:00
Timo Kösters
044e65afcc
fix: move back to sled stable 2021-04-11 10:12:05 +02:00
Timo Kösters
84f4ce73e5
fix: membership deserializing 2021-04-09 21:45:22 +02:00
Timo Kösters
51aa6448bc
fix: use sled main to avoid deadlock 2021-04-07 17:58:33 +02:00
Jonas Platte
fe744c856f
Upgrade ruma
… and refactor push rule code along the way.
2021-04-06 17:38:53 +02: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
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
d4c76f4654
chore: update ruma 2021-03-18 19:38:08 +01:00
Timo Kösters
5cb15551f3
improvement: use db compression 2021-03-18 13:13:08 +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
Timo Kösters
105f893cf3
chore: bump other dependencies to make it work 2021-03-04 12:29:08 +01:00
Rudi Floren
f4039902d8 Bump Rocket to current HEAD 2021-03-03 22:42:10 +01:00
Timo Kösters
4155a47db1
feat: opentelemetry/jaeger support 2021-03-02 15:08:54 +01:00
Devin Ragotzy
0dd8a15c49 Fix leaves not being replaced by correct eventId in membership
Update ruma
2021-02-27 16:09:22 -05:00
Devin Ragotzy
0cc6448dbe Temp disable rust_2018_idioms for CI 2021-02-23 17:21:01 -05:00
Devin Ragotzy
8f283510aa Fix unused import clippy warning 2021-02-23 17:21:01 -05:00
Devin Ragotzy
6fd3e1d1dd Append state event that pass resolution to DB, update to tokio 1.1 2021-02-23 17:21:01 -05:00
Devin Ragotzy
66af1ff695 Update ruma and rocket to latest git rev and tokio to 1.0
Ruma updated the event signing validation code and there was a dep
resolving failure with serde rocket and tokio so I updated rocket latest and
tokio 1.0 to fix.
2021-02-23 17:20:52 -05:00
Devin Ragotzy
168ae8dca0 Fill event_map with all events that will be needed for resolution 2021-02-09 15:21:51 -05:00
Devin Ragotzy
8de0d9f9ce Remove StateStore trait from state-res collect events needed 2021-02-09 15:21:41 -05:00
Devin Ragotzy
cdeb1236a2 Fix clippy warnings remove unused imports 2021-02-09 15:21:14 -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
Devin Ragotzy
4a92a29b56 State resolution outline for /send 2021-02-09 15:18:47 -05:00
Timo Kösters
d49911c5e0
Add 'm.login.token' authentication 2021-02-07 17:38:45 +01:00
Devin Ragotzy
73124629b7 Add general rules matching for pusher, calc unread msgs 2021-01-29 21:48:35 -05:00
Devin Ragotzy
cd0c5c0566 Append state event that pass resolution to DB, update to tokio 1.1 2021-01-29 11:20:33 -05:00
Devin Ragotzy
a897608025 Roll back tokio and rocket update since ruma's request is at 0.2 tokio 2021-01-18 19:59:08 -05:00
Devin Ragotzy
00436a32b0 Update ruma and rocket to latest git rev and tokio to 1.0
Ruma updated the event signing validation code and there was a dep
resolving failure with serde rocket and tokio so I updated rocket latest and
tokio 1.0 to fix.
2021-01-18 19:36:44 -05:00
Devin Ragotzy
88f3ee489b
Fill event_map with all events that will be needed for resolution 2021-01-14 14:31:47 +01:00
Devin Ragotzy
8a035880f0
Remove StateStore trait from state-res collect events needed 2021-01-14 14:30:24 +01:00
Devin Ragotzy
7c4d74bf9b
Fix clippy warnings remove unused imports 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
Devin Ragotzy
690c066064
State resolution outline for /send 2021-01-14 14:28:32 +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
6e5b35ea92
feat: implement appservices
this also reverts some stateres changes
2020-12-08 12:59:20 +01:00
Timo Kösters
45086b54b3
improvement: upgrade dependencies, fix timeline reload bug 2020-12-05 21:04:34 +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
27e686f9ff
Convert uses of serde_json::Value to CanonicalJsonObject 2020-12-05 17:37:12 +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
151ef07fb3
docs: cross compile 2020-10-18 09:04:11 +02:00
Timo Kösters
9d1387954f
Update dependencies, remove dbgs 2020-10-16 14:04:29 +02:00
Timo Kösters
4964e21342
Merge remote-tracking branch 'origin/master' into federation 2020-10-07 12:02:36 +02:00
Timo Kösters
bcd1fe1856
feat: admin room 2020-10-07 11:51:49 +02:00
Timo Kösters
0d6159c2da
improvement: get_missing_events route and cleanup 2020-10-01 20:49:15 +02:00
Timo Kösters
ab332363ce
fix: don't send new requests to servers if we are already waiting 2020-10-01 20:49:14 +02:00
Timo Kösters
e08dfd982b
improvement: look at SRV record when sending requests 2020-09-23 12:04:02 +02:00
Timo Kösters
19207845bc
Fix ruma dependency 2020-09-20 13:49:13 +02:00
Timo Kösters
ea3aaa6b5c
improvement: more efficient /sync with gaps 2020-09-18 10:29:43 +02:00
Timo Kösters
b7ab57897b
fix: sending slowness 2020-09-15 16:14:59 +02:00
Timo Kösters
f7816b11de
feat: send messages over federation 2020-09-15 08:17:06 +02:00
Timo
d1099e9224
Update dependencies 2020-09-14 14:36:49 +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
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
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
Devin Ragotzy
672bf4f473 Cargo lock update and a few doc additions 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
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
69a7cb5142
fix dependency version 2020-08-23 16:14:07 +02:00
Timo
04eee089e0
feat: first steps towards joining rooms over federation 2020-08-23 16:14:06 +02:00
Jonas Platte
75ea0b3163
Update ruma 2020-08-12 23:42:17 +02:00
timokoesters
66bc25fcd3
feat: implement /keys/changes 2020-07-29 18:05:16 +02:00
timokoesters
21eb8d4fe3
fix: problems with pdu serialization 2020-07-29 12:59:40 +02:00
timokoesters
489cbc0a93
refactor: use <_> instead of <_parameter_name> 2020-07-29 12:59:36 +02:00
Devin Ragotzy
42e0102a2a
Conditionally emit rocket::http_verb attr macros if lib/bin 2020-07-27 18:54:43 +02:00
Jonas Platte
09561ccea3
Upgrade ruma 2020-07-26 16:52:43 +02:00
Devin Ragotzy
60381ddcf4 Update to latest ruma/master rev 2020-07-25 14:25:24 -04:00
Devin Ragotzy
61458536ab Merge branch 'master' of https://git.koesters.xyz/timo/conduit into ruma-mono 2020-07-25 13:46:28 -04:00
timokoesters
d8e1248df6
improvement: switch to stable rust 2020-07-22 22:42:01 +02:00
Devin R
33bc666859 Use sync ephemeral events in sync Resposne (remove room_id)
Bump ruma to latest master which also fixes some server name as String
to now being of type Box<ServerName>.
2020-07-21 14:04:39 -04:00
Devin R
59cbf202e4 Cargo.lock updated while rebasing 2020-07-17 16:05:53 -04:00
Devin R
d02685a4fd Update to latest ruma/ruma commit
This will most likely be the API that is released to crates.io so it
should be fairly stable...
2020-07-17 16:04:05 -04:00
Devin R
63e23154f3 Rebase with key backups and cross signing
Moved back to a fork of ruma with timo's key-backup and cross-signing
branch. Ephemeral events in sync responses are EphemeralRoomEventStub
(they also have no room_id like all of sync responses events)
2020-07-17 16:04:05 -04:00
Devin R
7c38e53839 Move to depend on ruma monorepo and ruma-events0.22 2020-07-17 16:03:02 -04:00
Timo Kösters
b9de21949d Update to rocket master (#147)
Merge branch 'master' into rocket

Update to rocket master

Co-authored-by: timokoesters <timo@koesters.xyz>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/147
2020-07-14 18:23:26 +02:00
timokoesters
b83fba5c44
chore: update dependencies 2020-06-26 18:04:08 +02:00
timokoesters
05f1f73e10
improvement: upgrade to sled 0.32
BREAKING CHANGE: old databases are not compatible anymore
2020-06-26 16:26:28 +02:00
timokoesters
a49a572d76
feat: cross-signing 2020-06-26 15:16:15 +02:00
timokoesters
db685e0cf7
fix: update rocket version 2020-06-16 13:53:15 +02:00
timokoesters
13d474f6ee
fix: update ruma version 2020-06-16 12:19:58 +02:00
timokoesters
b4d65ab67d
improvement: optimize /sync response 2020-06-08 11:39:32 +02:00
Jonas Platte
7526fd8602
Switch to the ruma meta-crate 2020-06-05 18:42:45 +02:00
timokoesters
08d19c3e0b
fix: broken dependencies 2020-06-05 09:04:51 +02:00
timokoesters
a8df1acdfd
feat: load replies, forward pagination 2020-06-04 13:58:55 +02:00
timokoesters
b192fddf2f
fix: show device display names 2020-06-04 09:48:32 +02:00
timokoesters
19c9e4b916
fix: room version 6 2020-06-03 22:30:50 +02:00
timokoesters
4e507ef706
feat: room visibility and aliases 2020-05-31 09:46:11 +02:00
timokoesters
18bf67748c
feat: redaction 2020-05-31 08:01:10 +02:00
timokoesters
1014388a9c
fix: one time keys are never removed 2020-05-23 19:17:55 +02:00
timokoesters
d95e8b4880
fix: problem with to-device for all devices 2020-05-21 13:52:54 +02:00
timokoesters
d544d28b6e
feat: image thumbnails 2020-05-19 19:59:52 +02:00
timokoesters
4fb79ebb4c
chore: update dependencies 2020-05-14 13:56:29 +02:00
Rudi Floren
00a9424719
feat: sytests 2020-05-11 14:44:23 +02:00
timokoesters
551308e9a8
Update dependencies and send displayname updates again 2020-05-08 21:13:52 +02:00
timokoesters
8f67c01efd
refactor: split database into multiple files, more error handling, cleaner code 2020-05-03 21:44:48 +02:00
timokoesters
4ca1ada73e
update ruma 2020-05-01 21:45:55 +02:00
timokoesters
b02c568941
feat: notifications, simple permission systems 2020-05-01 20:28:13 +02:00
timokoesters
fd1aea7e36
Update dependencies 2020-04-29 10:27:41 +02:00
timokoesters
120b6f4b95
Bump dependencies and fixes 2020-04-29 10:27:39 +02:00
timokoesters
1af6dd984a
More work on federation 2020-04-29 10:27:38 +02:00