0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-12-29 08:54:02 +01:00
Commit graph

409 commits

Author SHA1 Message Date
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