Commit Graph

1014 Commits

Author SHA1 Message Date
Jason Volk 0fdeda3743 ircd:Ⓜ️:room: Add consolidated room::purge interface w/ options. 2023-02-10 12:27:52 -08:00
Jason Volk ae5af6a7ed ircd:Ⓜ️:room::events: Add optional bool to convey validity on nothrow overload; minor inline. 2023-02-10 11:40:05 -08:00
Jason Volk 1910d8e85e ircd:Ⓜ️:event: Add interface to purge event; consolidate; cleanup. 2023-02-09 20:24:36 -08:00
Jason Volk 1c6d216daf ircd::util: Generalize util::boolean into returns template. 2023-02-09 19:17:45 -08:00
Jason Volk fd6f06c1af Replace various #if 0 with if constexpr for regression visibility. 2023-02-09 11:41:11 -08:00
Jason Volk aa8ce19c7c ircd: Internalize various loghead utils; remove legacy ostream operators. 2023-02-09 11:41:11 -08:00
Jason Volk fe0f398e14 ircd::util: Add popcount wrapping; consolidate callsites. 2023-02-07 20:04:26 -08:00
Jason Volk f54b31358a ircd:Ⓜ️:homeserver: Replace use of instance_multimap w/ instance_map. 2023-02-05 18:47:31 -08:00
Jason Volk 4fe55722c9 ircd:Ⓜ️:vm::fetch: Replace coarse sleep() w/ prev wait notify. 2023-02-05 18:45:08 -08:00
Jason Volk 9ecf389007 ircd:Ⓜ️:vm: Add vm::notify interface w/ yielding wait for event_id. 2023-02-05 18:45:08 -08:00
Jason Volk dc873d8c8f ircd:Ⓜ️:event: Add exists_count() convenience; simplify various popcounts. 2023-02-05 18:45:08 -08:00
Jason Volk e621e20afc ircd:Ⓜ️:vm: Split vm::sequence into unit. 2023-02-05 18:45:08 -08:00
Jason Volk df67d08897 ircd::util: Optimize instance_multimap w/ allocator::node. 2023-02-05 18:45:08 -08:00
Jason Volk ca801f4666 ircd:Ⓜ️:vm::fetch: Split prev result eval from prev. 2023-02-05 11:27:32 -08:00
Jason Volk c3bcb03b31 ircd:Ⓜ️:sync::item: Use string_view of item name for ctor. 2023-02-04 20:16:20 -08:00
Jason Volk 86560ab273 ircd:Ⓜ️:typing: Fix dead interruption point; move guard into loop. 2023-02-04 20:16:20 -08:00
Jason Volk 32140fedf3 ircd:Ⓜ️ Add event horizon data in pretty_detailed(event) output. 2023-02-04 20:16:20 -08:00
Jason Volk d39c3a8b61 ircd:Ⓜ️:room::bootstrap: Mask all errors nothrow to continue auth chain eval. 2023-02-02 18:51:03 -08:00
Jason Volk 5e32f88b0d modules/client: Add stub for dehydrated device. 2023-02-02 16:37:03 -08:00
Jason Volk 28dbaf459d ircd:Ⓜ️:rooms: Filter rooms summaries for my server to those with aliases from server. 2023-01-24 22:46:44 -08:00
Jason Volk 4cece76e1c ircd:Ⓜ️:room::aliases: Add has_server() optimized count(server)>0 to interface. 2023-01-24 22:44:03 -08:00
Jason Volk 207a890b7a ircd:Ⓜ️:room::power: Add 'historical' key to default generated. 2023-01-19 19:58:23 -08:00
Jason Volk 6bbde81b44 Ensure EXTRA_*FLAGS is properly appended after other build flags. 2023-01-18 08:11:02 -08:00
Jason Volk 336f740036 ircd:Ⓜ️:vm: Fix propagation of faults to evaluator as expected by opts mask. 2023-01-18 08:11:02 -08:00
Jason Volk f516b86e4d configure: Eliminate clang runtime profiling infrastructure. 2023-01-14 16:44:47 -08:00
Jason Volk d766564958 ircd:Ⓜ️:fed: Remove any legacy trailing slashes from urls. 2023-01-08 19:26:02 -08:00
Jason Volk 4549f44f08 ircd:Ⓜ️:get: Fix mismatched integer comparison. 2022-10-05 13:53:52 -07:00
Jason Volk baef0e3bc7 ircd:Ⓜ️:trace: Add interface for the trace. 2022-09-28 15:05:43 -07:00
Jason Volk b4f869a616 ircd:Ⓜ️:room::messages: Add option toggling redacted query. 2022-09-28 15:05:42 -07:00
Jason Volk 00829d2118 ircd:Ⓜ️:room::messages: Move m.replace related out of class; fix errors. 2022-09-28 13:30:56 -07:00
Jason Volk 5f758aaa3b ircd:Ⓜ️:events::annotates: Interface to scan the key of the m.annotation rel_type. 2022-09-28 09:55:51 -07:00
Jason Volk e2d70f249f ircd:Ⓜ️:events::relates: Interface to scan the rel_type of the M_RELATES ref type. 2022-09-28 09:54:10 -07:00
Jason Volk 6092fabe42 ircd:Ⓜ️:room::message: Fix reply fallback accepting non-mxid careted names. 2022-09-21 16:39:05 -07:00
Jason Volk 50c5c43d29 ircd:Ⓜ️:room::type: Fix ascending order seek correctness; for now. 2022-08-20 11:07:38 -07:00
Jason Volk cf8e4092c9 ircd:Ⓜ️:user::rooms: Simplify interface w/ util::closure_bool. 2022-08-19 20:57:35 -07:00
Jason Volk 04559a28f6 ircd:Ⓜ️:user::rooms: Add prefetch loop. 2022-08-19 20:57:35 -07:00
Jason Volk 7a90776056 ircd:Ⓜ️ Additional pretty_msgline() opts for time ago / body delim. 2022-08-19 11:13:57 -07:00
Jason Volk f931912f3e ircd:Ⓜ️:event::fetch: Improve codegen w/ dtor linkage. 2022-08-18 15:01:38 -07:00
Jason Volk c010920f7c ircd:Ⓜ️:relates: Add reverse iteration; consolidate abi, inline interface. 2022-08-17 18:15:30 -07:00
Jason Volk e2017efcce ircd:Ⓜ️:event::refs: Add reverse iteration; inline interface. 2022-08-17 18:15:30 -07:00
Jason Volk 16e6707c3e ircd:Ⓜ️:keys: Add key_id to debug log for single fetch path. 2022-08-17 17:09:31 -07:00
Jason Volk 13cd2656c9 ircd:Ⓜ️:fed::well_known: Use proper http::category; minor split/reorg. 2022-08-17 13:05:39 -07:00
Jason Volk 727749e9de ircd:Ⓜ️:room: Add interface to room messages. 2022-08-17 13:05:39 -07:00
Jason Volk 2bf10c1234 ircd:Ⓜ️:relates: Add sender checking; move option bits to class member. 2022-08-17 11:09:05 -07:00
Jason Volk 6885bafc49 ircd:Ⓜ️ Add parallel get() suite to interface. 2022-08-17 11:09:05 -07:00
Jason Volk a8b5912e98 ircd:Ⓜ️:room::type: Add directional iteration deduced by range. 2022-08-16 21:20:32 -07:00
Jason Volk 206afc25b0 ircd:Ⓜ️:room::message: Add interface for edit contents. 2022-08-16 13:43:00 -07:00
Jason Volk fedf1e976a ircd:Ⓜ️:relates: Add interface around the rel_type for the relation ref type. 2022-08-16 13:43:00 -07:00
Jason Volk d743925776 ircd:Ⓜ️:room::message: Fix incorrect reply fallback parse. 2022-08-15 12:38:21 -07:00
Jason Volk ed50a9f360 ircd:Ⓜ️:media: Optimize file room writes w/ journal bypass. 2022-08-11 13:28:12 -07:00
Jason Volk d15e95b2ac ircd:Ⓜ️:media: Fix conf items outside of ircd.m. namespace. 2022-08-10 18:20:52 -07:00
Jason Volk 479d22466e ircd:Ⓜ️:vm: Add starting timestamp to eval state w/ specific event eval timestamp.
modules/console: Add eval timestamps to output of vm cmd table.
2022-08-10 18:20:52 -07:00
Jason Volk 94d9444988 ircd:Ⓜ️ Add granular options for pretty_msgline(). 2022-08-10 18:20:52 -07:00
Jason Volk 10554d51b5 ircd:Ⓜ️ Use room::message for proper body in pretty_msgline(). 2022-08-10 18:20:52 -07:00
Jason Volk 1c2105425c ircd:Ⓜ️:fed::well_known: Fix result check throwing without fallback defaulting. 2022-08-10 18:20:52 -07:00
Jason Volk 06b70cc274 ircd:Ⓜ️:vm: Fix require_content=false behavior as described by option's doc. 2022-08-10 18:20:52 -07:00
Jason Volk 4a254dd3ac ircd:Ⓜ️ Split vm.conforms hook handles into unit. 2022-08-10 18:20:52 -07:00
Jason Volk ed5dfd0031 ircd:Ⓜ️:fetch: Split fetch_check related into unit. 2022-08-10 18:20:52 -07:00
Jason Volk c32928981b ircd:Ⓜ️:dbs::init: Split unit; preliminary schema update vector; ctor exceptions. 2022-08-06 22:47:59 -07:00
Jason Volk 49615517cc ircd:Ⓜ️:room::content: Move prefetch buffer to class member. 2022-08-05 18:38:32 -07:00
Jason Volk e45dc31797 ircd:Ⓜ️:vm::eval: Use closure_bool for_each(); reduce direct instance_list iteration. 2022-08-05 17:57:19 -07:00
Jason Volk 14eb419045 ircd:Ⓜ️ Add m.in_reply_to to m::relates tuple and reuse in m::room::message. 2022-08-04 18:25:49 -07:00
Jason Volk b75f0ea1ef ircd:Ⓜ️ Move multi-key fetch from vm:: to keys::; minor reorg. 2022-08-03 20:26:33 -07:00
Jason Volk 71f0d15910 ircd:Ⓜ️:dbs: Deduplicate m.in_reply_to extraction w/ a4ec2dd8ab. 2022-08-02 20:49:21 -07:00
Jason Volk 35199dffb3 ircd:Ⓜ️:room::message: Add interface to extract rich reply fallbacks. 2022-08-02 20:49:21 -07:00
Jason Volk 504e0a1883 ircd:Ⓜ️:room::message: Name m.relates_to in the tuple. 2022-08-02 15:56:04 -07:00
Jason Volk c33ddd278a ircd:Ⓜ️ Use proper character overload for optimal tokens(). 2022-08-02 13:18:58 -07:00
Jason Volk 9f79bb54b8 ircd:Ⓜ️:fetch: Stub branch to make use of redacted_by. 2022-07-30 23:28:19 -07:00
Jason Volk 0ba3c5629f ircd:Ⓜ️:room::events::missing: Dedup inner loop; optimize w/ parallel query. 2022-07-30 20:58:59 -07:00
Jason Volk 03262e09a9 ircd:Ⓜ️:dbs: Add conf items for less aggressive compact trig on large columns. 2022-07-29 23:56:52 -07:00
Jason Volk c76aec69a9 ircd:Ⓜ️:dbs: Upgrade descriptors to designated initializers. 2022-07-29 22:30:09 -07:00
Jason Volk a2197e87df ircd:Ⓜ️:resource: Unstable is also a version (undocumented). 2022-07-29 17:35:58 -07:00
Jason Volk 69dcd7acd9 ircd::mods: Eliminate RTLD_DEEPBIND by linking modules -Bsymbolic. 2022-07-27 16:22:42 -07:00
Jason Volk c002e03242 configure: Add PROFILE_USE conditional and subst. 2022-07-27 14:32:47 -07:00
Jason Volk 065343069a Fix -flto flag compat erosion w/ gcc. 2022-07-20 12:03:59 -07:00
Jason Volk 041c4822bc ircd:Ⓜ️ Fix conflicting TLS models for static member buffers. 2022-07-20 10:42:13 -07:00
Jason Volk 741c211848 configure: Add conditional flags for forced pch w/ clang. 2022-07-20 09:56:22 -07:00
Jason Volk 216a2b64cb Move -include arguments to preprocessor flags. 2022-07-20 09:56:22 -07:00
Jason Volk 3a5f7e0aac ircd::resource: Implement more complex path routing. 2022-07-20 09:56:22 -07:00
Jason Volk e4d517415b ircd:Ⓜ️:acquire: Add conf items to default some opts; rename and raise submit max. 2022-07-18 16:58:02 -07:00
Jason Volk d4bd109661 modules/media: Remove legacy resources.
modules/federation: Merge invite and invite2 units.

