Commit Graph

51 Commits (ac0027756ec37e7b08b7463fc902f8ca6810eafc)

Author SHA1 Message Date
Jonas Platte f3e630c064
Fix lots of clippy lints 2021-06-17 20:34:14 +02: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
Timo Kösters 88cf043f94
fix: deactivate accounts that should be deactivated 2021-05-30 21:56:36 +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
Timo Kösters 71ed1b295a
feat: /devices route 2021-04-21 10:51:56 +02:00
Jonas Platte dbe8c2ce19
Remove lots of redundant string allocations 2021-04-06 17:38:54 +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 105f893cf3
chore: bump other dependencies to make it work 2021-03-04 12:29:08 +01:00
Timo Kösters 4155a47db1
feat: opentelemetry/jaeger support 2021-03-02 15:08:54 +01:00
Timo Kösters 3588dcd6d0 Merge branch 'deviceid-login' into 'master'
Handle optional device_id field during login

See merge request famedly/conduit!16
2021-02-07 12:28:05 +00:00
Devon Hudson 890187e004
improvement: Handle optional device_id field during login
remove debug logging
2021-01-16 22:19:48 -07:00
Devin Ragotzy 164b1633d8
Update ruma to latest, renamed server keys and removed PduStub 2020-12-05 17:44:54 +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 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 1e8fbd8d50
Update ruma version 2020-09-08 17:32:03 +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
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
timokoesters ce460ea159
fix: send device list updates when user is in no rooms 2020-07-30 14:09:05 +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
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 60381ddcf4 Update to latest ruma/master rev 2020-07-25 14:25:24 -04:00
Devin R 029c60be78 Replace to_string into_boxed_str with into 2020-07-17 19:52:04 -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 7c38e53839 Move to depend on ruma monorepo and ruma-events0.22 2020-07-17 16:03:02 -04:00
the0 b81939841b feat: account deactivation (#137)
Deactivation: swap unwrap_or(false) to .ok()?

feat: implement deactivate account route

Implement error code on login to deactivated account

Deactivation: Changes requested

Add missing .clone()

Deactivation: Requested changes

Remove unneeded .filter()

Deactivation: badly named signature leads to confusion

Co-authored-by: the0 <theo@localhost>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/137
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-05 07:48:19 +02:00
the0 67a1f21f5d feat: implement password changing (#138)
Password: Fixes

Password: Implement logging out all devices except current

Password: Implement password changing

Co-authored-by: the0 <theo@localhost>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/138
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-02 20:38:25 +02:00
timokoesters 54ad1fbed9
fix: CI 2020-06-26 16:26:29 +02:00
timokoesters a49a572d76
feat: cross-signing 2020-06-26 15:16:15 +02:00
timokoesters 56d4742201
improvement: log bad database errors automatically 2020-06-11 14:58:44 +02:00
timokoesters 2368a90584
refactor: better error handling 2020-06-11 13:14:35 +02:00
timokoesters 588049678b
refactor: replace DeviceId with str or String 2020-06-08 11:40:19 +02:00
Jonas Platte 7526fd8602
Switch to the ruma meta-crate 2020-06-05 18:42:45 +02:00
timokoesters b192fddf2f
fix: show device display names 2020-06-04 09:48:32 +02:00
gnieto 0883c44659
Implement devices API (#20)
small improvements

Cargo fmt

Simplify insert and update methods

Review feedback

Remove has_device method calls

Load all devices with a single db call

Remove device as in logout

Put all metadata on the same tree

Create userdevice key fucntion

Implement devices API

Implement all the devices endpoints. There's a couple of pending tasks:

- Integrate the "logout" logic once it lands to master (this should
  remove the given device from the database).
- Track and store last seen timestamp and IP.

Co-authored-by: timokoesters <timo@koesters.xyz>
Co-authored-by: Guillem Nieto <gnieto.talo@gmail.com>
2020-06-03 14:09:50 +02:00
gnieto ed9b544ace Implement devices API (#20)
small improvements

Cargo fmt

Simplify insert and update methods

Review feedback

Remove has_device method calls

Load all devices with a single db call

Remove device as in logout

Put all metadata on the same tree

Create userdevice key fucntion

Implement devices API

Implement all the devices endpoints. There's a couple of pending tasks:

- Integrate the "logout" logic once it lands to master (this should
  remove the given device from the database).
- Track and store last seen timestamp and IP.

Co-authored-by: timokoesters <timo@koesters.xyz>
Co-authored-by: Guillem Nieto <gnieto.talo@gmail.com>
2020-06-03 13:41:30 +02:00
timokoesters 4e507ef706
feat: room visibility and aliases 2020-05-31 09:46:11 +02:00
josias b106d1393b Add logout route and database methods (#21)
Condense keys

Move remove methods to remove_device

Code cleanup

Add method for removing todevice events

Remove unnecessary existence checks

Add logout route and database methods

Co-authored-by: Josias <justjosias@tutanota.com>
2020-05-24 22:10:09 +02:00
timokoesters 1014388a9c
fix: one time keys are never removed 2020-05-23 19:17:55 +02:00
timokoesters 42ae433b25
fix: send devicekeyupdate users in /sync 2020-05-18 12:46:06 +02:00
timokoesters 7fc71b3968
feat: end to end encryption 2020-05-17 19:56:40 +02:00
timokoesters 1dbde0e1c1
improvement: add option to get device id from token 2020-05-10 18:30:12 +02:00
timokoesters 551308e9a8
Update dependencies and send displayname updates again 2020-05-08 21:13:52 +02:00