Commit graph

146 commits

Author SHA1 Message Date
Devin R
75959cdc10 Resolve stying review issues 2020-07-18 08:21:25 -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
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
84dcb885a7 Return correct Errors and replace panic, fix misc review issues
Remove EventJson todo comments, clean up Cargo.toml commented ruma deps.
2020-07-17 16:03:36 -04:00
Devin R
24b6702047 Add to_*_event_stub methods to pdu, filter for correct event kind
When creating some responses (sync) an AnyRoomEventStub is needed for this
PduEvent will deserialize the JSON as a Stub event and a non stub event
when needed. Ephemeral and account events are checked to be the correct
type and filtered out if not. This requires an extra `deserialize` call
which could/should be removed.

TODO: Possibly get rid of EventJson in some places.
2020-07-17 16:03:33 -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
the0
469071e105 feat: implement /event (#144)
Merge branch 'master' into event-route

Event: Implement /event

Co-authored-by: the0 <theo@localhost>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/144
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-11 14:08:37 +02:00
CapsizeGlimmer
76aa44ead3 Add logout/all route to main 2020-07-05 15:35:03 -04:00
CapsizeGlimmer
7c2144c6d7 Implement /logout/all 2020-07-05 15:35:03 -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
24c544f650
fix: DMs show up as rooms 2020-06-26 15:16:15 +02:00
Guillem Nieto
8f06d0258a
Remove is_direct flag from Join event
When I was investigating the DM issue, I found that join event contained
the `is_direct` flag. According to the spec, this flag should only be
set on "invite" events, but not on join.

Other homeservers do not have this flag on join.
2020-06-26 15:16:15 +02:00
timokoesters
a49a572d76
feat: cross-signing 2020-06-26 15:16:15 +02:00
timokoesters
7031240af3
improvement: /members route 2020-06-16 23:25:15 +02:00
timokoesters
02fe030b2a
improvement: better default push rules 2020-06-16 23:25:14 +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
PublicByte
fa7612f069 refactor: remove unused imports 2020-06-11 21:06:43 +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
f2a5d46628
fix 2020-06-08 15:17:58 +02:00
timokoesters
176bd114a0
fix: use correct device in GET /devices 2020-06-08 14:23:42 +02:00
timokoesters
bfe5b89ba4
style: cargo fmt 2020-06-08 11:45:22 +02:00
timokoesters
588049678b
refactor: replace DeviceId with str or String 2020-06-08 11:40:19 +02:00
timokoesters
b4d65ab67d
improvement: optimize /sync response 2020-06-08 11:39:32 +02:00
timokoesters
0067f49d52
feat: close registration with ROCKET_REGISTRATION_DISABLED=true 2020-06-08 11:39:32 +02:00
timokoesters
c85d363d71
feat: user interactive authentication 2020-06-08 11:39:30 +02:00
Timo Kösters
88d091fca1 Merge pull request 'Allow client to load history on newly joined rooms' (#111) from gnieto/conduit:fix/issue-39-history-load into master
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-06-07 11:21:53 +02:00
Guillem Nieto
cc383ac932 Cargo fmt 2020-06-06 19:48:01 +02:00
Guillem Nieto
9269f009db Allow client to load history on newly joined rooms
On /sync, check if a room is a new join between `since` parameter and
now. If it's a newly joined room, set the limited flag to true, which will force
the client to load room messages via the `/messages` endpoint.

On `master`, I could not reproduce the messages not showing to others
when joining after being invited.

Fixes #39
2020-06-06 19:29:03 +02:00
timokoesters
8eedc12567
fix: edus will not be removed after timeout 2020-06-06 15:23:37 +02:00
Jonas Platte
7526fd8602
Switch to the ruma meta-crate 2020-06-05 18:42:45 +02:00
timokoesters
d404f902bf
fix: send presence too often 2020-06-04 22:36:48 +02:00
timokoesters
32da76b9a2
feat: heroes, don't send notifications every time 2020-06-04 19:05:11 +02:00
timokoesters
b7f7a39973
feat: kick,ban,unban user route 2020-06-04 16:51:36 +02:00
timokoesters
a8df1acdfd
feat: load replies, forward pagination 2020-06-04 13:58:55 +02:00
timokoesters
168f2281fd
improvement: bundle typing events and only send on changes
Fixes #67 and #49
2020-06-04 11:17:36 +02:00
timokoesters
8328eeb5ac
Make sytest not fail 2020-06-04 09:53:26 +02:00
timokoesters
1c85b0fd05
remove tests in favor of sytests 2020-06-04 09:48:33 +02:00
timokoesters
b192fddf2f
fix: show device display names 2020-06-04 09:48:32 +02:00
timokoesters
325e373684
refactor: small changes 2020-06-03 22:30:51 +02:00
timokoesters
19c9e4b916
fix: room version 6 2020-06-03 22:30:50 +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
Jean-Baptiste Petit
1222289c75 get_state_events_for_key_route return the content of the requested event instead of the all event. 2020-06-03 09:30:34 +02:00
timokoesters
5a47c75427
fix: make redactions permanent 2020-06-01 20:58:49 +02:00