modules/federation: Redact send_join and rooms legacy resources.
2022-07-18 16:58:02 -07:00
Jason Volk 93a7575352 ircd:Ⓜ️:resource: Abstract request::version to ircd::request::agent. 2022-07-18 16:58:02 -07:00
Jason Volk 45a4c80e79 ircd:Ⓜ️:media: Log file room write errors and debug at completion. 2022-07-13 22:48:14 -07:00
Jason Volk 994702b32f ircd:Ⓜ️:filter: Add overloads to match() w/ fetch from event_idx. 2022-07-13 22:48:14 -07:00
Jason Volk e2e0b6294f ircd:Ⓜ️:filter: Remove noexcept due to supplied json parse. 2022-07-13 22:48:13 -07:00
Jason Volk ec55b9b30f ircd:Ⓜ️ Implement matrix-org/matrix-spec-proposals#3316 timestamp massaging. 2022-07-12 08:41:40 -07:00
Jason Volk 584a0f49bd ircd:Ⓜ️:room::power: Log debug errors in these handlers. 2022-07-11 22:44:52 -07:00
Jason Volk 5e3ae3771d ircd:Ⓜ️:homeserver: Fix database conf values overriding environmental values. 2022-07-11 12:53:33 -07:00
Jason Volk 3992af9388 ircd:Ⓜ️:acquire: Promote and improve some log messages for non-debug builds. 2022-07-10 15:48:05 -07:00
Jason Volk 4cc27552d5 Revert "ircd:Ⓜ️:essential: Add join_authorised_via_users_server and allow keys."
This reverts commit 994fc56f8e.
2022-07-10 15:48:05 -07:00
Jason Volk 1fb853dd83 Makefile: Incremental format for remaining flags and targets. 2022-07-09 15:00:58 -07:00
Jason Volk 27624c48cd ircd:Ⓜ️:acquire: Consolidate interruption check for faster shutdown sequence. 2022-07-09 14:33:38 -07:00
Jason Volk cc3999486e ircd:Ⓜ️:fetch: Further hoist throw fetch termination; fix error message. (934d76e81d) 2022-07-09 14:33:14 -07:00
Jason Volk 11f878209f ircd:Ⓜ️:room::events: Comment on ctors; minor assertions. 2022-07-09 14:10:28 -07:00
Jason Volk 9788ce9863 ircd:Ⓜ️:acquire: Add accumulators for acquires and fetches. 2022-07-08 23:24:06 -07:00
Jason Volk 3451a989ac Add noexcept to various lambdas (gcc-12). 2022-07-07 16:47:55 -07:00
Jason Volk 934d76e81d ircd:Ⓜ️:fetch: Skip result check and any retry if requestor went away. 2022-07-07 16:47:55 -07:00
Jason Volk 6917ec8561 ircd:Ⓜ️:fetch: Increase default request limit. 2022-07-05 13:01:58 -07:00
Jason Volk b88454e793 ircd:Ⓜ️🆔 Ensure expected iterator types; fix iterator interference. 2022-07-05 13:01:58 -07:00
Jason Volk 29f4620826 ircd:Ⓜ️ Ensure signed integer subtractions are defined. 2022-07-05 13:01:58 -07:00
Jason Volk 994fc56f8e ircd:Ⓜ️:essential: Add join_authorised_via_users_server and allow keys. 2022-07-04 22:25:18 -07:00
Jason Volk 46cae6f24b modules/m_room_member: Support knocking membership/auth_rules. 2022-07-04 22:25:18 -07:00
Jason Volk 95d6561ca1 ircd:Ⓜ️ Improve various options related. 2022-07-04 22:25:18 -07:00
Jason Volk 55d5b4d1a7 ircd:Ⓜ️:acquire: Fix fetching map critical emplacement. 2022-07-04 22:25:18 -07:00
Jason Volk 601f59248a ircd:Ⓜ️:vm::fetch: Improve fetch opts constructions. 2022-07-02 23:56:11 -07:00
Jason Volk e2d1e0c3b2 ircd:Ⓜ️:init::backfill: Split term() from fini() for blocking joins. 2022-07-02 21:39:11 -07:00
Jason Volk 2e48147f10 ircd:Ⓜ️ Remove redundant event_id from exception msg. 2022-07-02 18:59:58 -07:00
Jason Volk 6d79237301 ircd:Ⓜ️:error: Improve ctor codegen; non-template out-of-line; elide fmt. 2022-07-02 18:10:38 -07:00
Jason Volk eb10f235cf modules/federation: Implement GET /hierarchy. 2022-07-02 13:36:18 -07:00
Jason Volk 94a6cd0d90 ircd::db: Simplify options wrappings; eliminate bitflags. 2022-07-02 12:42:09 -07:00
Jason Volk 5a3346f973 ircd:Ⓜ️:request: Throw more descriptive error for node key failure. 2022-06-30 14:29:26 -07:00
Jason Volk fe199a8ed0 ircd:Ⓜ️:request: Support destination in X-Matrix authorization header. 2022-06-30 14:21:50 -07:00
Jason Volk 4cf3476e7b modules: Add ld.gold flags section; disable unique symbols. 2022-06-29 19:07:43 -07:00
Jason Volk 1327823d2c ircd:Ⓜ️ Appease unused-result warning (for array-copy return value) internally. 2022-06-29 14:59:57 -07:00
Jason Volk 5a4a395fc2 Add noexcept to various lambdas (gcc-11). 2022-06-29 14:42:42 -07:00
Jason Volk b677eeb4b7 Allow various unsigned conversions.
construct: Fix comparison signedness warning.
2022-06-29 14:21:36 -07:00
Jason Volk 08fce729c5 Fix redundant moves (gcc-11). 2022-06-29 13:26:01 -07:00
Jason Volk 0de0bddf5e ircd:Ⓜ️:acquire: Fix reference to rvalue event:🆔:buf. 2022-06-28 17:28:29 -07:00
Jason Volk 648f21c906 ircd:Ⓜ️🆔 Eliminate lambda frame from construction stack. 2022-06-28 17:28:28 -07:00
Jason Volk 1f8eb0b4a5 ircd:Ⓜ️🆔 Fix noexcept grammars w/ sketchy codepaths. 2022-06-28 15:44:33 -07:00
Jason Volk 4093a096fe ircd:Ⓜ️🆔 Fix inconsistent eoi check in validator grammars. 2022-06-28 15:34:17 -07:00
Jason Volk dcbab1999a ircd::json::tuple: Remove until(); refactor templates w/ if constexpr. 2022-06-28 12:37:14 -07:00
Jason Volk ffcb4de0e8 ircd:Ⓜ️🆔 Consistent static rules for now; missing name labels; typedefs. 2022-06-27 15:39:05 -07:00
Jason Volk 5a223d3e8c ircd:Ⓜ️🆔 Use the ircd::parse template rather than spirit::qi directly. 2022-06-24 21:31:07 -07:00
Jason Volk 110610f774 ircd:Ⓜ️ Tweak symbol related linkflags for library.
Fix $EXTRA_ flags placement; improve Makefile formatting.
2022-06-24 21:31:05 -07:00
Jason Volk 99f1740289 Fixes for gcc (gnu++20) (gcc-12). 2022-06-20 18:24:55 -07:00
Jason Volk 9ffbd8be37 ircd:Ⓜ️:fed: Implement request-side for knock suite. 2022-06-19 20:27:13 -07:00
Jason Volk da022616d9 ircd:Ⓜ️:fed: Implement request-side for MSC3030 w/ console cmd.
matrix-org/matrix-spec-proposals#3030
2022-06-19 20:27:13 -07:00
Jason Volk 3807a4d832 ircd:Ⓜ️:fed: Add hierarchy request w/ console cmd. 2022-06-19 20:27:13 -07:00
Jason Volk b815ac8bec ircd::fs: Eliminate user-defined ctors on various opts for designated inits. 2022-06-19 20:27:13 -07:00
Jason Volk ffa62d0f4c ircd::json: Remove redundant typedef; simplify.
ircd:Ⓜ️ Fix ambiguous (C++20).
2022-06-19 20:14:22 -07:00
Jason Volk e68856dff3 ircd:Ⓜ️:media::file: Use structured binding; minor cleanup. 2022-06-19 20:14:22 -07:00
Jason Volk 98d97ba0e6 modules/media: Additional assertion related; error logging; minor cleanup. 2022-06-19 20:14:22 -07:00
Jason Volk 147ae27669 modules/media: Improve type and property schema. 2022-06-19 20:14:22 -07:00
Jason Volk d9c9ee3bbe modules/media: Use standard b64 w/ padding for content. 2022-06-19 20:14:22 -07:00
Jason Volk 58d61f4675 ircd:Ⓜ️:media::file: Switch to b64 urlsafe for room_id. 2022-06-19 20:14:22 -07:00
Jason Volk 96587f2e6d modules/media: Eliminate blocks database; encode data into event content. (#139) 2022-06-19 20:14:22 -07:00
Jason Volk 472391d5d3 modules/client/rooms: Implement client 11.36.2 GET /hierarchy. 2022-06-19 19:55:02 -07:00
Jason Volk 78257751ba We work hard with our own hands. When we are cursed, we bless; when we are persecuted, we endure it.
-- 1 Corin 4:12
2022-06-17 21:34:02 -07:00
Jason Volk 1cb26977aa ircd:Ⓜ️:vm::fetch: Fix illegal context switch in catch block. 2022-06-17 21:34:02 -07:00
Jason Volk bee829f4a0 ircd:Ⓜ️ Disable the WAL for bootstrap eval txns. 2022-06-17 21:11:54 -07:00
Jason Volk ffd61f3a2f ircd:Ⓜ️ Add db::sopts passthru in dbs::write_opts. 2022-06-17 21:11:54 -07:00
Jason Volk 202521b9ef ircd:Ⓜ️ Fix spacing. [ci skip] 2022-06-17 21:11:54 -07:00
Jason Volk 37b98a04f3 ircd:Ⓜ️ Fix bootstrap interrupt/terminate exception related. 2022-06-17 21:11:54 -07:00
Jason Volk 705374720b ircd:Ⓜ️ Fix bootstrap event/s counter; add coarse pct indicator. 2022-06-17 21:11:54 -07:00
Jason Volk 401f61e564 ircd::json: Remove unit linkages for constant expression values. 2022-06-17 21:11:54 -07:00
Jason Volk 3cc9743c2c ircd:Ⓜ️:vm: Remove static decls for functions moved to other unit. 2022-06-17 21:11:53 -07:00
Jason Volk 756d16220e ircd:Ⓜ️ Fix range-loop-construct warning (clang). 2022-06-17 21:11:53 -07:00
Jason Volk 4821f6d2db ircd: Move any externally used interfaces out of init objects. 2022-06-17 21:11:53 -07:00
Jason Volk 1055d66f94 Modernize various parser grammars; remove empty ctors. 2022-06-17 21:11:53 -07:00