0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-27 01:02:46 +01:00
Commit graph

696 commits

Author SHA1 Message Date
Jason Volk
61fcc07fcf modules/client/sync: Refactor longpoll handler. 2019-07-08 06:03:20 -07:00
Jason Volk
cbb39105e1 ircd:Ⓜ️:sync: Add next_batch_token to args struct for direct view. 2019-07-08 06:03:20 -07:00
Jason Volk
7dc5d30405 ircd:Ⓜ️:sync: Move data ctor to module. 2019-07-08 06:03:20 -07:00
Jason Volk
11dd47a8aa ircd:Ⓜ️:sync: Add pointer to struct args in struct data. 2019-07-08 06:03:20 -07:00
Jason Volk
021823ec6d modules/client/rooms/context: Add non-spec param to disappear state entirely from response. 2019-07-08 06:03:20 -07:00
Jason Volk
f21fccbbd7 modules/client/rooms/context: Support filter; respect lazy-loading members in returned state. 2019-07-07 22:06:11 -07:00
Jason Volk
c38b7b583b modules/client/sync/rooms/state: Add proper member events at phase 0. 2019-07-07 06:04:55 -07:00
Jason Volk
b2ced7aea5 modules/client/sync/rooms/state: No need to fetch the creator member on phase 0. 2019-07-07 04:00:48 -07:00
Jason Volk
68ec7b1c5d modules/client/versions: Add the earlier versions. 2019-07-07 03:59:51 -07:00
Jason Volk
bd09a9aba2 modules/client/rooms/members: Implement c2s r0.5.0 query parameters. 2019-07-07 03:59:51 -07:00
Jason Volk
ec6651d76d modules/client/user/filter: Use b64url filter ID's. 2019-07-07 01:11:24 -07:00
Jason Volk
2bd3a8f021 modules/client/sync/rooms/ephemeral/receipt: Make the search depth a conf item. 2019-07-06 23:20:43 -07:00
Jason Volk
6fb6f096de modules/client/sync: Pack the upper-bound into the phased polylog since token. 2019-07-06 22:25:16 -07:00
Jason Volk
5c8425d047 modules/client/sync: Add comments to main frame. 2019-07-06 22:25:16 -07:00
Jason Volk
18f07b6378 ircd:Ⓜ️:sync: Move definitions to module.
ircd:Ⓜ️:sync: Give sync::data an instance_list.
2019-07-06 22:25:12 -07:00
Jason Volk
c6a9cf3849 modules/client/sync: Split internal sync.h header. 2019-07-06 19:05:36 -07:00
Jason Volk
1177368723 modules/client/sync/rooms/summary: Add preliminary m.heroes array to summary. 2019-07-06 18:53:45 -07:00
Jason Volk
c54c2fb9d0 modules/client/capabilities: Fix m.room.version->default serialization type.
modules/client/capabilities: Add room version "4" and "5" with unstable disposition for now.
2019-07-06 18:17:35 -07:00
Jason Volk
ff4fefe99c modules/client/capabilities: Move handler into namespace. 2019-07-06 18:11:03 -07:00
Jason Volk
f9dbd306d6 modules/client/versions: Generate response content dynamically. 2019-07-06 17:58:47 -07:00
Jason Volk
375c763f90 modules/client/sync/rooms: Add c2s r0.5.0 rooms.join.summary object. 2019-07-06 17:35:55 -07:00
Jason Volk
2b7d862330 modules/client/sync/rooms/state: Trim the initial crazyloaded state. 2019-07-06 17:35:55 -07:00
Jason Volk
767e18791c modules/client/sync: Fix queue pop. 2019-07-06 05:50:13 -07:00
Jason Volk
5cf7eb9db4 modules/client/sync: Enable crazyloading by default. 2019-07-06 02:06:46 -07:00
Jason Volk
261151f539 ircd:Ⓜ️:fetch: Remove ambiguating event_id() util. 2019-07-05 23:45:00 -07:00
Jason Volk
9fc175bf17 modules/client/sync/rooms/state: Send some additional fundamental state events at phase 0. 2019-07-04 03:43:59 -07:00
Jason Volk
8f2495893b modules/client/sync/rooms/state: Send the room creators member event on phase 0. 2019-07-04 03:19:30 -07:00
Jason Volk
d1ecaf5ffb modules/client/sync/rooms/state: Send the user's own member event on phase 0. 2019-07-04 03:07:54 -07:00
Jason Volk
babc28ccd0 modules/client/sync/rooms/timeline: Add conf item for separate phased+initial limit. 2019-07-04 03:05:38 -07:00
Jason Volk
333309e52f modules/client/sync/rooms/timeline: Set initial=true for polylog phased. 2019-07-04 02:32:33 -07:00
Jason Volk
22fd1c4350 modules/client/sync/rooms/unread_notifications: Set initial=true for polylog phased. 2019-07-04 02:29:05 -07:00
Jason Volk
9234fd34a6 modules/client/account: Fix use of deprecated json::object nested traversal API. 2019-07-03 18:57:48 -07:00
Jason Volk
a3da1fd0d0 modules/client/events: Add missing user::room event_append_opts contextual data. 2019-06-29 19:16:20 -07:00
Jason Volk
1f8bff0ef5 modules/client/rooms/initialsync: Add missing event_append_opts contextual data. 2019-06-29 19:16:20 -07:00
Jason Volk
6ce67a81a1 ircd:Ⓜ️:user::highlight: Add conf items to toggle counting; improve match detail. 2019-06-27 01:59:19 -07:00
Jason Volk
0fb3f1d8ac ircd:Ⓜ️:user: Modernize the highlight counting interface. 2019-06-27 01:32:16 -07:00
Jason Volk
80655da66e Misc fixes for clang. 2019-06-24 01:34:14 -07:00
Jason Volk
ce7bb21ea4 modules: Disambiguations for clang. 2019-06-24 01:33:41 -07:00
Jason Volk
a371bc3e1f ircd: Fix cast-conversion based reference-constructions. 2019-06-22 17:36:42 -06:00
Jason Volk
534afe8859 ircd: No need to move x-values. 2019-06-22 17:36:42 -06:00
Jason Volk
c944818f4b modules/client/rooms: Add pre-checks for membership on the convenience endpoints. 2019-06-21 16:53:26 -07:00
Jason Volk
cef538fdf3 modules/client/publicrooms: Fix url decoding of query string arguments. 2019-06-18 00:22:16 -07:00
Jason Volk
f2fb177d7d modules/client/publicrooms: Refresh the cache on request.
fixes #82
2019-06-18 00:22:16 -07:00
Jason Volk
4a7f079b49 modules/client/versions: Claim support for more versions. 2019-06-16 14:04:28 -07:00
Jason Volk
98ec2d7008 modules/client/sync: Update README. 2019-06-11 14:51:20 -07:00
Jason Volk
2e80a5ab02 modules/client/sync/rooms/state: Make the linear-sync handler able to handle belated state events. 2019-06-08 01:07:16 -07:00
Jason Volk
abfdb06ebf modules/client/rooms/join: Hard reset the room head after join completes. 2019-06-07 23:01:46 -07:00
Jason Volk
87e8b5eb1f modules/client/sync: Minor reorg; increase default timeout conf items. 2019-06-07 21:56:17 -07:00
Jason Volk
def97cf25b modules/client/rooms/join: Improve lazy chain member event search. 2019-06-07 06:02:19 -07:00
Jason Volk
4f3123be62 modules/client/rooms/join: Use dedicated log facility. 2019-06-07 06:02:19 -07:00
Jason Volk
3d8d71c97c modules/client/rooms/join: Mask nothrow conditions; various fixes. 2019-06-07 06:02:19 -07:00
Jason Volk
8e0ac58987 ircd:Ⓜ️:room: Expose bootstrap to interface. 2019-06-07 04:56:23 -07:00
Jason Volk
077e953e3b modules/client/sync/rooms/timeline: Add conf item to toggle excluding state in timeline exposure_depth. 2019-06-07 04:08:35 -07:00
Jason Volk
92761f5d9f modules/client/events: Use the proper m::append event appender. 2019-06-07 02:49:25 -07:00
Jason Volk
b2bb7767a7 modules/client/rooms/join: Spawn context for asynchronous joinstrap; improve various. 2019-06-07 02:49:25 -07:00
Jason Volk
f728906505 modules/client/rooms/join: No need to parse the unused and deprecated origin field here. 2019-06-06 22:39:05 -07:00
Jason Volk
48a8057cb5 modules/client/rooms/join: Tweak the lazychain process; remove cruft. 2019-06-06 21:58:47 -07:00
Jason Volk
e8b61b0caf modules/client/rooms/join: Rename lazychain conf item to lazychain_enable. 2019-06-06 19:41:48 -07:00
Jason Volk
55e2ac98ce modules/client/rooms/join: Implement the lazychain optimization; tweak eval options. 2019-06-06 05:35:21 -07:00
Danilo Spinella
4682e1fae4 ircd: Fix ambiguous references to BSD stringops. 2019-06-06 03:49:54 -07:00
Jason Volk
ed247e6200 modules/client/rooms/join: Implement the Hackfill optimization. 2019-06-06 01:46:07 -07:00
Jason Volk
a20a11722d modules/client/rooms/join: Add conf item for initial backfill amount. 2019-06-06 01:45:21 -07:00
Jason Volk
5994a0820d modules/client/rooms/join: Promote these log message levels. 2019-06-06 01:44:33 -07:00
Jason Volk
25442bdff2 modules/client/sync/rooms/timeline: Consider all events for exposure depth. 2019-06-06 01:09:57 -07:00
Jason Volk
a99a7e2501 modules/client/sync/rooms/timeline: Add exposure depth condition to not sync irrelevant events. 2019-06-05 17:06:37 -07:00
Jason Volk
359ab6e897 modules/client/rooms/join: Elaborate the join bootstrap stack.
fixes #8
2019-06-05 16:44:16 -07:00
Jason Volk
6982fa2dac modules/client/sync/rooms/account_data: Ignore since range for tags on polylog sync. 2019-06-05 15:18:46 -07:00
Jason Volk
9662d195cf modules/client/directory/user: Modernize user directory query term interpretation. 2019-06-05 01:15:11 -07:00
Jason Volk
1a48bc3899 modules/client/rooms/join: Process send_join response events. 2019-06-04 23:01:39 -07:00
Jason Volk
0658f7c6be modules/client/rooms/join: Bypass dependent fetching and eval on join bootstrap. 2019-06-02 15:44:55 -07:00
Jason Volk
1f7ad67805 modules/client/rooms/invite: Move the foreign invite hook here; do namespace modernizations. 2019-05-31 14:21:41 -07:00
Jason Volk
f3ba0f163b modules/client/sync/rooms/account_data: Eliminate the idx upper bound on room tags selection. 2019-04-29 10:28:55 -07:00
Jason Volk
e75b75e3f9 modules/client/createroom: More descriptive error propagation here. 2019-04-27 18:33:23 -07:00
Jason Volk
80fb8699a1 ircd:Ⓜ️ Add a membership string size constant. 2019-04-27 18:32:45 -07:00
Jason Volk
ea7e06fe27 modules/client/rooms/state: Optimize parallel closure invariant. 2019-04-26 06:04:06 -07:00
Jason Volk
564a64e5d6 modules/s_fetch: Improve recursive eval. 2019-04-26 05:30:21 -07:00
Jason Volk
633802310c modules/client/rooms/context: Fix missing unsigned/transaction_id on returned event. 2019-04-23 15:26:44 -07:00
Jason Volk
b481d994f5 modules/client/sync/rooms/state: Attemt fix "invite_state" vs. "state". 2019-04-22 20:08:29 -07:00
Jason Volk
ae4ae66f08 modules/client/sync/rooms: Show membership string in debug msg. 2019-04-22 14:47:06 -07:00
Jason Volk
7117e943ed modules/client/rooms/leave: Call m::leave() to handle POST /leave/. 2019-04-22 14:27:12 -07:00
Jason Volk
4d491340b6 modules/client/rooms/leave: Add missing m::leave definition. 2019-04-22 14:27:12 -07:00
Jason Volk
fd9097cfd4 modules/m_room: Move m::send impl back to client/rooms. 2019-04-22 14:27:12 -07:00
Jason Volk
f3845e11af modules/client/rooms/join: Export namespaced definitions for join. 2019-04-22 14:27:12 -07:00
Jason Volk
e3b1be2910 ircd:Ⓜ️:vm: Refactor various fetch related options. 2019-04-22 12:27:43 -07:00
Jason Volk
454051f9f3 modules/client/sync: Condition for client / socket in longpoll::poll loop. 2019-04-19 18:21:17 -07:00
Jason Volk
5ad6d2153e modules/client/keys/query: Eliminate head-of-line timeout; stream results to client as they arrive. 2019-04-18 19:47:33 -07:00
Jason Volk
02bb466898 modules/client/rooms/messages: Fix pagination token related. 2019-04-18 15:11:48 -07:00
Jason Volk
cdefddf6af modules/client/rooms/messages: Add log facility; add debug msg. 2019-04-18 14:20:47 -07:00
Jason Volk
492d58dd83 modules/client/rooms/context: Add a log facility; debug message. 2019-04-18 14:14:41 -07:00
Jason Volk
0fa4bdcff7 ircd:Ⓜ️:rooms: Consolidate / refine the rooms iteration interface. 2019-04-17 20:47:50 -07:00
Jason Volk
31bbc6b1b4 modules/client/sync/rooms/account_data: Arrange room tags in the initial phase. 2019-04-16 01:32:52 -07:00
Jason Volk
25d153d64c ircd:Ⓜ️:sync: Add an initial phase convenience; add account_data as an initial phase. 2019-04-16 01:32:52 -07:00
Jason Volk
a70d22151f modules/client/sync/rooms: Elide query for room head/depth for EDU's. 2019-04-15 17:09:35 -07:00
Jason Volk
77b16f32ce ircd:Ⓜ️:append: Calculate age based on depth from room head.
fixes #55
2019-04-15 14:44:58 -07:00
Jason Volk
eb33688bc1 ircd:Ⓜ️:fetch: Add additional interface tools; consolidate interface; cleanup/reorg.
ircd:Ⓜ️:fetch: Add backfill suite.
2019-04-12 04:44:26 -07:00
Jason Volk
4500df4b78 modules/client/rooms/initialsync: Preliminary fetch trigger here.
modules/s_fetch: Start the prev_events fetch here.
2019-04-11 07:01:56 -07:00
Jason Volk
562651aa7d ircd:Ⓜ️:fetch: Add fetch+eval workers; start central interface; various. 2019-04-10 22:32:06 -07:00
Jason Volk
e9a6f2ec92 modules/client/sync: Disable phased sync by default for now until stable. 2019-04-08 06:54:54 -07:00
Jason Volk
77b4ea969f modules/client/sync/rooms/state: Split out the initial sync branch; add room avatar. 2019-04-08 06:11:16 -07:00
Jason Volk
a8b536e420 modules/client/sync: Improve phased initial sync by bursting full room list at phase 0. 2019-04-08 04:43:23 -07:00
Jason Volk
a82410009e ircd:Ⓜ️:sync: Introduce phased polylogarithmic initial sync. 2019-04-08 02:46:49 -07:00
Jason Volk
0f2dcf1706 modules/client/sync: Rename conf item. 2019-04-08 00:03:17 -07:00
Jason Volk
e98e4babce modules: Add preliminary s_command; client command-message support. 2019-04-07 16:22:34 -07:00
Jason Volk
d0ad243860 modules/client/sync/rooms/account_data: Ensure room_id found on room account_data handlers. 2019-04-02 09:53:02 -07:00
Jason Volk
a3ca9a986b modules/client: Stub 14.13.1.3 notifications handler. 2019-03-31 14:03:21 -07:00
Jason Volk
46324b1ac8 modules/client/sync/rooms/timeline: Fix polylog timeline limited indicator. 2019-03-31 13:09:36 -07:00
Jason Volk
7433daa440 modules/client/rooms/context: Minor cleanup extra; remove default token inits. 2019-03-31 00:44:34 -07:00
Jason Volk
40b74a6721 modules/client/rooms/context: Enforce spec event_id param only; fix urldecode condition. 2019-03-31 00:35:34 -07:00
Jason Volk
37d1b156e0 modules/client/directory/room: Implement 10.2.1 PUT directory/room/{roomAlias}. 2019-03-30 19:02:11 -07:00
Jason Volk
4eba0fcd6f modules/client/directory/room: Remove old alias caching and fetching; reroute central interfaces. 2019-03-30 19:02:11 -07:00
Jason Volk
a83e304382 modules/client/sync: Manually invalidate checkpoints on known polylog commitments. 2019-03-30 15:02:18 -07:00
Jason Volk
7042d8e041 modules/client/rooms/account_data: Move checkpoint to cover both linear branches. 2019-03-30 14:13:34 -07:00
Jason Volk
f7fa89b061 ircd::json::stack: Alter checkpoint rollback() behavior to proactive. 2019-03-30 14:13:34 -07:00
Jason Volk
881d3116cc modules/client/sync/rooms/account_data: Ensure apropos() hits the linear event coming through. 2019-03-30 14:09:47 -07:00
Jason Volk
efd1124cd7 modules/client/login: Fix loss of value data during device tuple assimilation.
modules/client/register: Fix loss of value data during device tuple assimilation.
2019-03-28 21:31:22 -07:00
Jason Volk
8f335ca1bb modules/client/login: Fix JSON typing of remote IP strings.
modules/client/register: Fix JSON typing of remote IP strings.
2019-03-28 17:47:57 -07:00
Jason Volk
e555b91fa5 modules/client/sync/rooms/ephemeral/receipt: Elide syncing user's own receipts. 2019-03-28 17:36:22 -07:00
Jason Volk
6419333457 modules/client/sync/rooms/unread_notifications: Use better counter upper bound. 2019-03-28 00:11:35 -07:00
Jason Volk
0e6e556d50 modules/client/sync: Reuse scratch buffer on longpoll handles. 2019-03-27 23:50:43 -07:00
Jason Volk
5d06042140 modules/client/sync: Use the same linear vector merge in longpoll handler. 2019-03-27 20:28:59 -07:00
Jason Volk
394ec523a2 ircd:Ⓜ️:sync: Do a full iteration of all linear sync items even if success. 2019-03-27 20:13:04 -07:00
Jason Volk
fc09dd4034 modules/client/rooms/read_markers: Reimplement client 14.6 /read_markers m.fully_read. 2019-03-27 16:54:10 -07:00
Jason Volk
2d459d8da8 modules/client/rooms/receipt: Split m.read logic into subroutine. 2019-03-27 16:14:14 -07:00
Jason Volk
0e5b10816a modules/client/rooms/receipt: Enforce support for m.read type only. 2019-03-27 15:30:40 -07:00
Jason Volk
54f7ddb6bd modules/client/rooms/state: Log an error when a state event fetch fails during sync. 2019-03-23 02:45:05 -07:00
Jason Volk
5b951b55c5 modules/vm: Add sequencing points.
ircd:Ⓜ️:vm: Reorganize sequence counters.
2019-03-19 16:31:05 -07:00
Jason Volk
21d8c9ce76 modules/client/rooms/report: Provide missing error string in log message. 2019-03-17 13:41:33 -07:00
Jason Volk
22fe24f54f modules/client/sync: Add linear buffer size conf item; add help texts to some confs. 2019-03-17 13:24:24 -07:00
Jason Volk
9ab3549660 modules/client/sync: Tweak log message format; cleanup longpoll::accepted struct. 2019-03-17 13:18:33 -07:00
Jason Volk
2158d3e7b6 modules/client/rooms/report: Create !abuse room with !ircd init hook. 2019-03-16 19:38:33 -07:00
Jason Volk
4e618175c7 modules/client/sync: Try to ensure all next_batch tokens are limited to the upper bound. 2019-03-16 18:12:38 -07:00
Jason Volk
7fc68e1933 modules/client/sync: When longpoll hits an unsequenced EDU, the next_batch must repeat the current since token. 2019-03-16 12:59:18 -07:00
Jason Volk
03abdd5ac6 modules/client/sync: Improve since token rejection message. 2019-03-16 12:26:03 -07:00
Jason Volk
b456210f1e modules/client/directory/list: Preliminary AS 2.3.5.1 PUT list/appservice. 2019-03-15 16:19:05 -07:00
Jason Volk
11afd2e590 modules/client/sync/rooms: Support ignoring invites based on m.ignored_user_list. 2019-03-14 18:11:52 -07:00
Jason Volk
78c18f45ab Implement client 14.26 Reporting Content. 2019-03-14 16:20:40 -07:00
Jason Volk
86ddcd7149 modules/client/createroom: Implement 13^h^h14.23.3 Server behaviour. 2019-03-14 15:32:06 -07:00
Jason Volk
380032d4a9 ircd:Ⓜ️:room: Augment m::invite() convenience interface for custom content. 2019-03-14 15:32:06 -07:00
Jason Volk
240c181b16 modules/client/directory/list/room: Complete the missing PUT functionality. 2019-03-14 15:12:40 -07:00
Jason Volk
b1bf848155 modules/client/voip/turnserver: Add conf items for voip turnserver response. 2019-03-14 14:49:04 -07:00
Jason Volk
db9b891493 modules/client/rooms/event: Respond with zero-copy/zero-alloc. 2019-03-14 14:29:59 -07:00
Jason Volk
8ebb51bd9f modules/client/rooms/state: Refactor GET handlers for chunk streaming and spec behavior. 2019-03-14 14:25:37 -07:00
Jason Volk
42309c1c96 modules/client/rooms/members: Upgrade /members and /joined_members to streamed responses. 2019-03-14 13:55:44 -07:00
Jason Volk
3e72e1277e modules/client/directory/list: Implement directory list room handlers. 2019-03-14 13:25:28 -07:00
Jason Volk
1f35e9c57e modules/m_event: Add option to toggle query for txnid; disable query for non-timeline appends. 2019-03-13 17:08:35 -07:00
Jason Volk
f745787ce4 modules/client/sync: Check if the client is still alive during longpoll. 2019-03-12 18:41:05 -07:00
Jason Volk
fe778e6ae4 modules/client/sync/rooms: Remove unnecessary checkpoint. 2019-03-12 18:41:05 -07:00
Jason Volk
425364f13e modules/client/sync/rooms/state: Fix missing append. 2019-03-12 18:41:05 -07:00
Jason Volk
06459e655e modules/client/sync/to_device: Fix improper seek. 2019-03-12 18:41:05 -07:00
Jason Volk
c416be8398 modules: Replace individual client event appending with m::append(). 2019-03-11 16:02:48 -07:00