0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-28 00:14:07 +01:00
Commit graph

897 commits

Author SHA1 Message Date
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
Jason Volk
daee236126 modules/client: Remove 308 redirects for unstable endpoints. 2019-03-11 10:43:06 -07:00
Jason Volk
e90e4aba42 modules/client/keys/upload: Disable one_time_keys; otherwise it spams the user's room. 2019-03-10 20:47:50 -07:00
Jason Volk
ba09d57d8e modules/client/rooms/context: Include unsigned data in returned events. 2019-03-09 19:21:44 -08:00
Jason Volk
48ab443ece modules/client/rooms/messages: Include unsigned data in returned events. 2019-03-09 19:21:22 -08:00
Jason Volk
bfc189da7e modules/client/rooms/messages: Omit pagination tokens at ends of iteration. 2019-03-09 18:52:48 -08:00
Jason Volk
d8da7814e8 modules/client/rooms/messages: Consider the from token inclusive. 2019-03-09 18:48:08 -08:00
Jason Volk
811e4f8c03 modules/client/rooms/context: Omit pagination tokens for ends of iteration. 2019-03-09 18:16:27 -08:00
Jason Volk
79782958fc modules/client/sync/rooms/timeline: Add conf item for default limit. 2019-03-09 17:37:48 -08:00
Jason Volk
ce8824a1bd modules/client/sync/rooms: Reenable per-room debug stats. 2019-03-09 15:17:21 -08:00
Jason Volk
0a8bb92e6d modules/client/rooms/send: Use vm.post hook site to save transaction_id before notifies. 2019-03-09 12:09:07 -08:00
Jason Volk
58159d3ee6 modules/client/sync: Fix condition to skip linear for longpoll. 2019-03-08 17:47:29 -08:00
Jason Volk
e2d2c7f376 ircd:Ⓜ️:v1::user: Default to dynamic content buffering; adjust callsite buffer sizes. 2019-03-08 17:11:42 -08:00
Jason Volk
8e2aef32ef modules/client/sync: Consistent display of next_batch values in debug log msgs. 2019-03-08 15:29:10 -08:00
Jason Volk
fcfcb83d42 modules/client/sync/rooms/timeline: Log dwarning message when transaction_id missing. 2019-03-08 15:02:48 -08:00
Jason Volk
78c888ffae modules/client/users/openid: Return a better http code here. 2019-03-08 14:33:54 -08:00
Jason Volk
c0d0599b19 modules/client/sync: Tweak next_batch case; add debuglog on timeout branch. 2019-03-08 14:26:23 -08:00
Jason Volk
187eca0e4e modules/client/sync: Refactor linear sync handlers to assume no implicit path. 2019-03-08 14:19:04 -08:00
Jason Volk
8230819edf modules/client/sync: Optimize these user state iterations. 2019-03-08 13:42:24 -08:00
Jason Volk
d1e0864590 modules/client/profile: Optimize the user profile iteration. 2019-03-08 11:25:38 -08:00
Jason Volk
cdac039658 modules/client/rooms/leave: Simplify leave endpoint handler. 2019-03-08 10:07:17 -08:00
Jason Volk
60c48d2a83 modules/client/rooms/unban: Implement 10.4.4.2 POST unban. 2019-03-08 09:57:43 -08:00
Jason Volk
cb2c65e8e2 modules/client/rooms/kick: Simplify endpoint handler. 2019-03-08 09:45:50 -08:00
Jason Volk
47216cba91 modules/client/rooms/ban: Implement 10.4.4.1 POST ban. 2019-03-08 09:43:30 -08:00
Jason Volk
3fdb3a420a modules/client/rooms/forget: Implement 10.4.3.2 POST forget. 2019-03-07 16:26:04 -08:00
Jason Volk
59124a0fe1 modules/client/createroom: Differentiate between spec preset and internal preset strings. 2019-03-07 15:40:45 -08:00
Jason Volk
864c6cc889 modules/client/rooms/send: urldecode type and txnid path parameters. 2019-03-07 15:32:03 -08:00
Jason Volk
cc14164dc8 modules/client/profile: Reuse the profile::set() path in fetch(). 2019-03-07 12:14:01 -08:00
Jason Volk
5adfb3ba43 modules/client/sync: Add conf items which override the sync mode selection. 2019-03-07 11:53:58 -08:00
Jason Volk
34561a5659 modules/client/profile: Fix JSON string type assumption for profile values. 2019-03-06 18:17:46 -08:00
Jason Volk
33d3764c71 modules/client/createroom: Make special conditions to optimize user's user rooms. 2019-03-06 17:41:56 -08:00
Jason Volk
9f4890a517 ircd:Ⓜ️ Unify room create interface and paths around createroom tuple. 2019-03-06 15:02:43 -08:00
Jason Volk
dd961fc53d modules/client/profile: Remove attempt at non-trivial designated initializers. 2019-03-06 10:50:42 -08:00
Jason Volk
eb050591c9 modules/client/profile: Improve profile related for remote users. 2019-03-06 00:12:21 -08:00
Jason Volk
094ae6e997 ircd:Ⓜ️:user::profile: Add interface for remote profile fetch(). 2019-03-06 00:12:21 -08:00
Jason Volk
1f82b884ff ircd:Ⓜ️ Implement 14.18 Room Tagging. 2019-03-05 18:42:04 -08:00
Jason Volk
8b32f0558d modules/client/sync/rooms/state: Add unsigned addendum to event output. 2019-03-05 14:43:00 -08:00
Jason Volk
6fed8cc360 modules/client/createroom: Forbid guest access on all presets in violation of the spec. 2019-03-05 14:27:52 -08:00
Jason Volk
00da74fa27 modules/client/createroom: Improve error reporting; add derror log message. 2019-03-05 14:24:31 -08:00
Jason Volk
85b66e2d55 modules/client/sync/rooms/timeline: For non-longpoll, attempt to query transaction_id. 2019-03-05 14:24:08 -08:00
Jason Volk
d30e053e42 modules/client/rooms/send: Save transaction_id's to user's user room. 2019-03-05 14:24:08 -08:00
Jason Volk
78eab2fbcd modules/client/createroom: Implement the preset string behavior. 2019-03-05 14:24:08 -08:00
Jason Volk
d4b8a8089e ircd:Ⓜ️:createroom: Generate default power_levels w/ option for content_override. 2019-03-05 14:24:08 -08:00
Jason Volk
c972683e2c modules/client/createroom: Set the visibility in the public rooms list; minor cleanup. 2019-03-05 12:51:48 -08:00
Jason Volk
70484be697 modules/client/createroom: Add graceful error handling and granular reporting to client. 2019-03-05 12:42:53 -08:00
Jason Volk
f0598bb27a modules/client/createroom: Set initial room state from supplied request data.
modules/client/createroom: Set the room name and topic if supplied in request.

modules/client/createroom: Set any state events from supplied initial_state.

modules/client/createroom: Invite any users in the supplied invite array.

