Commit graph

4287 commits

Author SHA1 Message Date
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
16ef0594a8 fix: dont add remote users for push targets, use hashset instead of vec
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
c7888160b8 improve UX of admin media deletion commands, ignore errors by default, support deleting local media too
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
9244b7241c small doc style fix
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
6e434acc5d disable log colours in the complement config
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
f89c22376f add missing feat_sha256_media to fresh database creations
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
518a83676e add config option to disable ANSI log colours
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
3e65ae1cbe add back server name to error sending PDU to remote server
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
4518e14c20 fix list_rooms admin command filters
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
a90bb7b0e4 use ok_or_else for a rare error
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
c7685116a6 docs: nixos and unix socket fail, jemalloc and hardened.nix
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
064b786d0e send EDUs to appservices if in events
to_device is not supported yet

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
0d0a706324 enable jemalloc_stats feature by default
this was supposed to be enabled by default

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
d9781e9f50 remove old "rocksdb" and "sha256_media" cargo features
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
52d87bbb88 tiny micro-optimisations in some config stuff
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
efd424d132 allow taking multiple --config arguments to "include"/merge more config files
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
strawberry
f861e50d4f improve some general documentation
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
strawberry
0fe132b791 drop target-cpu optimised builds
this seems too broken.

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-10-21 22:08:33 +00:00
Jason Volk
8c9dceeaf3 bump tonic
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
216a12be4a optimize auth_chain short_id to event_id translation step
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
ed476069df refactor multi-get to handle result type
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +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
96d0211e94 add rocksdb secondary; fix read_only mode.
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
32e50326aa additional stream tools
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
1c37ec8438 Add rocksdb logging integration with tracing.
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
d856162ee5 merge rooms/short Data w/ Service; optimize queries
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
83ff2b335a add ArrayVec-backed serialized query overload; doc comments
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
d64b44e61c split remaining map suites
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
strawberry
6327f7dd01 add missing await to first admin room creation
Signed-off-by: strawberry <strawberry@puppygock.gay>
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
8528234d8e handle serde_json for deserialized()
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
Jason Volk
fc46950eff add UnwrapInfallible to Result
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
f3d8ed4321 re-export crates used by error macros
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
0097ca40e2 add is_not_found functor to error; tweak status code matcher
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
49a1032bc9 add missing err! case
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
eb9c0e6dcd add util functors for is_zero/is_equal; move clamp to math utils
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
1a854b03f3 move common_elements util into unit
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00