Commit graph

724 commits

Author SHA1 Message Date
Jason Volk
231124e275 optimize config denylists
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-22 07:27:00 +00:00
Jason Volk
0d33959c2e aggregate receipts into single edu; dedup presence; refactor selection limits etc
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-22 07:27:00 +00:00
Jason Volk
a65764f752 split keys_changed for stronger-type overloads
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-22 05:46:47 +00:00
Jason Volk
90ff1fa1c7 further optimize presence_since iteration
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-22 05:46:47 +00:00
Jason Volk
eb937c70a6 additional sync cleanup
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
d487e7cb1b split client/sync
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
f763a13f0f add resolve_with_servers() to alias service; simplify api
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
37b9b361ba add federation client for select high-timeout requests
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
f82eba1861 Refactor server_keys service/interface and related callsites
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
257a4548fd use string::EMPTY; minor formatting and misc cleanups
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
b76fac3abc Refactor for structured insertions
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
a847c56a46 Add constructions and Default for PduBuilder
simplify various RoomMemberEventContent constructions

Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
eaf7282e5a misc cleanup
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
187b9ca80c refactor various patterns for serde_json::from_ elim
bump ruma

Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
fb7c82f4e5 refactor to pdu.get_content() for serde_json::from_ elim
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
e5595a9e60 refactor to room_state_get_content() for serde_json::from_ elim
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
2fb8acf427 Add state_get_content(shortid) for serde_json::from elim
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
624c392414 abstract account-data deserializations for serde_json::from_elim
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
5f40741411 parallelize calculate_invite_state
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
6dacf668bb add is_not_found as Error member function; tweak interface; add doc comments
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
strawberry
127fb1a37b dont answer the admin room ID over /_matrix/federation/v1/query/directory
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
morguldir
d0d1ec4322 fix sliding sync room type filter regression
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
Jason Volk
a693b60092 fix trait-solver issue requiring recursion_limit increase
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:08:33 +00:00
strawberry
e6ed222167 add m.call and m.call.member to list of permissions to set on public rooms
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
60da72c893 add MSC4151 room reporting support
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
17d56906af drop unnecessary error to debug_warn
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
2c2cdd9448 update last_seen_ip and last_seen_ts on updating device metadata
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
176c0c21e3 remove unnecessary full type annos
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
6f1ef0f8db dont send non-state events from ignored users over /context/{eventId}
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
a56ee344cf dont send events from ignored users over /messages
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
4323283f1e add support for reading a registration token from a file
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
70c7b4dc32 dont allow sending/receiving room invites with ignored users
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
7c29933fdc dont send non-state events from ignored users over sync
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
899bf128d3 dont send read receipts and typing indicators from ignored users
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
dd735bf69b bump ruma, cargo.lock, and deps
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
8dc1d9f48d support reading TURN secret from a file (turn_secret_file)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
835f3e6a7d allow users to respond to polls by default (org.matrix.msc3381.poll.response)
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
Jason Volk
739b7fa719 various cleanup tweaks/fixes
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
478a68d4e6 minor auth_chain optimizations/cleanup
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
a0b28aa602 Database Refactor
combine service/users data w/ mod unit

split sliding sync related out of service/users

instrument database entry points

remove increment crap from database interface

de-wrap all database get() calls

de-wrap all database insert() calls

de-wrap all database remove() calls

refactor database interface for async streaming

add query key serializer for database

implement Debug for result handle

add query deserializer for database

add deserialization trait for option handle

start a stream utils suite

de-wrap/asyncify/type-query count_one_time_keys()

de-wrap/asyncify users count

add admin query users command suite

de-wrap/asyncify users exists

de-wrap/partially asyncify user filter related

asyncify/de-wrap users device/keys related

asyncify/de-wrap user auth/misc related

asyncify/de-wrap users blurhash

asyncify/de-wrap account_data get; merge Data into Service

partial asyncify/de-wrap uiaa; merge Data into Service

partially asyncify/de-wrap transaction_ids get; merge Data into Service

partially asyncify/de-wrap key_backups; merge Data into Service

asyncify/de-wrap pusher service getters; merge Data into Service

asyncify/de-wrap rooms alias getters/some iterators

asyncify/de-wrap rooms directory getters/iterator

partially asyncify/de-wrap rooms lazy-loading

partially asyncify/de-wrap rooms metadata

asyncify/dewrap rooms outlier

asyncify/dewrap rooms pdu_metadata

dewrap/partially asyncify rooms read receipt

de-wrap rooms search service

de-wrap/partially asyncify rooms user service

partial de-wrap rooms state_compressor

de-wrap rooms state_cache

de-wrap room state et al

de-wrap rooms timeline service

additional users device/keys related

de-wrap/asyncify sender

asyncify services

refactor database to TryFuture/TryStream

refactor services for TryFuture/TryStream

asyncify api handlers

additional asyncification for admin module

abstract stream related; support reverse streams

additional stream conversions

asyncify state-res related

Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
strawberry
e9e5fe2176 implement MSC4165, removing own power levels on deactivation
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-15 14:20:01 -04:00
strawberry
17fd34eb12 dedupe some account deactivation steps, remove all profile fields on deactivation
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-15 12:08:07 -04:00
strawberry
a65dd6dfb3 dont allow guests to publish to room directories
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-14 12:37:29 -04:00
strawberry
e146c75279 dont include appservices in room guest access enforcement check
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-14 12:27:22 -04:00
strawberry
d75aebc373 implement generic K-V support for MSC4133, GET/PUT/DELETE
no PATCH still yet

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-14 11:16:49 -04:00
strawberry
cf9b72ce3f remove a few unnecessary muts
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-09 21:41:57 -04:00
strawberry
9de780b56c remove unnecessary displayname requirement on making user admin
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-09 21:10:56 -04:00
strawberry
61347bee06 advertise support for MSC4133 and MSC4175
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-08 19:53:33 -04:00
strawberry
38cd88e1e8 remove unnecessary cloning on account deactivation profile updates
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-08 19:33:21 -04:00
strawberry
b44f7f5476 remove MSC4175 timezone on account deactivation
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-09-08 19:23:54 -04:00