Jason Volk
8258d16a94
re-scheme naming of stream iterator overloads
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
19880ce12b
add IgnoreAll directive to deserializer
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
d3d11356ee
add serialized insert interface
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
2f24d7117a
further develop serializer for insertions
...
add JSON delegator to db serializer
consolidate writes through memfun; simplifications
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
fc4d109f35
add document comments to config items
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
f67cfcd535
cleanup Config::load()
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
2a59a56eaa
initial example-config generator
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c40d20cb95
add macro util to determine if cargo build or check/clippy.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
43b0bb6a5e
add non-allocating fixed-size random string generator
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
a5e85727b5
add tuple access functor-macro
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
16f82b02a0
add util to restore state on scope exit
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
c9c405facf
relax Sized bound for debug::type_name
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
8ea2dccc9a
sort rustfmt
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:29 -04:00
Jason Volk
e482c0646f
Add constructions and Default for PduBuilder
...
simplify various RoomMemberEventContent constructions
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
f503ed918c
misc cleanup
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
57e0a5f65d
additional database stream deserializations for serde_json::from_ elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
d526db681f
refactor various patterns for serde_json::from_ elim
...
bump ruma
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
55c85f6851
refactor to pdu.get_content() for serde_json::from_ elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
f7af6966b7
refactor to room_state_get_content() for serde_json::from_ elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
68315ac112
Add state_get_content(shortid) for serde_json::from elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
da34b43302
abstract account-data deserializations for serde_json::from_elim
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
48a767d52c
abstract common patterns as core pdu memberfns
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
2b2055fe8a
parallelize calculate_invite_state
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
685eadb171
add is_not_found as Error member function; tweak interface; add doc comments
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
dd9f53080a
add unwrap_or to TryFutureExtExt
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
4485f36e34
add mactors for true/false
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
a2e5c3d5d3
add FlatOk trait to Result/Option suite
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
08a2fecc0e
catch panics at base functions to integrate with other fatal errors.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
89a3c80700
split admin-room branch from build_and_append_pdu (fixes large stack warning)
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
56dd0f5139
use loop condition to account for loole channel close
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
814b9e28b6
fix unnecessary re-serializations
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-26 18:50:28 -04:00
Jason Volk
ba683cf534
fix aliasid_alias key deserialization
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
bd9a9cc5f8
fix trait-solver issue requiring recursion_limit increase
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
2d049dacc3
fix get_all_media_keys deserialization
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
c6b7c24e99
consume all bytes for top-level Ignore; add comments/tweaks
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:38:45 -04:00
Jason Volk
36677bb982
optimize auth_chain short_id to event_id translation step
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
ab06701ed0
refactor multi-get to handle result type
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
26dcab272d
various cleanup tweaks/fixes
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
96fcf7f94d
add rocksdb secondary; fix read_only mode.
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
Jason Volk
6b80361c31
additional stream tools
...
Signed-off-by: Jason Volk <jason@zemos.net >
2024-10-25 00:36:30 -04:00
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