modules/client/createroom: Set the room's initial guest_access if supplied by user.
2019-03-05 12:23:49 -08:00
Jason Volk
d8a9f484a4 modules/client/rooms/messages: Simplify the messages iteration. 2019-03-04 15:46:44 -08:00
Jason Volk
1dcf36adc8 modules/client/rooms/event: Fix param missing error message. 2019-03-04 14:36:49 -08:00
Jason Volk
19e09b0ad5 ircd:Ⓜ️:login: Support identifier typed login. 2019-03-04 13:16:14 -08:00
Jason Volk
59973705bb modules/client/rooms/context: Provide better pagination tokens in response. 2019-03-04 12:43:14 -08:00
Jason Volk
48055345ea modules/client/rooms/messages: Fix the start pagination token in reponse. 2019-03-04 12:42:58 -08:00
Jason Volk
86e7e78a8a modules/client/register: Disable guest registration by default for now. 2019-03-04 09:29:27 -08:00
Jason Volk
68ed0d6133 modules/client/register: Add email to the registration flows. 2019-03-04 09:28:02 -08:00
Jason Volk
3099997049 modules/client/sync/rooms/state: Deal with "invite_state" vs. "state". 2019-03-03 16:33:10 -08:00
Jason Volk
e93e460f22 modules/client/sync: Must wait for parallel completion before copying ret. 2019-03-03 16:33:10 -08:00
Jason Volk
f1bca6de7e modules/client/profile: Return 404 rather than {} for empty profiles. 2019-03-03 16:33:10 -08:00
Jason Volk
295794ec42 ircd:Ⓜ️:user: Improve user filter interface and module linkage. 2019-03-02 16:49:44 -08:00
Jason Volk
73be558ff2 modules/client/register_available: Deny response when registration disabled. 2019-03-02 16:05:30 -08:00
Jason Volk
3deeab99de modules/client/register: Allow flows request before denying registration otherwise Riot infinite-loops. 2019-03-02 16:05:30 -08:00
Jason Volk
47bcfaecb4 ircd: Upgrade various templates with argument deduction. 2019-03-02 14:20:52 -08:00
Jason Volk
157805d97b modules/client/sync: Simplify next_batch token decision after linear and longpoll. 2019-03-02 14:20:52 -08:00
Jason Volk
7f7ecc90b3 modules/client/rooms/context: Allow a room_id as the event_id and fetch the room head. 2019-03-01 19:02:49 -08:00
Jason Volk
0720b2f4c4 modules/client/events: Implement 14.17.1.1 /events (room previews). 2019-03-01 18:34:53 -08:00
Jason Volk
d50462a9dd modules/client/rooms: Implement 9.3.8 initialSync (for acquired rooms). 2019-03-01 18:25:37 -08:00
Jason Volk
ba2e81254b modules/client/profile: Add conf item for remote request timeout. 2019-03-01 14:18:22 -08:00
Jason Volk
452c664a8c modules/client/profile: Return better errors to client for remote profile requests. 2019-03-01 14:12:49 -08:00
Jason Volk
e763e7e9a8 modules/client/sync/account_data: Fix regressions; optimize query pattern. 2019-03-01 13:09:19 -08:00
Jason Volk
ec4fbe3640 modules/client/sync/rooms/account_data: Add linear sync handler. 2019-03-01 12:58:37 -08:00
Jason Volk
b6fe591142 modules/client/sync/rooms/account_data: Improve polylog sync handler. 2019-03-01 12:58:37 -08:00
Jason Volk
58a98806e9 ircd:Ⓜ️:user::room_account_data: Expose type prefixing in interface. 2019-03-01 12:58:37 -08:00
Jason Volk
8fee82b0d6 modules/client/sync: Readd the transaction_id on longpoll; fix ghost events. 2019-02-28 18:28:45 -08:00
Jason Volk
9c20d49e33 ircd::resource::response::chunked: Eliminate move semantic. 2019-02-28 17:12:04 -08:00
Jason Volk
70173f5893 modules/client/sync: Use better flush() path. 2019-02-28 17:12:04 -08:00
Jason Volk
af6ac4a2ac ircd: Replace various unwind count patterns with scope_count. 2019-02-28 17:12:03 -08:00
Jason Volk
4e6ed85d27 modules/client/sync/rooms/state: Fix condition for using state[] rather than timeline[]. 2019-02-28 12:45:04 -08:00
Jason Volk
b8fa7455e9 modules/client/sync: Provide better next_batch after linear iteration. 2019-02-28 12:36:14 -08:00
Jason Volk
9a43a9524c modules/client/sync: Uniform log messages; longpoll error message; various fixes. 2019-02-27 18:49:38 -08:00
Jason Volk
a13ffd8978 modules/client/sync/rooms/ephemeral/receipt: Fix competing receipt formats. 2019-02-27 18:36:34 -08:00
Jason Volk
1e9b2cad9c modules/client/sync: Improve various sync handler conditions. 2019-02-27 18:24:12 -08:00
Jason Volk
d469015e95 modules/client/sync/rooms/ephemeral/receipt: Filter my origin only. 2019-02-27 18:19:11 -08:00
Jason Volk
4724110736 modules/client/sync/rooms/ephemeral: Add m.typing sync handler. 2019-02-27 18:19:11 -08:00
Jason Volk
2c239858cb modules/client/sync/account_data: Ignore proffered events without an event_idx. 2019-02-27 16:30:43 -08:00
Jason Volk
9f7a08e9da modules/client/sync/rooms/timeline: Consolidate event append paths. 2019-02-27 16:27:04 -08:00
Jason Volk
c88d961ad4 modules/client/sync: Implement longpoll sync handler. 2019-02-27 16:27:04 -08:00
Jason Volk
902466450e modules/client/sync: Enable linear sync. 2019-02-27 16:25:37 -08:00
Jason Volk
f91f6226a6 modules/client/sync: Add event_idx to accept struct; move top object construction to handlers. 2019-02-27 16:25:37 -08:00
Jason Volk
7f57a4c422 modules/client/sync: Sketch various preliminary linear sync handlers. 2019-02-26 18:17:45 -08:00
Jason Volk
a263b2ff40 modules/client/sync: Use resource::response buffer w/ passed size argument. 2019-02-26 18:04:37 -08:00
Jason Volk
cc586a352e modules/client/sync: Implement iteration base of linear sync. 2019-02-26 18:04:37 -08:00
Jason Volk
78a1281b1c ircd:Ⓜ️:sync: Make data.out a pointer to the json::stack. 2019-02-26 15:50:58 -08:00
Jason Volk
11766b3e04 ircd:Ⓜ️:v1: Remove non-opts overloads; workaround g++-7 compiler bug. 2019-02-25 18:00:39 -08:00
Jason Volk
5910b97e03 modules/client/keys/upload: Add candidate one_time_key_counts response. 2019-02-25 18:00:39 -08:00
Jason Volk
55fd9505bc modules/client/sync/to_device: More efficient iteration seek. 2019-02-24 15:30:38 -08:00
Jason Volk
af5b0e69a1 modules/client/sync: Employ json::stack::checkpoint using boolean return values in all handlers. 2019-02-24 14:49:29 -08:00
Jason Volk
ec50b0f76e ircd:Ⓜ️:sync: Make instance-level conf::items for all sync::items. 2019-02-22 17:11:53 -08:00
Jason Volk
603cc98e30 modules/client/sync: Adjust the object creation for handlers; put the room head idx in data. 2019-02-22 16:23:02 -08:00
Jason Volk
cdb0ed443d modules/client/sync/to_device: Implement to_device event polylog sync. 2019-02-22 15:40:53 -08:00
Jason Volk
1ca01962a3 modules/client/keys: Implement 14.11.5.2.3 POST keys/claim. 2019-02-22 15:40:53 -08:00
Jason Volk
1ca90d9a3d modules/client: Implement 14.9.3.1 PUT sendToDevice (with limitation). 2019-02-22 15:40:53 -08:00
Jason Volk
c9f8e44c78 ircd:Ⓜ️:sync: Add stats.info conf item; rename debug_stats item. 2019-02-22 15:40:53 -08:00
Jason Volk
a4e709c6d4 ircd:Ⓜ️:sync: Add conf item for polylog item stats to debuglog. 2019-02-22 15:40:52 -08:00
Jason Volk
4797cf8b5e modules/client/send_to_device: Add client/unstable/ redirect to /r0/. 2019-02-21 17:56:08 -08:00
Jason Volk
16e83bbcca modules/client/keys/query: Implement 14.11.5.2.2 POST keys/query. 2019-02-21 16:19:49 -08:00
Jason Volk
207a12934c ircd:Ⓜ️:user: Reorg user::account_data interface. 2019-02-21 12:11:42 -08:00
Jason Volk
7f37400dcb ircd:Ⓜ️:user: Reorg user::profile interface. 2019-02-21 11:53:25 -08:00
Jason Volk
f2eea77654 modules/client/keys/upload: Persist uploaded device_keys. 2019-02-20 19:19:54 -08:00
Jason Volk
8f4795e387 modules/client/keys: Move existing into directory; stub remaining endpoints. 2019-02-20 19:12:32 -08:00
Jason Volk
1dd97b8c75 modules/client/register: Fix device_id property name in access_token event. 2019-02-20 19:08:38 -08:00
Jason Volk
0fe24757ba modules/client/sync/rooms/unread_notifications: Remove condition to send counts. 2019-02-20 16:32:01 -08:00
Jason Volk
98a8ca7bf2 ircd:Ⓜ️:device: Associate access_token to device. 2019-02-20 15:46:48 -08:00
Jason Volk
964d6b427f modules/client/devices: Implement 14.10.2 security considerations. 2019-02-20 15:45:32 -08:00
Jason Volk
0efd723edb ircd:Ⓜ️:device: Develop interface; use individual state events for properties. 2019-02-20 13:36:29 -08:00
Jason Volk
d05f58d352 modules/client: Add preliminary delete_devices endpoint. 2019-02-20 13:10:56 -08:00
Jason Volk
815709bbed modules/client/devices: Implement handlers through m::device interface. 2019-02-19 17:42:17 -08:00
Jason Volk
b4ee0a9bcf ircd:Ⓜ️ Temporary eval workarounds. 2019-02-19 16:34:24 -08:00
Jason Volk
77ababbe85 modules/client/sync/rooms: Minor constness fix. 2019-02-19 14:49:50 -08:00
Jason Volk
ddd59f6a04 modules/client/versions: Report r0.4.0. 2019-02-19 14:46:03 -08:00
Jason Volk
b8ea9fdad7 modules/client/keys: Use permanent redirect for /unstable/keys/ related. 2019-02-19 13:29:35 -08:00
Jason Volk
5b833ce6af modules/client/devices: Use permanent redirect resource for /unstable/. 2019-02-19 13:25:32 -08:00
Jason Volk
22fe163344 modules/client/devices: Support /unstable/ URL as well as /r0/. 2019-02-18 17:20:04 -08:00
Jason Volk
d960a31143 modules/client/register: Set device data on registration w/ login. 2019-02-18 16:50:53 -08:00
Jason Volk
ddf76fe502 ircd:Ⓜ️:register: Use json::string types here; simplify. 2019-02-18 16:44:28 -08:00
Jason Volk
aed1c856ef modules/client/login: Set device in user's room on login. 2019-02-18 16:42:08 -08:00
Jason Volk
d445f98d93 modules/client: Stub a send_to_device endpoint. 2019-02-18 13:42:38 -08:00
Jason Volk
7d449e6e56 ircd:Ⓜ️:login: Use json::string rather than string_view in tuple types; simplify. 2019-02-18 13:42:25 -08:00
Jason Volk
0644db459c ircd:Ⓜ️:event: Add various size constants replacing magic numbers. 2019-02-18 13:42:25 -08:00
Jason Volk
dd99d929aa modules/client/logout: Implement 5.4.4 logout/all. 2019-02-18 11:22:45 -08:00
Jason Volk
cc2ed66190 modules/client/logout: Complete the logout endpoint. 2019-02-18 11:12:30 -08:00
Jason Volk
952f173204 modules/client/rooms: Add /event/ endpoint. 2019-02-18 09:59:14 -08:00
Jason Volk
247544d130 modules/client/rooms/messages: Relax requirement for a ?from= parameter. 2019-02-18 09:59:14 -08:00
Jason Volk
2dfad15ee8 modules/client/keys: Rename URL from /unstable/ to /r0/. 2019-02-16 16:27:57 -08:00
Jason Volk
eca9bd7da9 modules/client/sync/rooms/ephemeral/receipt: Optimize polylog-sync strategy. 2019-02-14 15:28:38 -08:00
Jason Volk
2f088591f7 modules/client: Add capabilities endpoint. 2019-02-12 12:04:02 -08:00
Jason Volk
a1c8845e1e ircd:Ⓜ️🧾 Normalize module definition names / layout. 2019-02-11 15:57:01 -08:00
Jason Volk
8fd1b57e86 modules/client/sync: Stub device related sync modules. 2019-02-08 09:18:39 -08:00
Jason Volk
11af393444 modules/client/sync/rooms/timeline: Bail faster if no room head idx found. 2019-02-05 01:58:12 -08:00
Jason Volk
03cb4a613b modules/m_room_member: Fix improper hook match on local invites. 2019-02-04 22:50:51 -08:00
Jason Volk
6947c7e953 ircd:Ⓜ️ Move the state/send event iov composer into m_room. 2019-02-04 13:59:01 -08:00
Jason Volk
8c5b1f283f modules/client/sync: Various range check fixes; simplify debug stats. 2019-01-26 17:26:05 -08:00
Jason Volk
c080d5523c ircd:Ⓜ️:presence: Improve get() interface based on realistic usage needs. 2019-01-26 16:59:12 -08:00
Jason Volk
fc162b41b3 modules/client/sync: Add a next_batch param to the query args passed to the range upper-bound. 2019-01-26 15:33:11 -08:00
Jason Volk
80b3cd678e modules/client/sync: Reorg / deinline sync args related. 2019-01-26 13:34:57 -08:00
Jason Volk
05f39b03d6 modules/client/sync/rooms: Don't skip sync routines based on room head index. 2019-01-25 17:03:29 -08:00
Jason Volk
33601e88a1 modules/client/sync: Increase default fibers for now; relax assertion. 2019-01-25 16:32:26 -08:00
Jason Volk
d64a49428e ircd:Ⓜ️ Demote membership from top-level key; remove from m::event tuple. 2019-01-24 12:52:26 -08:00
Jason Volk
e2431a3f18 modules/client/sync: Use better ctx::parallel interface for non-trivial arguments. 2019-01-21 12:40:40 -08:00
Jason Volk
af3fe14e6d modules/client/sync/rooms: Checkpoint. 2019-01-18 14:54:04 -08:00
Jason Volk
c5598ed60a modules/client/sync/rooms/state: Use post-fetch key filter here for now; checkpoint. 2019-01-16 18:39:40 -08:00
Jason Volk
c3dcd5f586 modules/client/sync/rooms/state: Add fetch options w/ json request. 2019-01-16 16:46:01 -08:00
Jason Volk
f857e25ea7 ircd:Ⓜ️:event: Add a source json::object as a member. 2019-01-16 14:35:10 -08:00
Jason Volk
5ae495031f ircd:Ⓜ️:event::fetch: Improve fetch options related; minor cleanup. 2019-01-16 12:19:25 -08:00
Jason Volk
8421dd46b6 modules/client/register: Support the inhibit_login option. 2019-01-12 12:34:34 -08:00
Jason Volk
0f6363f3e5 modules/client/register: Fix flows regression; minor cleanup. 2019-01-12 12:33:00 -08:00
Jason Volk
3a3dfe40d1 modules/client: Implement the register/available endpoint. 2019-01-12 11:51:57 -08:00
Jason Volk
ba5701acca modules/client/sync: Improve parallel; comments; dynamic memory for large buffers. 2019-01-11 17:41:23 -08:00
Jason Volk
56b1e760cf modules/client/sync/rooms: Create a directory for ephemeral. 2019-01-11 13:58:23 -08:00
Jason Volk
11f905274e modules/client: Use the event::idx sequence difference for unsigned.age. 2019-01-10 16:58:44 -08:00
Jason Volk
86ae182f64 modules/client/sync: Fix rooms.ephemeral item. 2019-01-10 16:58:44 -08:00
Jason Volk
4c495e1f44 modules/client/sync: Various cleanup / simplify. 2019-01-10 16:58:37 -08:00
Jason Volk
2d860b25a8 ircd:Ⓜ️:sync: Checkpoint. 2019-01-09 20:39:12 -08:00
Jason Volk
443905859f ircd:Ⓜ️:sync: Additional abstraction; checkpoint polylog /sync modules. 2019-01-08 17:17:41 -08:00
Jason Volk
af6fcb24f4 modules/client/sync: Add a README to the /sync directory. 2019-01-08 12:51:06 -08:00
Jason Volk
61e88e75bc modules/client/sync: Additional sync items reorganization. 2019-01-04 14:47:01 -08:00
Jason Volk
86911226ed ircd:Ⓜ️ Preliminary modular client sync system. 2019-01-03 17:21:02 -08:00
Jason Volk
3fd61ba361 modules/client/sync: Prefetching defaults to false for now. 2018-12-23 17:41:47 -08:00
Jason Volk
36c1b359ab modules/client/sync: Optimize the room state iteration strategy. 2018-12-19 15:05:07 -08:00
Jason Volk
6de17431ff ircd: Reverse arguments for url::encode()/decode(); minor reorg. 2018-12-06 16:41:47 -08:00
Jason Volk
f44f1cf89d modules/client/sync: Fix sync timeout behavior. 2018-12-01 17:23:42 -08:00
Jason Volk
0da335c03c modules/client/sync: Minor hackstops for now. 2018-11-15 18:39:51 -08:00
Jason Volk
d49b3ba7dd ircd::resource: Minor reorg class layout / opts. 2018-11-05 19:14:53 -08:00
Jason Volk
13bea46f34 modules/client/sync: Ensure response buffer scales with large flush watermark values. 2018-11-04 18:11:55 -08:00
Jason Volk
c6e2dbe55b modules/client/sync: Use conf item for linear vs. polylog threshold. 2018-11-04 18:11:37 -08:00
Jason Volk
8ab9d74218 modules/client/publicrooms: Unify GET and POST handlers; remove cruft. 2018-10-24 18:08:46 -07:00
Jason Volk
18f46bccd7 modules/client/publicrooms: Update endpoint for server and pagination keying. 2018-10-24 18:08:46 -07:00
Jason Volk
e85917abb1 ircd:Ⓜ️:rooms: Add public rooms count for total_room_count_estimate; cleanup. 2018-10-24 17:31:21 -07:00
Jason Volk
f7c7850465 ircd:Ⓜ️:rooms: Add and use interface for publicrooms iteration. 2018-10-24 17:31:21 -07:00
Jason Volk
62177dca20 modules: Start an m_rooms unit; move publicrooms summary chunk generation. 2018-10-24 17:31:21 -07:00
Jason Volk
002dea97ec modules/client/user: Move user create to m_user. 2018-10-23 13:22:08 -07:00
Jason Volk
242516c853 ircd:Ⓜ️ Add central interface for room state prefetch; add console cmd; apply to client sync. 2018-10-23 10:01:36 -07:00
Jason Volk
5a9c264981 modules/client/sync: Promote polylog stats overview log message to infolog. 2018-10-21 00:24:26 -07:00
Jason Volk
8ed4dc9623 modules/client/sync: Add some stats and debug log to sync. 2018-10-18 07:46:53 -07:00
Jason Volk
18977fabe1 modules/client/sync: Condition on conf items for prefetches of polylog state/timeline. 2018-10-16 09:13:53 -07:00
Jason Volk
0843ff5f79 modules/client/sync: Checkpoint some structural changes. 2018-10-14 03:58:26 -07:00
Jason Volk
11818f6c3e modules/client/sync: Minor simplify. 2018-10-09 21:34:58 -07:00
Jason Volk
9aa6e2b768 ircd:Ⓜ️ Rename most vm.notify hooks to vm.effect; Refactor vm::accept related. 2018-10-09 20:56:12 -07:00
Jason Volk
d5c3724428 modules/client/sync: Fix index minmax for stable notification counting. 2018-09-27 00:59:17 -07:00
Jason Volk
64ccbea79d ircd:Ⓜ️:room: Refactor out remaining "test protocol" iterations from state interface. 2018-09-25 16:02:19 -07:00
Jason Volk
8ce3325905 modules/client/sync: Catch and drop exception around account_data. 2018-09-22 16:01:10 -07:00
Jason Volk
46cb5aee41 modules/m_typing: Move non-handler related from client/rooms/typing. 2018-09-16 20:55:12 -07:00
Jason Volk
17e137f52a modules/client/sync: Ensure indexes are a < b. 2018-09-15 19:32:16 -07:00
Jason Volk
a7dbc8e882 modules/client/sync: Add highlight count to sync; reintegrate notification count. 2018-09-14 07:34:05 -07:00
Jason Volk
6c629d3d89 modules: Fix various m::edu related improper typecasts. 2018-09-13 06:39:04 -07:00
Jason Volk
2eb55ea3a4 modules/client/sync: Hack patch for longpoll/linear sync events routing to the proper rooms.membership structure. 2018-09-13 02:05:16 -07:00
Jason Volk
0695584d2c modules/client/sync: Support notification_count. 2018-09-12 22:32:00 -07:00
Jason Volk
f24d51c38d modules/client/sync: The structure sent from a longpoll has no need for a state, only timeline. 2018-09-06 23:08:20 -07:00
Jason Volk
85aef85f61 ircd:Ⓜ️:vm: Support client unsigned.transaction_id. 2018-09-05 20:16:01 -07:00
Jason Volk
2e96d6fe3b modules/client/rooms/join: Add conf items for bootstrap timeouts. 2018-09-04 23:19:26 -07:00
Jason Volk
58d9bd7ca1 modules/client/rooms/initial_sync: Remove this trash and stub again. 2018-09-04 23:15:37 -07:00
Jason Volk
4f2e1a4acd modules: Reduce various chunked json buffer mgmt boilerplates. 2018-09-04 22:48:23 -07:00
Jason Volk
660bfcc03f modules/client/publicrooms: Implement queries for POST version. 2018-09-04 22:41:53 -07:00
Jason Volk
c7f211bb18 modules/client/publicrooms: Update stub; restructure POST w/ chunked json. 2018-09-04 22:15:05 -07:00
Jason Volk
d4a3b3c91d modules/client/directory/room: Add conf items for alias related. 2018-09-04 21:12:47 -07:00
Jason Volk
f4607904d2 modules/client/rooms/context: Optimize queries with fetch options. 2018-09-03 02:35:11 -07:00
Jason Volk
455ba69b76 modules/client/rooms/context: Visibility check on the state events. 2018-09-03 02:24:22 -07:00
Jason Volk
3be110d6ca modules/client/sync: Add prefetching for some polylog sync iterations. 2018-09-01 07:15:03 -07:00
Jason Volk
96363a527d modules/client/sync: Simplify stack arguments; addl cleanup. 2018-09-01 07:15:02 -07:00
Jason Volk
4819112f54 modules/client/sync: Checkpoint preliminary sync reorg. 2018-09-01 00:51:40 -07:00
Jason Volk
89afac86a2 modules/client/rooms/messages: Select default event keys for now. 2018-08-18 22:05:32 -07:00
Jason Volk
8d5229d67d modules/client/sync: Add room account_data to polylog sync. 2018-06-19 21:52:08 -06:00
Jason Volk
7d4eb46a1a ircd:Ⓜ️ Interface/linkage to generate room account_data type string. 2018-06-19 21:47:26 -06:00
Jason Volk
6d81f355dc modules/client/user/rooms: Support room account data. 2018-06-19 21:32:29 -06:00
Jason Volk
15e44463c3 modules/client: Stub joined_groups to shutup Riot. 2018-06-17 21:34:03 -06:00
Jason Volk
f5b73ce0c4 modules/client/rooms/invite: Fix linkage for invite__foreign routine. 2018-06-12 01:00:15 -07:00
Jason Volk
59a39caca3 modules/client/keys: Checkpoint 0-count keys for now. 2018-06-12 01:00:15 -07:00
Jason Volk
d659b7eaf5 modules/client/rooms/join: Checkpoint bootstrapped join related for now. 2018-06-12 01:00:15 -07:00
Jason Volk
7234f62b6c modules/client/rooms/kick: Implement kick convenience endpoint. 2018-06-12 01:00:15 -07:00
Jason Volk
51d657a533 modules/client/register: Distill for extern linkage; add granular conf items. 2018-06-07 13:20:46 -07:00
Jason Volk
de07d32afd ircd/modules: Update various conditional json::iov nodes. 2018-06-05 11:19:40 -07:00
Jason Volk
95f14503cf modules/client/rooms/state: Add conditional event.member for member events. 2018-06-04 23:17:56 -07:00
Jason Volk
9028b1350a modules/client/rooms/messages: Add visibility conditionals. 2018-05-31 05:45:29 -07:00
Jason Volk
9496f042b3 modules/client/rooms/context: Add event visibility conditionals. 2018-05-31 04:49:21 -07:00
Jason Volk
5d471b51b8 modules/client/rooms: Implement context endpoint. 2018-05-31 03:24:07 -07:00
Jason Volk
f37e090233 modules/client/rooms/receipt: Support read.ignore for rooms and senders; update console cmd. 2018-05-30 13:32:27 -07:00
Jason Volk
52767c836f modules/client: Stub search endpoint. 2018-05-29 04:01:36 -07:00
Jason Volk
2ba495eb8b modules/m_presence: Move some externs from client/presence; update linkages. 2018-05-28 01:31:45 -07:00
Jason Volk
88d3026cc7 ircd:Ⓜ️:vm: More granular notification broadcast options. 2018-05-27 19:56:04 -07:00
Jason Volk
0d833cda4f ircd:Ⓜ️ Add templated payload for hook. 2018-05-26 22:12:11 -07:00
Jason Volk
9a697783a9 modules/client/rooms/receipt: Add feature to not send read receipts to certain users. 2018-05-26 05:28:49 -07:00
Jason Volk
05147794c8 modules/client/rooms/receipt: Add log message for the local commit path. 2018-05-26 04:24:12 -07:00
Jason Volk
7bfe9e94a1 ircd::db: Default to no checksums on all reads; add conf item; adjust opts. 2018-05-23 18:45:27 -07:00
Jason Volk
53ba8dafcc modules/client/sync: Add some default fopts. 2018-05-22 01:13:38 -07:00
Jason Volk
ca1fbfec55 modules/client/rooms/receipt: Add committal from the receipt post handler. 2018-05-21 00:01:28 -07:00
Jason Volk
3774b61cb8 modules/client/register: Add conf item to enable/disable registration. 2018-05-20 18:39:33 -07:00
Jason Volk
6bacfb6cb7 modules/client/register: Remove the first user thing. 2018-05-20 18:39:33 -07:00
Jason Volk
c88ce8168b Revert "ircd:Ⓜ️ Convert hook to template."
This reverts commit 915076296f.
2018-05-20 18:39:32 -07:00
Jason Volk
47e5e94ac1 modules/client/sync: Ignore errs for graceful degradation w/o killing entire polylog sync. 2018-05-19 18:49:06 -07:00
Jason Volk
631020d932 modules/client/sync: Force next_batch values to be quoted strings. 2018-05-19 18:49:06 -07:00
Jason Volk
bf6b50348a modules/client/pushrules: Update stub to be a directory. 2018-05-19 18:49:06 -07:00
Jason Volk
97f38507e0 modules: Move state rebuild from client/state to s_state. 2018-05-19 18:49:05 -07:00
Jason Volk
915076296f ircd:Ⓜ️ Convert hook to template. 2018-05-19 18:49:04 -07:00
Jason Volk
163fc25790 modules/client/sync: Use real exception handler; fix polylog call; fix presence key; unlocker. 2018-05-19 18:49:04 -07:00
Jason Volk
f79000b18d modules/client/sync: Add flush high-watermark conf item. 2018-05-19 18:49:04 -07:00
Jason Volk
5590238b1f modules/client/rooms: Add a state reindexer routine. 2018-05-19 18:49:03 -07:00
Jason Volk
9e1dd0abe1 modules/client/rooms/messages: Count filter misses w/ conf limit; fix alloc size. 2018-05-19 18:49:03 -07:00
Jason Volk
1d7fce8368 ircd:Ⓜ️ Reorg filter interface and linkage related. 2018-05-19 18:49:02 -07:00
Jason Volk
3ec5df018a modules/client/rooms/messages: Add filtered messages pagination. 2018-05-19 18:49:02 -07:00
Jason Volk
08c3058fbc ircd:Ⓜ️:vm: Rename some commit opts. 2018-05-19 18:49:02 -07:00
Jason Volk
c14f268559 ircd:Ⓜ️ ADL the event::fetch::index() suite. 2018-05-09 16:38:11 -07:00
Jason Volk
369582339a modules/client/rooms/receipt: Handle all errors; fixes missing event exceptions. 2018-05-08 19:01:11 -07:00
Jason Volk
68c863e7f9 ircd:Ⓜ️:vm: Reorg commit stack; move room commit thing to m::vm. 2018-05-06 18:02:33 -07:00
Jason Volk
003ecf6357 ircd: Remove / update various ctx::interrupted catch blocks for ctx::terminated. 2018-05-06 02:06:08 -07:00
Jason Volk
7f4716c5e5 modules/client/sync: Use a real error log message on polylog sync backout. 2018-05-03 20:11:16 -07:00
Jason Volk
fb96f017b7 modules/client/rooms/messages: Chunk direct to socket. 2018-04-30 10:40:52 -07:00
Jason Volk
16f16678d8 modules/m_receipt: Shuffle around elements of the receipt vector. 2018-04-28 02:46:11 -07:00
Jason Volk
25d6c4d521 modules/client/presence: Stub my user's presence changed hook. 2018-04-27 15:27:09 -07:00
Jason Volk
70f962de4e ircd:Ⓜ️ Elaborate presence interface to fetch full event from user's room. 2018-04-27 15:26:17 -07:00
Jason Volk
e6b06a4522 modules/client/profile: Return 200 rather than 304 for put profile dups. 2018-04-26 03:51:15 -07:00
Jason Volk
6aebe1f01e modules/client/presence: Make redundant status return normally. 2018-04-23 19:17:03 -07:00
Jason Volk
d534ee8afa modules/client/presence: Check for redundant status updates from client. 2018-04-23 17:50:47 -07:00
Jason Volk
f9e449dbf5 modules/client/presence: Various cleanup/reorg. 2018-04-23 17:20:00 -07:00
Jason Volk
5b8b35a7c6 modules/client/profile: Nothrow for the existing value check on profile update. 2018-04-23 01:58:54 -07:00
Jason Volk
18e9c792be modules/client/sync: Handle timeout from acceptor dock. 2018-04-22 21:54:06 -07:00
Jason Volk
87bd9bc429 ircd:Ⓜ️ Add conf init sequence for m::self related. 2018-04-22 15:18:05 -07:00
Jason Volk
246e20d624 modules/client/rooms/initialsync: Use a conf item here fwiw. 2018-04-21 23:55:27 -07:00
Jason Volk
6dfe99e8e2 modules/publicrooms: Checkin the argument parsing half of this stub. 2018-04-21 23:53:36 -07:00
Jason Volk
5f2e8056d9 modules/client/sync: Checkpoint synchronous longpoll / polylog / prelim linear. 2018-04-21 23:50:16 -07:00
Jason Volk
bd3e004d70 modules/client/profile: Duplicate check for client put; extended timeout. 2018-04-21 17:28:48 -07:00
Jason Volk
3d5c8a5a2f modules/m_receipt: Deconflict receipt user_room type; add usefulness detection. 2018-04-21 16:52:19 -07:00
Jason Volk
d031d7eec5 modules/client/profile: Update profile for all rooms hook. 2018-04-21 15:45:49 -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
7f3919dd17 ircd:Ⓜ️ Split events iterations into namespace. 2018-04-18 01:25:54 -07:00
Jason Volk
5b09cdc264 modules/client: Stub various lies to quiet errors in Riot. 2018-04-17 01:15:30 -07:00
Jason Volk
00b46a8885 modules/client/sync: Checkpoint preliminary stateless incremental sync exhibit. 2018-04-16 17:57:41 -07:00
Jason Volk
19d7e05605 ircd::resource: Allow each resource method to specify its timing. 2018-04-15 18:02:41 -07:00
Jason Volk
d9a73f3604 modules/client/initialsync: Reorient base frame for resource::response::chunked. 2018-04-13 23:20:46 -07:00
Jason Volk
7b22f65e86 modules/client/initialsync: Terminate client on initialsync exception. 2018-04-13 16:16:07 -07:00
Jason Volk
16239f5e0b modules/client/initialsync: Special case the invite_state key. 2018-04-13 14:45:02 -07:00
Jason Volk
a08684c9e7 modules/client/initialsync: Involve m.receipt m.read for room ephemeral events. 2018-04-12 23:07:45 -07:00
Jason Volk
7bb187eb17 modules/client/initialsync: Remove unnecessary unquote() for object. 2018-04-12 14:15:05 -07:00
Jason Volk
e6888779c9 modules/client/presence: Make m.presence a state singleton in the user's room. 2018-04-12 00:38:18 -07:00
Jason Volk
ef2b4d041b modules/client/initialsync: Catch and log error which broke sync for user reporting. 2018-04-11 23:40:30 -07:00
Jason Volk
1f49f3c193 modules/client/initialsync: Involve presence in initialsync. 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
55e4a8fcaf ircd:Ⓜ️ Split user's rooms iteration into separate interface. 2018-04-11 15:38:01 -07:00
Jason Volk
e9df8b699c ircd:Ⓜ️ Add user room membership convenience interface; apply. 2018-04-11 14:18:38 -07:00
Jason Volk
777525f85a modules/client/initialsync: Sync global account_data from user's room; minor cleanup. 2018-04-11 13:16:07 -07:00
Jason Volk
fff36e0d42 modules/client/initialsync: Chunked encoded streamed json initial sync. 2018-04-10 19:32:56 -07:00
Jason Volk
ab0839c018 modules/client/initialsync: Initial json::stack initial sync stack. 2018-04-10 15:31:10 -07:00
Jason Volk
acf8cf5ae6 modules/client/sync: Checkpoint scaffold non-initial sync w/ initial linkage. 2018-04-10 15:31:10 -07:00
Jason Volk
d4e35476a3 modules/client: Preliminary 6.2.3 /initialSync composite. 2018-04-10 13:15:19 -07:00
Jason Volk
37a126915b modules/client/user: Validate user path parameter for now. 2018-04-08 22:11:29 -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
389d5a9f18 modules/client/rooms/receipt: Check for duplicate receipts on commission. 2018-04-07 09:57:08 -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
c849a30aa1 ircd:Ⓜ️ Improve interface to current event convenience suite. 2018-04-05 22:16:32 -07:00
Jason Volk
8d0681e7b1 ircd::ctx: Eliminate the std future_status and simplify our real-use interfaces. 2018-04-05 22:16:32 -07:00
Jason Volk
ddeeaf174f modules/client/rooms/invite: Remove unnecessary vararg. 2018-04-05 04:16:13 -07:00
Jason Volk
14608f4c6b modules/client/directory/room: Rewrite json::not_found; move cacher to after. 2018-04-04 22:54:58 -07:00
Jason Volk
7fef6f5f10 modules/client/rooms/messages: json::stack retrofit. 2018-04-04 22:54:58 -07:00
Jason Volk
ad9a5f731a modules/m_room_member: Eval foreign invites; committer in modules/client/rooms/invite. 2018-04-03 17:27:34 -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
ded4ed507e modules/client/profile: Rewrite m::NOT_FOUND propagation for appropos response. 2018-04-02 22:12:25 -07:00
Jason Volk
15b995cee8 modules/m_presence: Move presence committer/getter into client/presence. 2018-03-28 22:17:09 -07:00
Jason Volk
d48f46a0ac modules/m_typing: Move m.typing committer into client/rooms/typing. 2018-03-28 22:17:09 -07:00
Jason Volk
cbc4852e16 modules/m_receipt: Move m.receipt committer into client/ 2018-03-28 22:17:09 -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
ff1fe4284d ircd:Ⓜ️ Add central linkage for join by alias; move bootstrap to rooms/join. 2018-03-27 21:44:01 -07:00
Jason Volk
275fe9d957 modules/client/rooms/read_markers: Handle room_id has read marker. 2018-03-26 23:29:58 -07:00
Jason Volk
faefd5dd64 modules/client/join: Add relevant user profile values to join event iov. 2018-03-22 16:28:43 -07:00
Jason Volk
7bfd050131 modules/client/profile: Various cleanup; use profile suite; urldecode key params. 2018-03-22 16:27:42 -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
8eb1f4df40 ircd/modules: Consistent hook site names "vm notify" -> "vm.notify". 2018-03-16 21:42:22 -07:00
Jason Volk
bd29dec087 modules/client/rooms/read_markers: Condition on non-empty marker. 2018-03-16 12:47:39 -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
368c803575 modules/client/rooms/typing: Implement typing handler and timeout for our client. 2018-03-14 17:47:59 -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
67b2f13c64 modules/client/rooms/typing: Add the typing commitment here for now. 2018-03-14 16:26:16 -07:00
Jason Volk
dea86cd26e modules/client/profile: Simplify content access; fix unquoting. 2018-03-12 16:12:39 -07:00
Jason Volk
f0b5656fda ircd:Ⓜ️ Push user creation out to module. 2018-03-11 13:40:24 -07:00
Jason Volk
08fc944021 ircd:Ⓜ️ Tweak specifics of user/account creation/activation related. 2018-03-09 17:10:45 -08:00
Jason Volk
14a41e9f58 modules/client/join: Checkpoint preliminary bootstrapper. 2018-03-08 16:34:38 -08:00
Jason Volk
84e37b9635 modules/client/account: Fix user account activation related. 2018-03-08 16:29:51 -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
901a77266e ircd:Ⓜ️:vm: Massage edus through the core eval path; rename inserted to accept. 2018-03-07 13:28:15 -08:00
Jason Volk
76e16927c7 ircd:Ⓜ️ Move user activation definition into client/accounts near is_active(). 2018-03-05 05:24:45 -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
1723a48e89 ircd:Ⓜ️ Move user::is_active() to modules/client/account. 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
69b0acde63 ircd:Ⓜ️ Preliminary reorg around experimental presence interface. 2018-03-04 08:57:02 -08:00
Jason Volk
5a1d0a9f45 modules/client/register: Fix bug. 2018-03-04 08:57:02 -08:00
Jason Volk
90e3b90775 ircd:Ⓜ️ Hook ctor rewrites local m::id's with my_host(); update affected hooks. 2018-03-03 04:06:49 -08:00
Jason Volk
389af728c4 modules/client/register: Add preliminary first_user_registered hook. 2018-03-03 01:00:33 -08:00
Jason Volk
6333003aad ircd:Ⓜ️ Move user::activate() out to modules/client/register. 2018-03-03 00:51:27 -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
6dbb1864dd modules/client/rooms/initialsync: Default on the membership check for unauth'ed user. 2018-03-02 08:02:21 -08:00
Jason Volk
baa7a80b68 ircd: Various fixes; bump default db LRU cache sizes. 2018-03-02 08:02:20 -08:00
Jason Volk
4c89d17e68 modules/client/publicrooms: Use better hook for creating the public rooms room. 2018-03-02 08:02:20 -08:00
Jason Volk
b0730143d1 modules/client/directory/room: Use more exact range on cache response. 2018-03-01 04:47:14 -08:00
Jason Volk
f7a4f5c939 modules/client/rooms/initialsync: Checkpoint what's here for now. 2018-02-28 21:25:25 -08:00
Jason Volk
59cad48ce5 modules/client/directory/room: Add TTL/expiration to cached entries. 2018-02-28 20:53:05 -08:00
Jason Volk
c27e911d26 modules/client/directory/room: Create and use the !alias room to cache room alias queries. 2018-02-28 20:52:58 -08:00
Jason Volk
b90d3a9447 modules/client/profile: Throw out here instead. 2018-02-27 02:44:32 -08:00
Jason Volk
071488d96e modules/client/join: Forward alias join to room_id join; comment. 2018-02-26 20:59:33 -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
e594063e0c modules/client/join: Determine and route room_id_or_sigil appropriately. 2018-02-26 04:32:25 -08:00
Jason Volk
8f9a4aad7d modules/client/createroom: Add json::tuple of all spec params to parse request. 2018-02-26 01:40:41 -08:00
Jason Volk
e7b6f4bac6 ircd:Ⓜ️ Add vm_notify hook::site; add hook to create public rooms room. 2018-02-26 01:40:41 -08:00
Jason Volk
da8ef9e08e modules/client/events: Update/fix this stub for room previews. 2018-02-25 04:19:37 -08:00
Jason Volk
3d016b9e04 modules/client/rooms: Stub initialSync handler for room previews in Riot. 2018-02-25 04:19:37 -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
8c24d590a4 modules/client/profile: Plug in remote user profile query; minor reorg. 2018-02-25 00:38:42 -08:00
Jason Volk
979f585688 modules/client/directory: Plug v1::query::directory into GET directory/room 2018-02-25 00:30:45 -08:00
Jason Volk
bc7efd8bff modules/client: Stub publicised_groups endpoint. 2018-02-24 01:14:26 -08:00
Jason Volk
9d1d0c84a9 modules/client/rooms/messages: Implement pagination tokens. 2018-02-24 01:14:26 -08:00
Jason Volk
6385759769 modules/client/directory/user: Implement user directory result query. 2018-02-23 23:35:09 -08:00
Jason Volk
4a42e9d6b7 ircd:Ⓜ️ Move the rooms commit...thing to modules/client/rooms.
modules/client/rooms: Cleanup; renamespacing.
2018-02-22 20:46:27 -08:00
Jason Volk
7d4d88de73 ircd:Ⓜ️ Move and relink all the state/non-state sends()/message();
modules/client/rooms/state: reorg / renamespacing.
modules/client/rooms/send: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
44ff77a03f ircd:Ⓜ️ Move redact() definition to modules/client/rooms/redact
modules/client/rooms/redact: renamespacing.
2018-02-22 20:32:10 -08:00
Jason Volk
99239c8b95 ircd:Ⓜ️ Move leave() definition to modules/client/rooms/leave. 2018-02-22 20:32:10 -08:00
Jason Volk
116b6e12a6 ircd:Ⓜ️ Move join() definition to modules/client/rooms/join. 2018-02-22 20:32:09 -08:00
Jason Volk
09519174e2 ircd:Ⓜ️ Move room create() definition to modules/client/createroom. 2018-02-22 20:21:47 -08:00
Jason Volk
e6de770499 modules/client/rooms: Spec out the params in the 7.4 endpoints. 2018-02-22 01:35:00 -08:00
Jason Volk
34d1ea4afc modules/client/user: Stub handler for 11.18.2.2 PUT rooms/account_data; fix parv check. 2018-02-21 16:57:41 -08:00
Jason Volk
599b53d20b modules/client/directory/room: Stub missing 7.2.1 PUT; minor cleanup. 2018-02-21 16:57:41 -08:00
Jason Volk
87aece1dd7 modules/client/publicrooms: Checkpoint empty responses. 2018-02-21 15:41:09 -08:00
Jason Volk
d90f369c6d modules/client: Stub unstable thirdparty/protocols to quash Riot error. 2018-02-21 15:41:09 -08:00
Jason Volk
186239a5e4 modules/client/publicrooms: Stub missing 7.5.2 POST method. 2018-02-21 15:40:58 -08:00
Jason Volk
083397c03d modules/client/rooms: Stub the remaining room operation endpoints. 2018-02-21 15:22:04 -08:00
Jason Volk
754a9366fb modules/client/user: Stub openid/ openid/request_token. 2018-02-20 15:40:40 -08:00
Jason Volk
091efbdabe modules/client/directory: Stub user search endpoint. 2018-02-19 19:45:44 -08:00
Jason Volk
ea8dcdf619 modules/client/keys: Stub keys/query for device list. 2018-02-16 17:28:06 -08:00
Jason Volk
da9393016d modules/client: Cleanup/consistency in register/login handle stack. 2018-02-16 17:17:18 -08:00
Jason Volk
06e33f40a1 modules/client/presence: Dup the user_id in the content for now: simpler on out-side. 2018-02-16 13:33:19 -08:00
Jason Volk
023990888b modules/client: Fix error. 2018-02-16 13:33:19 -08:00
Jason Volk
38db46aad4 modules/client/rooms: 6.4.1/6.4.2 PUT state. 2018-02-16 13:33:18 -08:00
Jason Volk
b121c4377b modules/client/rooms: 6.3.5 GET joined_members; minor cleanup. 2018-02-16 12:37:21 -08:00
Jason Volk
a9b42926fa modules/client/events: Dumbstub this endpoint for 11.6 and requiring a room_id for now. 2018-02-16 12:07:12 -08:00
Jason Volk
fa4d31292f modules: Shrink these to a reasonable block size for now. 2018-02-16 11:56:32 -08:00
Jason Volk
33e0d15f28 modules/client: 11.6 Presence to and from the user's user room timeline. 2018-02-15 19:59:59 -08:00
Jason Volk
c6855c58c3 modules/client/devices: Use the id::device; use the user::room. 2018-02-15 17:27:42 -08:00
Jason Volk
f7db9bd92f modules/client/rooms: Add POST variant for redact. 2018-02-15 16:50:08 -08:00
Jason Volk
149db42d4e modules/client/rooms: 6.5.2.1 PUT redact. 2018-02-15 16:50:08 -08:00
Jason Volk
bc186e832d modules/client/register: Checkpoint hardcoded guest-reg block here for now. 2018-02-15 13:55:09 -08:00
Jason Volk
eab4aef7e6 ircd:Ⓜ️/modules/client: Add device ID generation; use token/password helpers; various comments/cleanup. 2018-02-15 13:55:09 -08:00
Jason Volk
27a539f941 modules/client: Cleanup some numbering and descriptions. 2018-02-15 13:40:07 -08:00
Jason Volk
bfcfacfc50 modules/client: 11.9 Device Management (incomplete). 2018-02-14 22:07:01 -08:00
Jason Volk
9da8e233d6 modules/client: Update various thrown errors. 2018-02-14 22:07:01 -08:00
Jason Volk
38454022cd ircd::m/modules: Add M_NEED_MORE_PARAMS. 2018-02-14 22:07:01 -08:00
Jason Volk
24aac22e33 modules/client/account: Stub an account/3pid response. 2018-02-14 22:07:01 -08:00
Jason Volk
5c171d6789 modules/client/profile: 8.2 Profiles :with the user's user room. 2018-02-14 22:06:35 -08:00
Jason Volk
3dd792033b modules/client/account: 3.6.1 GET whoami 2018-02-14 22:06:20 -08:00
Jason Volk
575820d993 modules: Split client/account. 2018-02-14 21:49:46 -08:00
Jason Volk
d4e6e23804 modules: Split client/user. 2018-02-14 21:49:46 -08:00
Jason Volk
c45461d5f6 modules: Split modules/client/rooms; reorg Makefile. 2018-02-14 21:49:46 -08:00
Jason Volk
173d19ee6a modules/client/sync: Give client more async() after /sync 408. 2018-02-13 18:36:30 -08:00
Jason Volk
b06412da76 modules/client/sync: Fix interpretation of the sync timeout query param. 2018-02-12 19:30:44 -08:00
Jason Volk
5f24883c1c modules: Add minimum viable stubs for errorless Riot load.
modules/client/pushrules: Stub arrays for errorless Riot load.
2018-02-12 19:30:44 -08:00
Jason Volk
75dabda9c7 modules/client/sync: Checkpoint sync stubs. 2018-02-12 19:30:44 -08:00