Commit graph

227 commits

Author SHA1 Message Date
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
bcbda1815f add random shuffle util
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
41cafbe867 add timepoint_from_now to complement timepoint_ago in utils
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
27741d2212 add document comments to config items
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
dbc4d19a59 cleanup Config::load()
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
ba253738dc initial example-config generator
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
930755d44a add non-allocating fixed-size random string generator
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
a3ba31144a add tuple access functor-macro
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
429031b0bb add util to restore state on scope exit
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
80b94675f7 relax Sized bound for debug::type_name
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
ea8f4ea946 abstract common patterns as core pdu memberfns
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
Jason Volk
0a7c0e3535 add unwrap_or to TryFutureExtExt
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
b08eb9a290 add mactors for true/false
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
Jason Volk
da1ac8c4e7 add FlatOk trait to Result/Option suite
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:09:22 +00:00
strawberry
aa6f6c1bfa feature-gate direct TLS mode to make rustls/aws-lc-rs optional
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
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
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
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
d64b44e61c split remaining map suites
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
Jason Volk
d561ed5d65 add err log trait to Result
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
22adffc40e add expected! macro to checked math expression suite
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
05b02feac5 add MapExpect to Result
add DebugInspect to Result

move Result typedef into unit

Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
ce4c7daf83 add str traits for split, between, unquote; consolidate tests
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-21 22:07:37 +00:00
Jason Volk
0413037246 fix lints
Signed-off-by: Jason Volk <jason@zemos.net>
2024-10-05 17:07:37 -07:00
Jacob Taylor
b9a8f8e6c7 automatically scale conduwuit caches by CPU-core-count 2024-10-05 17:07:37 -07:00
Jason Volk
14b9511d2e fix default capture EnvFilter in release mode
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-31 12:24:11 +00:00
Jason Volk
a934a7f687 freeze remote media via legacy endpoints
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-30 08:24:52 +00:00
Jason Volk
fcfb323cd5 relegate legacy media handlers to separate file
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-30 08:24:52 +00:00
Jason Volk
73af171830 add config option for pruning missing media
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-29 19:19:20 +00:00
Jason Volk
dea5fee6a3 abstract duration parsing into utils
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-29 19:19:20 +00:00
Jason Volk
e7b2c14280 tag admin room m.server_notice on grant
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-29 19:19:20 +00:00
Jason Volk
bb5f2556c3 improve admin command error propagation
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-29 19:19:20 +00:00
Jason Volk
fcb9d04d9e add program argument for functional testing; simplify execute argument
Signed-off-by: Jason Volk <jason@zemos.net>
2024-08-29 19:19:20 +00:00
strawberry
47ca835c20 initialise default TLS crypto provider with aws_lc_rs manually
we use ring for hashing state and ruma, and reqwest/rustls defaults
to aws_lc_rs, so we have to manually pick which one. there doesn't
seem to be a way to just use one for some reason, so lets just use
the new aws_lc_rs.

Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-08-29 19:19:20 +00:00
strawberry
edd42974e5 bump cargo.lock and deps, add zstd compression to reqwest client
Signed-off-by: strawberry <strawberry@puppygock.gay>
2024-08-29 19:19:20 +00:00