Commit Graph

112 Commits (9269f009dbfcd167efb237df4d7dc3d9c8fd090e)

Author SHA1 Message Date
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
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
timokoesters b519bc6962
fix: only show notifications for messages 2020-06-01 20:16:18 +02:00
timokoesters 4e507ef706
feat: room visibility and aliases 2020-05-31 09:46:11 +02:00
timokoesters 9c26e22ad7
improvement: load aliases from database 2020-05-31 08:01:11 +02:00
timokoesters 18bf67748c
feat: redaction 2020-05-31 08:01:10 +02:00
timokoesters ca77c79222
fix: /register lowercases user ids
fixes #24
2020-05-27 07:09:23 +02:00
Guillem Nieto 4b3b562347 Get device_id from body instead of auth data
Device_id was retrieved from the auth data instead of login's body and
this was causing that a new device was created on every login.

This is (I guess) provoking that some sytests are failing (for example,
"POST /login returns the same device_id as that in the request").
2020-05-26 21:06:54 +02:00
timokoesters 58683585cc
improvement: show more info in public rooms list 2020-05-25 20:16:36 +02:00
timokoesters b6c0e9bfb2
feat: access control 2020-05-25 16:40:00 +02:00
timokoesters c8ba9dce01
feat: proper room creation 2020-05-25 16:39:58 +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 d95e8b4880
fix: problem with to-device for all devices 2020-05-21 13:52:54 +02:00
timokoesters 43478a5870
fix: send correct membership events when joining / creating rooms 2020-05-20 09:24:44 +02:00
timokoesters 8df2a1a072
improvement: add room topic to public room dir 2020-05-20 00:12:07 +02:00
timokoesters e0fccffde0
fix: changing avatar url now sends room events 2020-05-19 23:52:02 +02:00
timokoesters ada260bf42
fix: use png for thumbnails 2020-05-19 23:51:37 +02:00
timokoesters eb4af85765
fix: riot sometimes freaks out when refreshing 2020-05-19 22:56:28 +02:00
timokoesters d544d28b6e
feat: image thumbnails 2020-05-19 19:59:52 +02:00
timokoesters 61f4f2c716
improvement: implement GET publicRooms 2020-05-19 16:28:03 +02:00
timokoesters 821c608c6a
feat: media 2020-05-18 22:50:42 +02:00
timokoesters 42ae433b25
fix: send devicekeyupdate users in /sync 2020-05-18 12:46:06 +02:00
timokoesters f0aed35ecf
improvement: user dir search also searches in displaynames 2020-05-18 10:29:45 +02:00
timokoesters 56dd6cb16f
improvement: get state 2020-05-18 09:22:58 +02:00
timokoesters 6215218c3c
fix: account data json 2020-05-17 22:05:43 +02:00
timokoesters 7fc71b3968
feat: end to end encryption 2020-05-17 19:56:40 +02:00
timokoesters 4fb79ebb4c
chore: update dependencies 2020-05-14 13:56:29 +02:00
timokoesters d08f91d1c3
fix: only allow valid usernames in /register 2020-05-13 12:25:15 +02:00
Rudi Floren 00a9424719
feat: sytests 2020-05-11 14:44:23 +02:00
timokoesters 8e041f90dd
refactor: make cargo clippy happier 2020-05-11 12:34:48 +02:00
timokoesters 1dbde0e1c1
improvement: add option to get device id from token 2020-05-10 18:30:12 +02:00
timokoesters ee0d6940bd
feat: presence updates 2020-05-09 21:47:09 +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 4b191a9311
improvement: set default push rules on register 2020-05-02 09:24:09 +02:00