0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-03 01:09:05 +02:00
Commit graph

403 commits

Author SHA1 Message Date
Jason Volk fcf17db132 ircd: Various fixes / cleanup. 2018-04-20 15:22:49 -07:00
Jason Volk 1d451ca3ff ircd:Ⓜ️ Add additional filter convenience constructors. 2018-04-19 14:23:47 -07:00
Jason Volk 1397091b7c ircd:Ⓜ️:events: Add a filtered iteration. 2018-04-19 14:23:47 -07:00
Jason Volk e57b85cb36 ircd:Ⓜ️ Add developer convenience constructor to event_filter. 2018-04-19 13:47:51 -07:00
Jason Volk fbc78c9c60 ircd:Ⓜ️ Add head_idx(room) convenience to get one head event idx. 2018-04-18 15:09:13 -07:00
Jason Volk 02bc9032e8 ircd:Ⓜ️ Add event::idx to top() tuple. 2018-04-18 15:04:46 -07:00
Jason Volk 7659ef3acc ircd:Ⓜ️ Reorder top() tuple; use strong type template std::get'ers. 2018-04-18 15:03:42 -07:00
Jason Volk d64adf8916 ircd:Ⓜ️ Rename event id generator function. 2018-04-18 14:26:25 -07:00
Jason Volk 7f3919dd17 ircd:Ⓜ️ Split events iterations into namespace. 2018-04-18 01:25:54 -07:00
Jason Volk 5a3f105afc ircd:Ⓜ️ Optimize away the event_seq column. 2018-04-18 00:28:05 -07:00
Jason Volk eefc7430bc ircd:Ⓜ️ Convert db column keys to binary integers over a continuous sequence space. 2018-04-17 21:13:16 -07:00
Jason Volk bcd704826c ircd:Ⓜ️:vm: Move db::txn to the stack; use automatic reserve option. 2018-04-16 17:28:26 -07:00
Jason Volk d5cd5dea09 ircd:Ⓜ️:vm: Sequence iteration interface. 2018-04-16 15:58:02 -07:00
Jason Volk b320d8ece1 ircd:Ⓜ️:vm: Integrate sequence counting. 2018-04-16 15:20:08 -07:00
Jason Volk d5087f4e8f ircd:Ⓜ️:dbs: Add event sequence column. 2018-04-16 15:20:08 -07:00
Jason Volk dcacc5af0a ircd:Ⓜ️:vm: Add db::txn allocation reservation options. 2018-04-16 15:20:08 -07:00
Jason Volk 6d88ee339d ircd:Ⓜ️:dbs: Rename room_origins to room_joined. 2018-04-15 16:43:09 -07:00
Jason Volk 45f8239f9b ircd:Ⓜ️:vm: Properly propagate a context interruption to the evaluator. 2018-04-12 23:07:46 -07:00
Jason Volk cee7a17330 ircd:Ⓜ️:dbs: Purge old cruft; add various \briefs. 2018-04-12 23:07:45 -07:00
Jason Volk 0a1a35fdf4 ircd:Ⓜ️:room::members: Improve interface; add user::id specific iteration closure. 2018-04-12 14:10:03 -07:00
Jason Volk f9ade26b24 ircd:Ⓜ️:dbs: Workaround issues with incorrect std::tuple references. 2018-04-12 14:08:48 -07:00
Jason Volk 28488eb54b ircd:Ⓜ️ Add messages iteration convenience interface to m::room. 2018-04-12 02:14:10 -07:00
Jason Volk b16aa7f55c ircd:Ⓜ️:state: Add get_node(nothrow) overload. 2018-04-11 23:40:30 -07:00
Jason Volk f9ad2523a2 ircd:Ⓜ️:state: Add interface comment after \brief. 2018-04-11 23:40:30 -07:00
Jason Volk 82ef048d3f ircd:Ⓜ️ More complete presence interface getter interface stack. 2018-04-11 23:09:49 -07:00
Jason Volk 75fdf2f518 ircd:Ⓜ️:user: Add naive user commonality interface. 2018-04-11 23:09:49 -07:00
Jason Volk 33ca15e45d ircd:Ⓜ️:user::rooms: Add a count() interface. 2018-04-11 15:47:51 -07:00
Jason Volk 55e4a8fcaf ircd:Ⓜ️ Split user's rooms iteration into separate interface. 2018-04-11 15:38:01 -07:00
Jason Volk 66e81327d0 ircd:Ⓜ️ Order rooms.h below user.h; add alias interface for user's rooms. 2018-04-11 15:10:45 -07:00
Jason Volk e305938b08 ircd:Ⓜ️ Typedef a user::closure. 2018-04-11 15:04:04 -07:00
Jason Volk e9df8b699c ircd:Ⓜ️ Add user room membership convenience interface; apply. 2018-04-11 14:18:38 -07:00
Jason Volk fe90dd4d63 ircd:Ⓜ️ Add convenience interface for rooms / iterations. 2018-04-09 20:12:03 -07:00
Jason Volk 952571a3ad ircd:Ⓜ️ Add key iteration to room::state interface. 2018-04-09 19:24:56 -07:00
Jason Volk c354b6c1e4 ircd:Ⓜ️ Typedef room closure. 2018-04-09 19:24:12 -07:00
Jason Volk 963853ee10 ircd:Ⓜ️ Add init argument to pass dbopts. 2018-04-09 15:57:08 -07:00
Jason Volk 7fb3047f68 ircd:Ⓜ️ 11.18.2.1 account_data w/ central linkage. 2018-04-08 22:11:29 -07:00
Jason Volk 8625823d23 ircd:Ⓜ️:v1: Add public_rooms requestor. 2018-04-08 22:11:28 -07:00
Jason Volk 9df6d127af ircd:Ⓜ️:v1: event_auth convenience conversion; fed event_auth output. 2018-04-08 12:45:05 -07:00
Jason Volk 5621da53bc ircd:Ⓜ️:v1: Add event_auth requestor. 2018-04-08 12:35:27 -07:00
Jason Volk ccf9e993dd ircd:Ⓜ️:txn: Elaborate the txn generation stack. 2018-04-06 22:23:18 -07:00
Jason Volk cfbe032af5 ircd:Ⓜ️ Add room_id() overload checking sigil to skip resolution. 2018-04-06 21:08:59 -07:00
Jason Volk 9863e2a1a3 ircd:Ⓜ️ Add event comparison operator suite. 2018-04-06 03:13:27 -07:00
Jason Volk 13c4a5b79b ircd:Ⓜ️:v1: Add convenience option for dynamic memory to all requests. 2018-04-06 00:21:32 -07:00
Jason Volk d3e6b20f14 ircd:Ⓜ️:vm: Distill vm::opts::commit extension from vm::opts. 2018-04-05 23:14:30 -07:00
Jason Volk 0d42bf62f5 ircd:Ⓜ️:v1: Reduce all head fetches to specific call. 2018-04-05 22:16:32 -07:00
Jason Volk c849a30aa1 ircd:Ⓜ️ Improve interface to current event convenience suite. 2018-04-05 22:16:32 -07:00
Jason Volk b3ba8c6d4b ircd:Ⓜ️ Add convenience to room::state interface to return id buffer. 2018-04-04 22:54:58 -07:00
Jason Volk b675567314 ircd:Ⓜ️🆔 Report 0 if no port affixed to ID, 8448 not implied bc/ SRV. 2018-04-04 13:03:13 -07:00
Jason Volk 1755ca55da ircd:Ⓜ️:v1: Add invite requestor. 2018-04-03 17:18:19 -07:00
Jason Volk b90d4230ca modules/client/rooms/invite: Add invite commit / handler w/ central linkage. 2018-04-03 12:56:46 -07:00
Jason Volk 59531912e4 ircd:Ⓜ️ Add origins::has() to query if origin is in room. 2018-04-03 12:49:34 -07:00
Jason Volk 8b5d27d1fc ircd:Ⓜ️:dbs: Add overload to generate partial origins prefix key. 2018-04-03 12:49:03 -07:00
Jason Volk 7b38d216b4 ircd:Ⓜ️:v1: Fix user devices query and associated console cmd. 2018-04-02 18:40:52 -07:00
Jason Volk e0130466e9 ircd:Ⓜ️:v1: Rename user::id to id::user to avoid local conflict. 2018-04-02 18:40:52 -07:00
Jason Volk baccd4b767 ircd:Ⓜ️:v1: Support request to /state_ids/ as option in m::v1::state. 2018-04-02 18:40:52 -07:00
Jason Volk 46ef2231ab ircd:Ⓜ️ Add a vm::opts* to m:room as a vehicle for opts to eval. 2018-03-28 22:17:09 -07:00
Jason Volk aca515a961 ircd:Ⓜ️ Add missing property 'data' name string. 2018-03-28 14:17:49 -07:00
Jason Volk 85bafcb7de ircd:Ⓜ️ Improve init ordering and process. 2018-03-28 14:11:33 -07:00
Jason Volk 43b92dc95d ircd:Ⓜ️ Minor cleanup. 2018-03-28 14:11:33 -07:00
Jason Volk 14b540c6a8 ircd:Ⓜ️ Add v1::groups namespace; add publicised requestor. 2018-03-28 01:29:58 -07:00
Jason Volk ff1fe4284d ircd:Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join. 2018-03-27 21:44:01 -07:00
Jason Volk 2a8f31c89c ircd:Ⓜ️:dbs: Add db::op to write_opts; support SET and DELETE write() via opts. 2018-03-24 23:29:46 -07:00
Jason Volk 4cae80f9b6 ircd:Ⓜ️ Make event interface consistent with proper ADL participation. 2018-03-23 00:21:27 -07:00
Jason Volk 50b21edb1c ircd:Ⓜ️ Event hash checking stack. 2018-03-23 00:19:55 -07:00
Jason Volk 2116cf6254 ircd:Ⓜ️ Add user::profile suite w/ linkage to modules/client/profile. 2018-03-22 16:27:15 -07:00
Jason Volk 9c26c5facd ircd:Ⓜ️:vm: Option to verify origin signature on eval. 2018-03-22 01:31:17 -07:00
Jason Volk 9f256b9cb4 ircd:Ⓜ️ Distill essential key selection into separate functions. 2018-03-20 22:03:53 -07:00
Jason Volk 7f06300cb8 ircd:Ⓜ️ Extend the verify() stack with overloads that yield for IO. 2018-03-20 19:26:59 -07:00
Jason Volk f121509dba ircd:Ⓜ️ Event verification. 2018-03-20 19:16:04 -07:00
Jason Volk 0b3ec2b476 ircd:Ⓜ️ Convenience to close over decoded ed25519::pk directly. 2018-03-20 18:46:20 -07:00
Jason Volk e74fb81860 ircd:Ⓜ️ Overloads to sign event with supplied sk / json::object. 2018-03-20 18:19:45 -07:00
Jason Volk 1780504cba ircd:Ⓜ️ Cope with raii fails in m::init for right now. 2018-03-17 21:40:27 -07:00
Jason Volk 2b72fae7a1 ircd:Ⓜ️ Move the event max_size conf item; add a MAX_SIZE constexpr. 2018-03-17 21:40:27 -07:00
Jason Volk a632db39d0 ircd:Ⓜ️🆔 Elide re-parsing on buffer copying and allow empty buffers. 2018-03-16 21:42:22 -07:00
Jason Volk 969bc127e8 ircd:Ⓜ️:vm: Fix return values for commit() suite. 2018-03-16 21:42:21 -07:00
Jason Volk 7180eae4af ircd:Ⓜ️:vm: Option for infolog post-commit. 2018-03-16 13:19:52 -07:00
Jason Volk c83a47eb0f ircd:Ⓜ️ Handle and report hookfn exception. 2018-03-16 13:13:33 -07:00
Jason Volk 150831cd83 ircd:Ⓜ️ Add option to elide content keys for pretty_oneline(event). 2018-03-14 23:58:34 -07:00
Jason Volk be6a5b7767 modules/m_receipt: Add committer w/ central linkage; read_markers. 2018-03-14 22:53:34 -07:00
Jason Volk f11c98db34 modules: Add m.receipt; edu handler stack frames. 2018-03-14 21:30:10 -07:00
Jason Volk bda7836ebe ircd:Ⓜ️ Move typing commitment to modules/m_typing; central interface/linkage. 2018-03-14 17:47:59 -07:00
Jason Volk 7ae6ad47ea ircd:Ⓜ️:vm: Options to generate event_id, origin, origin_server_ts. 2018-03-14 16:26:16 -07:00
Jason Volk 2e9ef15cf5 ircd:Ⓜ️ Use vector_view here. 2018-03-14 16:26:16 -07:00
Jason Volk 368b8c4516 ircd:Ⓜ️🆔 Implement MXID interface suite with grammars. 2018-03-13 22:44:13 -07:00
Jason Volk 4aaeaff8fb ircd:Ⓜ️:vm: Add options for pre-checked event conformity or skip entirely. 2018-03-12 19:38:27 -07:00
Jason Volk 9749d7c609 ircd:Ⓜ️:vm: Add wrapping to accepted event notify; further merge EDU and PDU core path. 2018-03-12 19:27:53 -07:00
Jason Volk c2fbe50bce ircd:Ⓜ️ Add additional event conformity checks. 2018-03-12 09:55:45 -07:00
Jason Volk e4d891abac ircd:Ⓜ️ Remove duplicate exists(event_id) util. 2018-03-10 23:04:59 -08:00
Jason Volk 2c4498502a ircd:Ⓜ️ Add txn creation util. 2018-03-09 19:41:16 -08:00
Jason Volk b284f707e5 ircd:Ⓜ️:v1: Support query for client_keys; add console command. 2018-03-09 17:10:45 -08:00
Jason Volk 9b6ef1189b ircd:Ⓜ️:v1: Support query for user_devices; add console command. 2018-03-09 17:10:45 -08:00
Jason Volk 08fc944021 ircd:Ⓜ️ Tweak specifics of user/account creation/activation related. 2018-03-09 17:10:45 -08:00
Jason Volk 1cfe841462 ircd:Ⓜ️ Add additional event::conforms checks; comments. 2018-03-09 07:46:26 -08:00
Jason Volk 57deb2212a ircd:Ⓜ️ Add room::messages iterator event_id cast operator. 2018-03-08 19:11:47 -08:00
Jason Volk 4a5bea668c ircd/ircd:Ⓜ️ extern event_max_size conf item; minor cleanup. 2018-03-08 16:36:49 -08:00
Jason Volk f2a39394cd ircd:Ⓜ️:vm: Add opts for dbs history/present; use more efficient iov pusher. 2018-03-08 15:55:54 -08:00
Jason Volk e2db58bd81 ircd:Ⓜ️:v1: Fix send_join argument. 2018-03-08 15:55:02 -08:00
Jason Volk be2a7007fa ircd:Ⓜ️ Add exists(room_alias) with option for remote query; translate not_found exception. 2018-03-08 11:39:37 -08:00
Jason Volk dc59cb8880 ircd:Ⓜ️ Overload exists(room) in addition to room::id. 2018-03-08 11:38:29 -08:00
Jason Volk b5ad6b55a6 ircd:Ⓜ️:vm: Add eval options for hashing signing and pre-commit debuglog. 2018-03-08 10:08:38 -08:00
Jason Volk 1e6d3d3294 ircd:Ⓜ️:vm: Add opts argument to event commission; comment cleanup. 2018-03-08 10:08:38 -08:00
Jason Volk f1a45cc9df ircd:Ⓜ️ Libify hashing/signing functions out of vm::commit(). 2018-03-07 13:28:15 -08:00
Jason Volk 901a77266e ircd:Ⓜ️:vm: Massage edus through the core eval path; rename inserted to accept. 2018-03-07 13:28:15 -08:00
Jason Volk d50714ab7d ircd:Ⓜ️:v1: Default ctors for all classes. 2018-03-06 04:28:17 -08:00
Jason Volk c864a6b446 ircd:Ⓜ️ Move keys related into modules/key; keys into node's room; remaining keys.cc into m.cc. 2018-03-06 00:10:36 -08:00
Jason Volk 0fe0d548c0 ircd:Ⓜ️ Consistent cast to eponymous mxid for classes. 2018-03-05 23:47:23 -08:00
Jason Volk 63614107f8 ircd:Ⓜ️ Introduce the node and the node::room. 2018-03-05 23:47:23 -08:00
Jason Volk bbf1cff21b ircd:Ⓜ️🆔 Rename origin to node. 2018-03-05 08:22:24 -08:00
Jason Volk ec0d151827 ircd:Ⓜ️ Move user::password related to modules/client/account/password. 2018-03-05 05:24:45 -08:00
Jason Volk f8dc84d46e ircd:Ⓜ️ Modularize the user::activate/user::deactivate definitions. 2018-03-05 05:24:45 -08:00
Jason Volk 01ce9a3d6f ircd:Ⓜ️ Move spec tuples into headers. 2018-03-05 05:24:45 -08:00
Jason Volk bfc2ab4eef ircd:Ⓜ️ Improve error ctor related. 2018-03-05 01:34:03 -08:00
Jason Volk b37bb580be ircd:Ⓜ️ Deinline these error ctors. 2018-03-05 01:07:52 -08:00
Jason Volk 8b7b8bb584 ircd:Ⓜ️🆔 Add function to update buffer's view after direct write. 2018-03-05 00:52:24 -08:00
Jason Volk a39781924c ircd:Ⓜ️ Take this buffer off-stack. 2018-03-04 09:21:51 -08:00
Jason Volk 69b0acde63 ircd:Ⓜ️ Preliminary reorg around experimental presence interface. 2018-03-04 08:57:02 -08:00
Jason Volk e2ddeb4190 ircd:Ⓜ️ Add edu tuples; improve txn tuple typing. 2018-03-04 08:57:01 -08:00
Jason Volk 240e01a9b5 ircd:Ⓜ️ Integrate present room state table optimization into interface. 2018-03-04 02:09:41 -08:00
Jason Volk 5b4c65c875 ircd:Ⓜ️:dbs: Add and use origins key separator; minor cleanup. 2018-03-04 00:30:25 -08:00
Jason Volk 472aaecb0f ircd:Ⓜ️:dbs: Add back the sequential state index for present room state. 2018-03-04 00:30:25 -08:00
Jason Volk 8bb31107bd ircd:Ⓜ️ Relax room ctor event_id parameter for empty string_view{}. 2018-03-04 00:30:25 -08:00
Jason Volk c676d56dcd ircd:Ⓜ️ Add room::members::count() with membership=join optimized path. 2018-03-03 10:17:05 -08:00
Jason Volk 7a860964c4 ircd:Ⓜ️ Split the origins iteration to also allow raw key iteration. 2018-03-03 10:17:05 -08:00
Jason Volk 8a5462063e ircd:Ⓜ️ Add util to get membership from either event.membership or event.content. 2018-03-03 10:17:05 -08:00
Jason Volk e95b61d46b ircd:Ⓜ️ Add a room::origins::count()er. 2018-03-03 05:56:42 -08:00
Jason Volk 763c14fb7b ircd:Ⓜ️:dbs: Add crucial member key to origins sequence. 2018-03-03 05:47:15 -08:00
Jason Volk d0ef714179 ircd:Ⓜ️🆔 Tighten exception spec on boolean validators; tweak test grammar. 2018-03-03 05:04:23 -08:00
Jason Volk 7eff71b9a3 ircd:Ⓜ️ Add function to check if and only if id is a valid localpart. 2018-03-03 04:06:49 -08:00
Jason Volk 6333003aad ircd:Ⓜ️ Move user::activate() out to modules/client/register. 2018-03-03 00:51:27 -08:00
Jason Volk fa3d92103c ircd:Ⓜ️ Add event serial size check; check size during commit. 2018-03-03 00:04:43 -08:00
Jason Volk c4d8b17ecb ircd:Ⓜ️ Add convenience sender for org.matrix.custom.html messages. 2018-03-02 23:22:52 -08:00
Jason Volk a99fff0988 ircd:Ⓜ️ Add meta column for sequential presently joined origins iteration. 2018-03-02 22:03:06 -08:00
Jason Volk 94087f6316 ircd:Ⓜ️ Add alternative hook ctor for simple argument syntax reversal. 2018-03-02 21:12:11 -08:00
Jason Volk 150543ae91 ircd:Ⓜ️ Add linkage for user::presence;
modules/client/presence: reorg for linkage; minor cleanup.
2018-03-02 08:02:21 -08:00
Jason Volk f7034d0bf5 ircd:Ⓜ️ Add convenience notice(room) suite. 2018-03-02 08:02:21 -08:00
Jason Volk 97e593a77e ircd: Mein conf. 2018-03-02 08:02:20 -08:00
Jason Volk c31b072a82 ircd:Ⓜ️ Improve room::membership() convenience query interface. 2018-02-28 21:05:09 -08:00
Jason Volk bd065a826a ircd:Ⓜ️:vm: Add error class; add/checkin options; checkpoint preliminary eval. 2018-02-27 22:57:05 -08:00
Jason Volk 14d5bd4f99 ircd:Ⓜ️:state: Checkpoint removal entry point. 2018-02-27 22:57:05 -08:00
Jason Volk 8f086aaed9 ircd:Ⓜ️ Add convenience operator|= to event::conforms for masking. 2018-02-27 20:55:59 -08:00
Jason Volk ef9646e719 ircd:Ⓜ️ Add exists(event::id) database check. 2018-02-27 20:47:19 -08:00
Jason Volk bd4da0dd0a ircd:Ⓜ️ Consider these not-errors to allow for forward-compat/reuse. 2018-02-27 20:25:23 -08:00
Jason Volk d1b66e2657 ircd:Ⓜ️:v1: Remove all the static default_opts. 2018-02-26 21:43:02 -08:00
Jason Volk e67ce2b43e ircd:Ⓜ️ Add room_alias -> room_id outsourcing; plug in modules/client/join. 2018-02-26 04:55:27 -08:00
Jason Volk 0721d28254 ircd:Ⓜ️🪝 Minor cleanup: move event_match function to hook::. 2018-02-26 01:40:41 -08:00
Jason Volk e259d7bad7 ircd:Ⓜ️🪝 Use union matching strategy by default. 2018-02-26 00:07:53 -08:00
Jason Volk bd14377904 ircd:Ⓜ️ Captain hook. 2018-02-25 23:35:25 -08:00
Jason Volk c41a3dc25c ircd:Ⓜ️:v1: Add overloads to derive query remote from mxids. 2018-02-25 02:05:43 -08:00
Jason Volk 619a5a6a96 ircd:Ⓜ️:v1: Add additional query::profile field overload. 2018-02-25 00:30:45 -08:00
Jason Volk a25b9c84f5 ircd:Ⓜ️ Add missing/matching my(user). 2018-02-25 00:30:45 -08:00