0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-11-04 21:08:57 +01:00
Commit graph

154 commits

Author SHA1 Message Date
Jason Volk
432e317314 modules/client/sync/rooms/state: Elide an event index query. 2019-08-03 19:40:52 -07:00
Jason Volk
d8fcbf7325 ircd:Ⓜ️ Reinterface append(event) into event::append; move to module. (#109) 2019-08-02 17:34:31 -07:00
Jason Volk
09b7299ca8 modules/client/sync: Implement full_state request functionality. (#105) 2019-08-02 15:04:29 -07:00
Jason Volk
7333be92ca ircd:Ⓜ️:typing: Simplify interface; fix linkages. 2019-07-30 14:21:26 -07:00
Jason Volk
c8a04073f1 ircd:Ⓜ️:typing: Add ircd.typing event; update sync room ephemeral.
Fixes #94.
2019-07-30 14:21:26 -07:00
Jason Volk
494288ea77 modules/client/sync/rooms/account_data: Ignore since range on room account_data polylog sync. 2019-07-25 15:06:54 -07:00
Jason Volk
b8adc69599 ircd:Ⓜ️ Move MEMBERSHIP_MAX_SIZE into room.
ircd:Ⓜ️:room: Add a room version max size constant.
2019-07-25 14:29:07 -07:00
Jason Volk
4051d11812 modules/client/sync/rooms/state: Ensure branch not taken on phased sync. 2019-07-24 17:53:06 -07:00
Jason Volk
9e927d1a4d modules/client/sync/rooms/state: Make room_invite_state phased aware. 2019-07-24 15:58:28 -07:00
Jason Volk
5116023cf3 modules/client/sync/rooms/state: Add room avatar to invite state sync.
modules/client/sync/rooms/state: Increment ret after append, not before.

modules/client/sync/rooms/state: Use constructive event::fetch.
2019-07-24 15:34:35 -07:00
Jason Volk
e0e9e09e67 ircd:Ⓜ️ Make append() return and propagate boolean. 2019-07-16 15:26:15 -07:00
Jason Volk
2f71edf41f modules/client/sync/rooms/state: Supply invite room state on invite.
modules/client/rooms/invite: Add the sender's membership event.
2019-07-15 14:11:22 -07:00
Jason Volk
598585a431 ircd::ctx: Simplify concurrent template.
modules/client/sync: Improve concurrent instantiation sites.
2019-07-15 13:09:33 -07:00
Jason Volk
198d3ff884 modules/client/sync/rooms/state: Query for event_idx outside of lock; hint pool. 2019-07-14 15:21:13 -07:00
Jason Volk
5e15364e42 modules/client/sync/rooms/state: Make initial-phase state event queries concurrent. 2019-07-14 15:03:54 -07:00
Jason Volk
b9df49a891 modules/client/sync/rooms/state: Make special case for invite_state inclusive. 2019-07-13 23:20:03 -07:00
Jason Volk
c7a68a8cb3 ircd::ctx: Fix ctx::parallel argument allocation assumptions.
ircd::ctx: Rename tool.
2019-07-13 23:20:03 -07:00
Jason Volk
5258ffb964 modules/client/sync/rooms/state: Minor simplification. 2019-07-08 06:03:20 -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
2bd3a8f021 modules/client/sync/rooms/ephemeral/receipt: Make the search depth a conf item. 2019-07-06 23:20:43 -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
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
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
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
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
3d8d71c97c modules/client/rooms/join: Mask nothrow conditions; various fixes. 2019-06-07 06:02:19 -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
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
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
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
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
b481d994f5 modules/client/sync/rooms/state: Attemt fix "invite_state" vs. "state". 2019-04-22 20:08:29 -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
77b16f32ce ircd:Ⓜ️:append: Calculate age based on depth from room head.
fixes #55
2019-04-15 14:44:58 -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
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
46324b1ac8 modules/client/sync/rooms/timeline: Fix polylog timeline limited indicator. 2019-03-31 13:09:36 -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
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
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
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
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
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
425364f13e modules/client/sync/rooms/state: Fix missing append. 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
79782958fc modules/client/sync/rooms/timeline: Add conf item for default limit. 2019-03-09 17:37:48 -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
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
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
85b66e2d55 modules/client/sync/rooms/timeline: For non-longpoll, attempt to query transaction_id. 2019-03-05 14:24:08 -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
47bcfaecb4 ircd: Upgrade various templates with argument deduction. 2019-03-02 14:20:52 -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
8fee82b0d6 modules/client/sync: Readd the transaction_id on longpoll; fix ghost events. 2019-02-28 18:28:45 -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
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
9f7a08e9da modules/client/sync/rooms/timeline: Consolidate event append paths. 2019-02-27 16:27:04 -08:00
Jason Volk
7f57a4c422 modules/client/sync: Sketch various preliminary linear sync handlers. 2019-02-26 18:17:45 -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
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
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
207a12934c ircd:Ⓜ️:user: Reorg user::account_data interface. 2019-02-21 12:11:42 -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
77ababbe85 modules/client/sync/rooms: Minor constness fix. 2019-02-19 14:49:50 -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
11af393444 modules/client/sync/rooms/timeline: Bail faster if no room head idx found. 2019-02-05 01:58:12 -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
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
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
5ae495031f ircd:Ⓜ️:event::fetch: Improve fetch options related; minor cleanup. 2019-01-16 12:19:25 -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