Commit Graph

149 Commits (51245d34f172f9025699e8d9653be62625872a49)

Author SHA1 Message Date
Devin Ragotzy 690c066064
State resolution outline for /send 2021-01-14 14:28:32 +01:00
Timo Kösters edfd3c1f34
improvement: better config, better logs 2020-12-31 21:07:55 +01:00
Timo Kösters 6606e41dde
feat: improved state store 2020-12-20 13:34:11 +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 d62f17a91a
improvement: cache actual destination 2020-12-06 11:05:51 +01:00
Timo Kösters 45086b54b3
improvement: upgrade dependencies, fix timeline reload bug 2020-12-05 21:04:34 +01:00
Timo Kösters 9439f2c183
feat: send logs into admin room
Log entries will automatically be deduplicated, so a message won't be
sent if the same line has already been sent in the last 30 mins
2020-12-05 17:34:58 +01: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 ea3aaa6b5c
improvement: more efficient /sync with gaps 2020-09-18 10:29:43 +02:00
Timo Kösters 005e00e9b1
fix: remove well-known 2020-09-15 17:16:55 +02:00
Timo Kösters b7ab57897b
fix: sending slowness 2020-09-15 16:14:59 +02:00
Faelar df55e8ed0b
Add room upgrade. 2020-08-31 12:01:41 +02:00
Timo Kösters 3f4cb753ee
improvement: add remaining key backup endpoints 2020-08-27 14:52:20 +02:00
timokoesters e457e19088
feat: search pdus 2020-08-23 16:14:08 +02:00
Timo 3ff17f69ad
fmt 2020-08-23 16:14:07 +02:00
Timo 4be68eba76
feat: allow querying conduit's room list over federation 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
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 c1c62b7eb4
refactor: put endpoints into modules 2020-07-30 18:34:03 +02:00
timokoesters 66bc25fcd3
feat: implement /keys/changes 2020-07-29 18:05:16 +02:00
timokoesters dd3dab39ae
feat: whoami route 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
CapsizeGlimmer 4d4969862a
Implement /rooms/<room_id>/joined_members 2020-07-27 18:21:06 +02:00
gnieto 5a8705bd25 Add room tags (#140)
Merge branch 'master' into task/add-tags

Add room tagging support

Co-authored-by: Timo Kösters <timo@koesters.xyz>
Co-authored-by: Guillem Nieto <gnieto.talo@gmail.com>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/140
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-26 22:33:20 +02:00
aura 630196f0a3 Implement get_joined_rooms (#155)
whitelist /joined_rooms in sytest

Signed-off-by: Aurabindo Pillai <mail@aurabindo.in>

style: fmt

feat: implement /joined_rooms (#78)

Signed-off-by: Aurabindo Pillai <mail@aurabindo.in>

Co-authored-by: Aurabindo Pillai <mail@aurabindo.in>
Co-authored-by: timokoesters <timo@koesters.xyz>
Reviewed-on: https://git.koesters.xyz/timo/conduit/pulls/155
Reviewed-by: Timo Kösters <timo@koesters.xyz>
2020-07-25 18:35:22 +02:00
timokoesters d8e1248df6
improvement: switch to stable rust 2020-07-22 22:42:01 +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
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 a49a572d76
feat: cross-signing 2020-06-26 15:16: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 2368a90584
refactor: better error handling 2020-06-11 13:14:35 +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 8328eeb5ac
Make sytest not fail 2020-06-04 09:53:26 +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 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 56dd6cb16f
improvement: get state 2020-05-18 09:22:58 +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
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 8f67c01efd
refactor: split database into multiple files, more error handling, cleaner code 2020-05-03 21:44:48 +02:00
Marcel 4bc7712ee4 [ClientServer] Add /_matrix/client/r0/register/available endpoint
Took 1 hour 25 minutes
2020-05-01 23:17:25 +02:00
timokoesters b02c568941
feat: notifications, simple permission systems 2020-05-01 20:28:13 +02:00
timokoesters 1cdf30f38c
Add hostname to Rocket.toml config 2020-04-29 10:27:40 +02:00
timokoesters 23cb550d00
forget rooms, load history 2020-04-29 10:27:40 +02:00
timokoesters 4cc0a07092
feat: user renaming 2020-04-29 10:27:40 +02:00
timokoesters 1af6dd984a
More work on federation 2020-04-29 10:27:38 +02:00
timokoesters 80ddf80f17
work 2020-04-29 10:27:31 +02:00
timokoesters abcce95dd8
feat: invites, better public room dir, user search 2020-04-14 13:59:25 +02:00
timokoesters 3debb6203c
feat: handle typing events 2020-04-12 21:12:50 +02:00
timokoesters fd829bfa0d
move client_server code into own file 2020-04-11 09:30:11 +02:00
timokoesters 040296c711
Add test support and impl dummy /read_markers 2020-04-10 13:36:57 +02:00
timo 3f2bf208a9
Merge pull request 'Add displayname and avatar_url endpoints' (#5) from MTRNord/matrixserver:accountdata into master 2020-04-09 21:26:57 +02:00
Marcel 57264f72e9 Fix avatar_url error message if not starting with mxc://
Took 8 minutes
2020-04-09 21:19:27 +02:00
Marcel 8bcbc983c3 Change and add Comments to the profile endpoints
Add missing docs

Took 9 minutes
2020-04-09 21:11:21 +02:00
Marcel 49fe5e3271 Rename userid_avatar_url to userid_avatarurl and fix debug print
Run cargo fmt

Took 5 minutes
2020-04-09 21:01:39 +02:00
Marcel b1284fd509 Replace profile_* with userid_*
Add a missing dot in the errormessage
Require mxc:// to be present at the start of an avatar_url
Update mxc check TODO
Show displayname or avatar_url if either is available when getting the profile Endpoint
Return the correct data in case of a empty displayname or an empty avatar_url

Took 50 minutes

Took 34 seconds
2020-04-09 20:53:27 +02:00
timokoesters cd55220a75
fix: room directory duplicates 2020-04-09 19:39:06 +02:00
Marcel 062c5521f0 Add displayname and avatar_url endpoints
Add PUT and GET /_matrix/client/r0/profile/{userId}/displayname Endpoint
Add PUT and GET /_matrix/client/r0/profile/{userId}/avatar_url Endpoint
Add GET /_matrix/client/r0/profile/{userId} Endpoint

Took 2 hours 16 minutes
2020-04-09 18:49:27 +02:00
timokoesters 11e75e7081
make room directory work 2020-04-09 14:39:50 +02:00
timokoesters 5ac45eac59
public rooms dir 2020-04-09 12:22:39 +02:00
timokoesters 9214a62dde
better room creation 2020-04-09 11:00:58 +02:00
Jonas Platte 38ab7c843e
Update error type of /register route 2020-04-08 23:25:19 +02:00
Jonas Platte c60402bf0d
Update ruma-client-api 2020-04-08 23:13:30 +02:00
timokoesters 8557278b90
better riot.im support 2020-04-08 22:07:31 +02:00
timokoesters fdeee7fdb5
More dummy endpoints 2020-04-08 22:04:30 +02:00
timokoesters 215a31c513
Add a few dummy endpoints to make riot progress further 2020-04-08 22:04:29 +02:00
timokoesters ddcd423e6f
feat: random tokens, sessions, guest usernames and device ids 2020-04-08 22:04:29 +02:00
timokoesters 64223b8812
register login flow 2020-04-08 22:04:29 +02:00
timokoesters e55a63629c
feat: state event support 2020-04-06 14:33:02 +02:00
timokoesters 10bb96fcf7
feat: room joining, room based /sync responses 2020-04-06 13:52:46 +02:00
timokoesters 4d4cff7120
Allow all kinds of messages in /send 2020-04-05 23:06:43 +02:00
timokoesters 884dc2867d
Move to rocket's async branch 2020-04-05 19:54:08 +02:00
timokoesters 8b8381bcc0
New PduEvent struct 2020-04-04 11:53:37 +02:00
timokoesters f9cfede2a8
fix: deserialize sync event body 2020-04-03 21:17:27 +02:00
timokoesters fa3226898c
feat: save pdus
PDUs are saved in a pduid -> pdus map. roomid -> pduleaves keeps track
of the leaves of the event graph and eventid -> pduid maps event ids to
pdus.
2020-04-03 17:58:38 +02:00
timokoesters 22cca206ba
Todo: ruma signatures
This commit will get force pushed away later
2020-03-30 15:38:25 +02:00
timokoesters dba6c46667
Use sled::Tree::prefix_search for deviceids 2020-03-30 13:46:18 +02:00
timokoesters b508b4d1e7
Start work on message events 2020-03-30 00:10:44 +02:00
timokoesters 533260edd8
Add auth 2020-03-29 21:05:20 +02:00
Jonas Platte 1183105f15
Make Endpoint bound work for ruma_wrapper::Ruma 2020-03-29 14:29:12 +02:00
timokoesters 73e04e71d7
Start work on event creation 2020-03-29 13:49:13 +02:00
timokoesters 744e0adfcf
Try to impl auth in ruma_wrapper 2020-03-28 23:08:59 +01:00
timokoesters 34a53ce20a
Better database structure 2020-03-28 18:50:02 +01:00
timokoesters 6d27f15516
More logging 2020-03-28 15:16:18 +01:00
timokoesters 1679da7784 RUST_LOG=info by default 2020-03-27 21:00:40 +01:00
timokoesters c2c18b4651 feat: database 2020-02-20 10:12:13 +01:00
timokoesters cd777af41c feat: simple endpoint handlers 2020-02-18 22:07:57 +01:00
timokoesters 6264628c11 Initial commit 2020-02-15 22:42:21 +01:00