feat: implement /claim, handle to-device events

This commit is contained in:
Timo Kösters 2021-05-28 13:44:40 +02:00
parent 953f2b005f
commit 5b5cc0574e
No known key found for this signature in database
GPG key ID: 24DA7517711A2BA4
8 changed files with 409 additions and 64 deletions

View file

@ -94,7 +94,7 @@ impl Globals {
.map(|key| (version, key))
})
.and_then(|(version, key)| {
ruma::signatures::Ed25519KeyPair::new(&key, version)
ruma::signatures::Ed25519KeyPair::from_der(&key, version)
.map_err(|_| Error::bad_database("Private or public keys are invalid."))
});

View file

@ -1494,7 +1494,12 @@ impl Rooms {
Ok(self
.pduid_pdu
.range(first_pdu_id..last_pdu_id)
.filter_map(|r| r.ok())
.filter_map(|r| {
if r.is_err() {
error!("Bad pdu in pduid_pdu: {:?}", r);
}
r.ok()
})
.map(move |(pdu_id, v)| {
let mut pdu = serde_json::from_slice::<PduEvent>(&v)
.map_err(|_| Error::bad_database("PDU in db is invalid."))?;