Jason Volk
a8d5cf9651
Add rocksdb logging integration with tracing.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
c569881b08
merge rooms/short Data w/ Service; optimize queries
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:28 -04:00
Jason Volk
0e8ae1e13e
add ArrayVec-backed serialized query overload; doc comments
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
5192927a53
split remaining map suites
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
3f7ec4221d
minor auth_chain optimizations/cleanup
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
4776fe66c4
handle serde_json for deserialized()
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:32:33 -04:00
Jason Volk
946ca364e0
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-25 00:32:30 -04:00
Jason Volk
6001014078
add UnwrapInfallible to Result
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
a5de27442a
re-export crates used by error macros
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
f7ce4db0b0
add is_not_found functor to error; tweak status code matcher
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
a5822ebc27
add missing err! case
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
63053640f1
add util functors for is_zero/is_equal; move clamp to math utils
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
bd75ff65c9
move common_elements util into unit
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
aa265f7ca4
add err log trait to Result
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
3d4b0f10a5
add expected! macro to checked math expression suite
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
2709995f84
add MapExpect to Result
...
add DebugInspect to Result
move Result typedef into unit
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
99ad404ea9
add str traits for split, between, unquote; consolidate tests
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
2db017af37
simplify service trait bounds and lifetimes
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:15:01 -04:00
Jason Volk
0413037246
fix lints
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-05 17:07:37 -07:00
Jason Volk
4bac9b33cc
propagate config error for cidr range
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-09-01 11:15:55 +00: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
b45df5f7bd
bump appservice requests to v1.7
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-31 09:55:26 +00:00
Jason Volk
0068624cd6
add exception for upload when allow_legacy_media=false
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +00:00
Jason Volk
2837151dba
redirect legacy url preview
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +00:00
Jason Volk
3d8757c896
update complement for new media
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +00:00
Jason Volk
b175892178
support MSC4180 unstable stable flag for MSC3916
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +00:00
Jason Volk
d8a1996e24
bump ruma for deprecation warning suppression
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +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
1638be0339
add authenticated media client api
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +00:00
Jason Volk
ea2343850f
add remote fetch suite for authenticated media
...
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
84a8e36120
add federation endpoints for authenticated media
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-30 08:24:52 +00:00
Jason Volk
47f9c69eff
split media related migrations into service dir
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +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
9654dd9218
Fix stale example config for media_compat_file_link
...
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
4d42a29c51
add thumbnail dimension structure
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
7b0e830f4c
add interface to get file metadata w/ admin command
...
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
f047675a63
rename admin/handler to admin/processor
...
Handler is overused. Handler ought to mean the end-function handling the
command. The command processor is the central dispatcher to the handler.
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
f4db6292b3
add smoketest-assist execution mode
...
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
Jason Volk
ffc41cb01f
split admin service startup related into unit
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
e4bcbb8088
propagate errors from reqwest client constructions
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
e4ba34a638
remove zombie globals/client file
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
50e66a2976
add partial envfilter support for admin log capture; conf item
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
4d0fc41222
add conf item for federation loopback prevention bypass
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
152ae705a0
refactor for structured Mxc type
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
54e6a41404
move remote media fetchers into services
...
minor error simplification
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
c3f00f4d15
remove redundant CSP directives which effectively default to the same value
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
43300ea41e
Make axum-dual-protocol a non-feature. Fix build issues.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
17a54bc4f8
refactor for ruma cow headers; update for ContentDisposition type
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
f540bed61e
propagate additional errors from db options
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
2cf472a69b
elide header from command output when no logs captured
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
b2d8da489c
add configurable automatic admin command execution after startup
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
025afb61cb
bump ruma again for borrowed identifier deserialization
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
40d53563fc
integrate ruma js_int errors into enum
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
5db816277b
add from serde_json error to enum
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
efa70b9e78
add serde de/ser impls for error
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
bac795de5f
use transparent thiserror attribute; cleanup error variants
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
f69f4c479c
propagate error from database options building
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
992f725362
allow expression to defer macro
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
0e56d1c7a2
add math::try_into util
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
b4d5282123
add nullary type_name debug util
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
15ad7523aa
split Destination enum into unit
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
eb6e509ad8
use where clause for long lines
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-29 19:19:20 +00:00
Jason Volk
9b9a91f6ef
add our_modules() for log capture filter convenience
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
94b805de0b
generalize log capture to all admin commands; simplify handler
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
eded585f79
rename some command types for consistency
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
a552321287
add Clap to Error
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
f98bfbbdcd
add string stream convenience util; add ?Sized bounds on log fmt functors
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
e9ab548445
tweak some tracing log levels
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
15184d1a79
Add span scope names array to capture filter data; optimize values visitor vec.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
0c6bbde25f
fix markdown table formatter for log capture
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
13aa353765
add arrayvec as a dependency
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
ac941a801a
add interface to query rocksdb properties w/ admin cmd
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
f261d44edb
add method to iterate opened database columns
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
849cfdcdfa
add rocksdb stats level option with conf item
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
1470331f7e
add repair_mode documentation to example conf
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-08 18:09:21 +00:00
Jason Volk
fe0969e7ca
fix release-max-perf profile [ci skip]
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-01 13:37:27 +00:00
Jason Volk
2e3e14b045
refactor some additional errors
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-01 10:58:59 +00:00
Jason Volk
f51d4237c7
bump cargo
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-01 10:58:59 +00:00
Jason Volk
5add9a8c34
support field values in err! macro
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-08-01 10:58:58 +00:00
Jason Volk
5b1642f641
split server_keys from event_handler into service
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-31 21:10:22 +00:00
Jason Volk
eb94aa7079
remove dangling sending/resolve unit
...
this was probably un-deleted during a rebase conflict resolution,
but remained outside of the mod tree.
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-31 21:10:22 +00:00
Jason Volk
24884c3b9b
move media helpers from api to services
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-31 03:04:17 +00:00
Jason Volk
a0a002b17f
disable legacy media compat by default; cleanse directory when disabled
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-31 03:04:17 +00:00
Jason Volk
f632b06e6d
use Services instead of Server for middleware function state
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-31 03:04:17 +00:00
Jason Volk
1f88866612
optimize api state extractor
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-31 03:04:17 +00:00
Jason Volk
ccef1a4c8b
add formal wrapping for api state
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 21:32:43 +00:00
Jason Volk
5c258f41c8
fixes for modules
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
15126ee1b2
additional weak references where applicable
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
e37ac56dba
use weak references to break services dependency cycle
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
a74613be96
improve database repair/shutdown log messages
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
a95ded167f
fix type complexity
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
95121b6e05
use single-line codeblock for specific features lists
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
e6884ef13a
fix various nightly incidental lints
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
49033db2b8
fix trailing body passed to commands
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00
Jason Volk
ddc8c3b46c
split presence data object into file; improve service encapsulations
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-07-28 05:59:12 -07:00