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

431 commits

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