Jason Volk
f0c08d2a54
ircd::push: Minor reorg; invert interface.
2020-03-20 22:25:14 -07:00
Jason Volk
d1ff1aec74
ircd: Ⓜ️ :push: Implement r0.6.0-13.13.1.5.3 condition kind subroutine logics.
2020-03-20 22:25:14 -07:00
Jason Volk
8ca580362f
ircd: Ⓜ️ :room::bootstrap: Fix loss of room version information during bootstrap.
2020-03-20 12:04:19 -07:00
Jason Volk
fa4160e9a6
ircd::db::dbs: Eliminate strict room::id from event_state tuple; simplify comparator.
2020-03-19 21:54:07 -07:00
Jason Volk
f8b99ad26e
ircd: Ⓜ️ :user: Remove pre-pushrules highlight counter.
2020-03-19 16:01:32 -07:00
Jason Volk
bab3f959ac
ircd: Ⓜ️ :push: Move default rules string under rules class; minor reorg.
2020-03-19 16:01:32 -07:00
Jason Volk
a3037b7cd4
ircd: Ⓜ️ :user: Add interface definitions for push rule events to user room.
2020-03-18 14:34:29 -07:00
Jason Volk
2aec995edd
ircd: Ⓜ️ :push: Move path tuple; add type string suite.
2020-03-18 14:34:29 -07:00
Jason Volk
5391ba7b76
ircd: Ⓜ️ :push: Add spec-default ruleset object.
2020-03-18 12:27:14 -07:00
Jason Volk
6c807f7e96
ircd: Ⓜ️ :push: Add push ruleset, rule, condition, and pushers structures.
2020-03-18 10:42:48 -07:00
Jason Volk
0bb52f57a3
ircd: Ⓜ️ :user: Add unit and preliminary interface stubs for pushrules.
2020-03-18 10:42:48 -07:00
Jason Volk
0b8b3ee988
ircd: Ⓜ️ :vm: Add an opts.unique bypass option for condition.
2020-03-17 11:48:22 -07:00
Jason Volk
ec5fd98f59
ircd: Ⓜ️ :homeserver: Use central imports map; reorder constructions.
2020-03-16 18:17:52 -07:00
Jason Volk
0fb19b85ca
ircd: Ⓜ️ :media::file: Adjust download overloads; fix use of empty remote string in messages.
2020-03-13 14:52:08 -07:00
Jason Volk
3b2342e001
ircd: Ⓜ️ :room::origins: Simplify callstack; remove unused iteration.
2020-03-09 14:41:36 -07:00
Jason Volk
49dc7e77f2
ircd: Ⓜ️ :media: Use abstract federation request for media downloads.
2020-03-07 21:33:44 -08:00
Jason Volk
63aa71ce58
ircd: Ⓜ️ :fed: Implement federation 3.1 well-known for server name resolution.
2020-03-07 21:33:44 -08:00
Jason Volk
55ffdddc6a
ircd: Ⓜ️ :fed: Refactor all interfaces using abstract request.
2020-03-07 21:33:44 -08:00
Jason Volk
c0a5a7a89e
ircd: Ⓜ️ Simplify various interfaces using string rather than net::hostport remotes.
2020-03-07 17:17:46 -08:00
Jason Volk
a068981452
ircd: Ⓜ️ :fed: Simplify and rename well known fetch function.
2020-03-07 14:55:50 -08:00
Jason Volk
6ab71b8fdc
ircd: Ⓜ️ :fed: Add well-known request for server name resolution w/ console cmd.
2020-03-06 18:28:41 -08:00
Jason Volk
0a90b4d4cc
ircd: Ⓜ️ :fed: Apply the canon service to all remotes without a service string.
2020-03-06 10:37:28 -08:00
Jason Volk
c44d732443
ircd: Ⓜ️ Rename v1/v2 namespace to fed.
2020-03-05 20:06:14 -08:00
Jason Volk
a46bf7dcbe
ircd::net: Eliminate the legacy canon_port/canon_service defaults.
...
ircd:Ⓜ️ Move canon_port/canon_service into matrix lib.
2020-03-05 14:18:55 -08:00
Jason Volk
14b962a695
ircd: Ⓜ️ :vm: Track evaluation hook phase.
2020-03-02 20:55:08 -08:00
Jason Volk
f471093d3e
ircd: Ⓜ️ :user::rooms: Use _event_state to eliminate the ircd.member type.
2020-03-01 17:13:15 -08:00
Jason Volk
cb0363f13c
ircd: Ⓜ️ :rooms: Add dump to file util w/ console cmd.
2020-02-28 20:19:42 -08:00
Jason Volk
8d9a9eccfb
ircd: Ⓜ️ :rooms: Add prefetch context on iteration.
2020-02-28 20:19:42 -08:00
Jason Volk
d402eddb98
ircd::run: Place out-of-line default ctor/dtor definitions.
...
ircd::http::error: Place out-of-line dtor definition.
ircd:Ⓜ️ :error: Place out-of-line dtor definition.
ircd::exception: Place out-of-line dtor definition.
ircd:Ⓜ️ :vm: Place out-of-line ctor definitions for copts/opts.
2020-02-28 12:36:45 -08:00
Jason Volk
1bdf52b7bb
ircd: Ⓜ️ :events: Add preliminary interface to _event_state w/ console cmd.
2020-02-26 18:24:17 -08:00
Jason Volk
8baaf366c4
ircd: Ⓜ️ :event: Fix signature interface regression; optimize call path.
2020-02-24 11:01:52 -08:00
Jason Volk
a4f48eaab8
ircd: Ⓜ️ :vm::eval: Conduct parallel fetch of new keys for vector eval.
2020-02-20 18:43:47 -08:00
Jason Volk
20bc23abde
ircd: Ⓜ️ :dbs: Replace pairs with tuples for reference lifetime issue w/ clang.
2020-02-20 16:25:51 -08:00
Jason Volk
a13d9282ac
ircd: Ⓜ️ :vm::eval: Add vector_view construction and eval to interface/stack.
2020-02-20 14:49:33 -08:00
Jason Volk
24325c8fc1
ircd: Ⓜ️ Add overload for nothrow integral m::get w/ defaulting.
2020-02-19 13:27:13 -08:00
Jason Volk
0c1970af0f
ircd: Ⓜ️ :feds: Add default inline construction to reassert noexcept.
2020-02-19 13:26:05 -08:00
Jason Volk
3c9f0c82e7
ircd: Ⓜ️ :matrix: Remove noexcept specifier for clang mangle resolution.
2020-02-11 12:19:32 -08:00
Jason Volk
5993c6cdf4
ircd: Ⓜ️ :event::fetch: Minor cleanup.
2020-01-11 23:31:53 -08:00
Jason Volk
f952cecfbb
ircd: Ⓜ️ :vm: Add txnid to opts; propagate from federation send.
2020-01-06 17:01:21 -08:00
Jason Volk
d9c7985376
ircd: Ⓜ️ :sync: Add next_batch central convenience; add branding to token.
2020-01-06 13:24:21 -08:00
Jason Volk
68a56374e3
ircd: Ⓜ️ :fed: Allow empty response to not throw in convenience cast.
2020-01-05 17:30:58 -08:00
Jason Volk
189b5cfbcd
ircd: Ⓜ️ :keys: Add back tls_fingerprints due to reintroduction by matrix.org.
2019-12-21 14:34:28 -08:00
Jason Volk
ba5352e560
ircd: Ⓜ️ :room: Add annotate() convenience reaction.
2019-12-11 14:09:22 -08:00
Jason Volk
6fa63f8bf0
ircd: Ⓜ️ :room: Add react() convenience sender.
2019-12-11 14:07:24 -08:00
Jason Volk
bf2df9c223
ircd: Ⓜ️ Add a tuple structure for m_relates_to.
2019-12-11 11:01:11 -08:00
Jason Volk
8dfbe808d6
ircd: Ⓜ️ :room::head: Add room version hint to opts to reduce query.
2019-12-10 12:06:54 -08:00
Jason Volk
5c74bfbd7f
ircd: Ⓜ️ :event: Add event::my(event::idx) query util; branch for event: 🆔 :host() use.
2019-12-10 12:06:54 -08:00
Jason Volk
7b3f0a1874
ircd: Ⓜ️ :event::refs: Add note for fwd decl. [ci skip]
2019-12-10 11:37:09 -08:00
Jason Volk
12b340c093
ircd: Ⓜ️ :room::head: Elaborate the prev_events generating interface; add features.
2019-12-10 11:37:09 -08:00
Jason Volk
21ad249f74
ircd: Ⓜ️ :event::fetch: Move default opts ctor out of line.
2019-12-03 12:09:25 -08:00
Jason Volk
1a22309919
ircd::resource: Add doxygen brief for suite; also note abstraction leak.
2019-12-02 17:50:11 -08:00
Jason Volk
e1e67f7603
ircd: Ⓜ️ 🆔 Inline ctors with missy jumps.
2019-10-09 22:15:49 -07:00
Jason Volk
1d1f04126b
ircd: Ⓜ️ :dbs: Add _event_state column.
2019-10-05 22:24:21 -07:00
Jason Volk
7ec7390211
ircd: Ⓜ️ :init::backfill: Fix interface; reenable for primary.
2019-10-04 14:36:52 -07:00
Jason Volk
1f88439bc1
ircd: Ⓜ️ :homeserver: Additional my_ tools.
2019-10-04 13:55:06 -07:00
Jason Volk
1add5349ac
ircd: Ⓜ️ :homeserver: 🔑 Add the verify_keys generation subroutine.
2019-10-04 13:55:06 -07:00
Jason Volk
6f798df65c
ircd: Ⓜ️ :homeserver: Refactor conf related; patch self:: related; console cmds.
2019-10-04 13:49:37 -07:00
Jason Volk
08ea932c59
ircd: Ⓜ️ Simplify/remove homeserver::rooms related.
2019-10-04 12:48:02 -07:00
Jason Volk
723997fd2e
ircd: Ⓜ️ :homeserver: Additional construction; bootstrap related.
2019-10-03 12:15:23 -07:00
Jason Volk
8764f523d4
ircd: Ⓜ️ :vm: Move core from modules to matrix; split units.
2019-10-03 12:14:29 -07:00
Jason Volk
dbb3c55db5
matrix: Add m::homeserver; preliminary virtual origin networks.
2019-10-01 17:56:01 -07:00
Jason Volk
9c49e8bdb5
ircd: Ⓜ️ Remove tls fingerprint related.
2019-09-30 20:38:57 -07:00
Jason Volk
31ee90c056
ircd: Ⓜ️ :self: Move the signoff/signon greeting to self.cc.
2019-09-30 14:23:28 -07:00
Jason Volk
0b0e903dc7
construct: Add matrix unit; move instance out from ircd.
2019-09-30 14:23:28 -07:00
Jason Volk
85845dcff2
Abstract ircd::resource from ircd: Ⓜ️ :resource; fix header stack.
2019-09-29 14:00:02 -07:00
Jason Volk
5f4d8afd86
ircd: Ⓜ️ :user: Remove noexcept for I/O interrupt; minor cleanup.
2019-09-28 01:19:25 -07:00
Jason Volk
8259ac6a31
ircd: Ⓜ️ Improve fetch init/fini for now.
2019-09-27 21:18:07 -07:00
Jason Volk
f6992ca3e1
matrix: Split matrix base unit.
2019-09-27 19:35:26 -07:00
Jason Volk
183e44e0b6
modules: Distill all API's from modules up to matrix lib.
2019-09-27 19:35:26 -07:00
Jason Volk
89e0a7fc82
ircd: Move matrix application related to derived library.
2019-09-27 19:35:26 -07:00
Jason Volk
7934756858
ircd: Ⓜ️ Split user registration API from client/register; minor reorg.
2019-09-27 19:35:26 -07:00
Jason Volk
0b4ec3873c
ircd: Ⓜ️ :room: Make inline ctor noexcept.
2019-09-26 14:03:43 -07:00
Jason Volk
8880eadfd5
ircd: Ⓜ️ :room::events: Additional prefetch()/preseek() related interfaces.
2019-09-24 15:46:11 -07:00
Jason Volk
4254960ee1
ircd: Ⓜ️ Simplify m::visible(); refactor implementation.
2019-09-24 15:16:19 -07:00
Jason Volk
9cb0f46440
ircd: Ⓜ️ :room::events: Cleanup/simplify; reorg interface.
2019-09-24 14:31:14 -07:00
Jason Volk
575bacee8d
ircd: Ⓜ️ :room::events: Simplify count() suite.
2019-09-23 23:26:07 -07:00
Jason Volk
f9e5ece672
ircd: Ⓜ️ :get: Fix false assertion when no result.
2019-09-22 21:13:45 -07:00
Jason Volk
083493dd1c
ircd: Ⓜ️ :room: Minor cleanup; move ctor defs out of class.
2019-09-19 11:31:10 -07:00
Jason Volk
c12205e39b
ircd: Ⓜ️ :room::state: Refactor the prefetch() interface.
2019-09-18 13:39:02 -07:00
Jason Volk
83cce03f6f
ircd: Ⓜ️ :room::state: Add prefetch() support to state::history/state::space.
2019-09-18 13:30:15 -07:00
Jason Volk
601f26983e
ircd: Ⓜ️ Support vector of membership states in optimal aggregate query.
2019-09-18 12:30:51 -07:00
Jason Volk
0d25e68c50
ircd: Ⓜ️ Support query for non-membership with empty string to interface.
2019-09-18 12:30:51 -07:00
Jason Volk
11699baff0
ircd: Ⓜ️ Consolidate m::membership() suite to header; minor cleanup.
2019-09-18 12:30:50 -07:00
Jason Volk
e94a21aa7d
ircd: Ⓜ️ :redacted: Add prefetch() to interface.
2019-09-17 21:06:03 -07:00
Jason Volk
26154de7c4
ircd: Ⓜ️ :event::refs: Add prefetch() to interface.
2019-09-17 21:06:03 -07:00
Jason Volk
a3163a5ae7
ircd: Ⓜ️ Use util::boolean for m::redacted.
2019-09-17 21:06:03 -07:00
Jason Volk
b3323c3f8d
ircd: Ⓜ️ :event::append: Add option to bypass redaction query.
2019-09-17 20:17:37 -07:00
Jason Volk
dc1364c735
ircd: Ⓜ️ :media::block: Add zero-copy block::get() closure.
2019-09-17 20:17:37 -07:00
Jason Volk
e267b5232d
ircd: Ⓜ️ :media::block: Add prefetch() to interface.
2019-09-17 11:35:50 -07:00
Jason Volk
6102c0a8b2
ircd: Ⓜ️ :room::events: Improve comment [skip ci].
2019-09-17 11:03:30 -07:00
Jason Volk
b3f646b478
ircd: Ⓜ️ :room::events: Add prefetch() convenience to interface.
2019-09-17 10:35:58 -07:00
Jason Volk
a9b86c5594
ircd: Ⓜ️ :fetch: Add an attempt_limit option to interface; minor cleanup.
2019-09-16 12:30:36 -07:00
Jason Volk
49ed79e9df
ircd: Ⓜ️ :fetch: Rename opts::limit to opts::backfill_limit.
2019-09-16 12:09:30 -07:00
Jason Volk
568a2881df
ircd: Ⓜ️ :event::refs: Branch on the event_idx sentinel here.
2019-09-15 20:21:17 -07:00
Jason Volk
b4b07debbd
ircd: Ⓜ️ :event::append: Add option to elide query for state prev_content.
2019-09-15 19:47:03 -07:00
Jason Volk
ea33e0326e
ircd: Ⓜ️ :rooms::summary: Refactor for per-origin result synthesis and learning.
2019-09-15 14:59:36 -07:00
Jason Volk
6450d38c04
ircd: Ⓜ️ :rooms: Split rooms::summary header.
2019-09-14 17:44:49 -07:00
Jason Volk
9319df1a1b
ircd: Ⓜ️ :rooms::summary: Export state key manip utils to interface.
2019-09-14 16:08:33 -07:00
Jason Volk
5493376731
ircd: Ⓜ️ Start a search namespace; add spec tuple.
2019-09-14 13:51:24 -07:00
Jason Volk
6da9219039
ircd: Ⓜ️ :feds: Give the op enum more prominence.
2019-09-13 23:16:07 -07:00
Jason Volk
a2ffebeb06
ircd: Ⓜ️ :rooms::summary: Use server name as fetch target.
2019-09-13 18:41:06 -07:00
Jason Volk
0c45fb827d
ircd: Ⓜ️ :vm: Add a specific edu option to vmopts.
2019-09-13 15:26:44 -07:00
Jason Volk
54c29274f2
ircd: Ⓜ️ :room::server_acl: Propagate exceptions through check().
2019-09-13 14:10:27 -07:00
Jason Volk
9c68d01d86
ircd: Ⓜ️ :room: Remove cruft.
2019-09-12 11:57:42 -07:00
Jason Volk
fac2a1e070
ircd: Ⓜ️ :vm::eval: Add count(event_id) to static interface.
2019-09-11 12:51:54 -07:00
Jason Volk
0241f2b9a1
ircd: Ⓜ️ :room::members: Add host argument to interface stack for more efficient queries.
2019-09-11 10:53:48 -07:00
Jason Volk
ec4c6c46ac
ircd: Ⓜ️ :vm: Partial revert of a35328f38; remove mutex; use sequencing.
2019-09-10 14:45:54 -07:00
Jason Volk
ac572aeeaa
ircd: Ⓜ️ Add branch and overload for event::id in room_id() suite.
2019-09-09 19:34:27 -07:00
Jason Volk
a35328f384
ircd: Ⓜ️ :vm: Add inner lock around write commitment.
2019-09-08 19:58:58 -07:00
Jason Volk
fda4c9d0ce
ircd: Ⓜ️ :append: Add some \briefs. [skip ci]
2019-09-08 15:33:56 -07:00
Jason Volk
82ef916256
ircd: Ⓜ️ :events: Add rebuilder for type/sender meta columns.
2019-09-07 20:35:27 -07:00
Jason Volk
2739696e8f
ircd: Ⓜ️ :rooms: Add options construction from string; simplify.
2019-09-07 20:05:48 -07:00
Jason Volk
415491b9b6
ircd: Ⓜ️ :rooms: Improve options interface for meta-characteristics.
2019-09-07 16:56:17 -07:00
Jason Volk
d1a64471a2
ircd: Ⓜ️ :room::members: Move the present join optimization implementation from origins.
2019-09-07 16:56:17 -07:00
Jason Volk
f186fb6e12
ircd: Ⓜ️ :room: Redefine and expand the local_only(room) suite.
2019-09-07 16:06:45 -07:00
Jason Volk
6a59036f4e
ircd: Ⓜ️ 🧾 Reorg/rename interface; simplify impl; add options argument.
...
ircd:Ⓜ️ 🧾 Remove central linkage cruft for interface.
2019-09-06 11:57:02 -07:00
Jason Volk
425aa83900
ircd: Ⓜ️ :rooms: Add options for user_id / room_alias related.
2019-09-05 21:36:16 -07:00
Jason Volk
dfdee1eac9
ircd: Ⓜ️ Consolidate viewport calculation data sources; signed integer conf item.
2019-09-05 21:36:16 -07:00
Jason Volk
6831f195aa
ircd: Ⓜ️ :room::events: Add viewport metric concept; conf item.
2019-09-05 18:10:44 -07:00
Jason Volk
c570e04622
ircd: Ⓜ️ :event::prev: Add _events_exist() convenience suite.
2019-09-05 18:10:44 -07:00
Jason Volk
f67eafd078
ircd: Ⓜ️ :vm::fetch: Remove/reorg stale fetch related options.
2019-09-05 18:10:44 -07:00
Jason Volk
1210523757
ircd::ctx: Support shared futures.
2019-09-03 15:56:14 -07:00
Jason Volk
74679a3a5f
ircd: Ⓜ️ :fetch: Fix initialization order for server::request buf; add linkage for dtor.
2019-09-03 14:43:34 -07:00
Jason Volk
52fd0d1b2e
ircd: Ⓜ️ :room::events::missing: Add limited iteration overload.
2019-08-31 00:17:11 -07:00
Jason Volk
003575c418
ircd: Ⓜ️ :room::events: Rename missing to horizon; reimplement missing.
2019-08-30 23:43:34 -07:00
Jason Volk
1d835f2ed2
ircd: Ⓜ️ :dbs: Minor reorder.
2019-08-30 23:09:21 -07:00
Jason Volk
217b2d51d5
ircd: Ⓜ️ Add additional horizon rebuilders.
2019-08-30 22:57:15 -07:00
Jason Volk
3d5b2ca262
ircd: Ⓜ️ :room::events::missing: Add count() to interface.
2019-08-30 22:57:15 -07:00
Jason Volk
91862e381f
ircd: Ⓜ️ Add additional query() convenience template.
2019-08-30 21:32:02 -07:00
Jason Volk
b38cf0012e
ircd: Ⓜ️ :event::horizon: Improve some comments.
2019-08-30 21:31:40 -07:00
Jason Volk
10cb380473
ircd: Ⓜ️ :room::events: Reorg sounding / gaps related interfaces; reorder definitions.
2019-08-30 19:41:48 -07:00
Jason Volk
6775ee2f3b
ircd: Ⓜ️ :room: Move m::room::events non-member tools to module; rename/reorg count().
2019-08-30 16:21:50 -07:00
Jason Volk
a52ad73e87
ircd: Ⓜ️ :room: Rename room::messages to room::events.
2019-08-30 14:43:19 -07:00
Jason Volk
fc61fd6b70
ircd: Ⓜ️ :fetch: Add backfill support; minor reorg.
2019-08-29 22:14:08 -07:00
Jason Volk
a93f5a54d6
ircd: Ⓜ️ :fetch: Support v1::event_auth operation with interface.
2019-08-29 22:14:07 -07:00
Jason Volk
9b23b4d907
ircd: Ⓜ️ :fetch: Add remote hinting to fetch::opts.
2019-08-29 22:14:07 -07:00
Jason Volk
ac573cd21d
ircd: Ⓜ️ :fetch: Cleanup/document interface; add basis for operation abstraction.
2019-08-29 21:32:10 -07:00
Jason Volk
fb8e3de485
ircd: Ⓜ️ :fed::event: Minor cleanup.
2019-08-29 18:27:08 -07:00
Jason Volk
b39676f85a
ircd: Add some timepoint convenience macros.
2019-08-29 17:12:15 -07:00
Jason Volk
7be4137c7e
ircd: Ⓜ️ :feds: Add some comments/documentation. [skip ci]
2019-08-29 14:18:49 -07:00
Jason Volk
035dbbab88
ircd: Ⓜ️ :typing: Add user control over sending and receiving typing events per room.
2019-08-28 16:48:36 -07:00
Jason Volk
04b17bc9d7
ircd: Ⓜ️ :typing: Interface cleanup.
2019-08-28 16:48:36 -07:00
Jason Volk
7b33dd1775
ircd: Ⓜ️ 🧾 Add briefs on interface.
2019-08-28 14:57:26 -07:00
Jason Volk
1323b30f34
ircd: Ⓜ️ :fetch: Move auth_chain() to vm::fetch module.
2019-08-27 20:58:52 -07:00
Jason Volk
766dfe027d
ircd: Ⓜ️ :keys::cache: Add has() to interface.
2019-08-27 16:26:58 -07:00
Jason Volk
c57bc9077c
ircd: Ⓜ️ :fetch: Add future result interface; refactor eval out of flow. ( fixes #103 ) ( closes #131 )
...
modules: Split m_vm_fetch from m_fetch.
2019-08-26 16:17:09 -07:00
Jason Volk
9b5ffb0b1f
modules: Split m::createroom related from client/.
2019-08-25 19:44:00 -07:00
Jason Volk
875b03fa1e
ircd: Ⓜ️ :room: Simplify prototypes.
2019-08-25 19:44:00 -07:00
Jason Volk
885499ad99
ircd: Ⓜ️ :room: Start a spec faithful display_name(room) diagnostic.
2019-08-25 16:05:10 -07:00
Jason Volk
42b689a7a0
ircd: Ⓜ️ :room::power: Document with some usage details.
2019-08-25 15:22:43 -07:00