0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-09-08 09:45:41 +02:00
Commit graph

197 commits

Author SHA1 Message Date
Jason Volk
a8c6d63b37 modules/client/sync/rooms/state: Add conf item for lazyload; adjust related. 2019-12-03 11:50:16 -08:00
Jason Volk
9bb4936625 modules/client: Minor upgrades to std::clamp/std::minmax templates. 2019-10-10 13:35:02 -07:00
Jason Volk
4ee38bc08f modules/client/sync/rooms/state: Hoist event fetchers from loop. 2019-10-07 20:19:41 -07:00
Jason Volk
dbb3c55db5 matrix: Add m::homeserver; preliminary virtual origin networks. 2019-10-01 17:56:01 -07:00
Jason Volk
b3f45daff8 modules/client/sync/rooms/ephemeral/receipt: Add prefetch loops for polylog sync. 2019-09-24 16:33:06 -07:00
Jason Volk
49ce16d74b modules/client/rooms/ephemeral/receipt: Minor cleanup. 2019-09-23 23:26:07 -07:00
Jason Volk
575bacee8d ircd:Ⓜ️:room::events: Simplify count() suite. 2019-09-23 23:26:07 -07:00
Jason Volk
362122c951 modules/client/sync/rooms/state: Use the viewport size item for iteration depth. 2019-09-18 14:48:32 -07:00
Jason Volk
da6ae72b69 modules/client/sync/rooms/state: Simplify and optimize member event fetching at phase=0. 2019-09-18 14:29:40 -07:00
Jason Volk
2603953809 modules/client/sync/rooms/state: Simplify phase=0 concurrency w/ prefetch. 2019-09-18 14:29:40 -07:00
Jason Volk
be2ae27af6 modules/client/sync/rooms/timeline: Fix loop conditions. 2019-09-17 22:21:55 -07:00
Jason Volk
fe8f9ee611 modules/client/sync/rooms/timeline: Conditional prev_batch; minor cleanup. 2019-09-17 20:19:27 -07:00
Jason Volk
c77353fd9c modules/client/sync/rooms/timeline: Add conditional prefetch on down iteration. 2019-09-17 20:19:27 -07:00
Jason Volk
a6efe6986c modules/client/sync/rooms/timeline: Add comment. [skip ci] 2019-09-16 12:06:25 -07:00
Jason Volk
3f65055892 modules/client/sync/rooms/state: Employ prev_content elision on some appends. 2019-09-15 20:04:23 -07:00
Jason Volk
0f00468bb8 modules/client/sync/rooms/timeline: Add case to linear-sync a backfill of timeline events on join. 2019-09-15 19:36:39 -07:00
Jason Volk
5b088551ae modules/client/sync: Minor cleanup;
modules/client/sync: Consolidate header.
2019-09-09 12:08:07 -07:00
Jason Volk
6a59036f4e ircd:Ⓜ️🧾 Reorg/rename interface; simplify impl; add options argument.
ircd:Ⓜ️🧾 Remove central linkage cruft for interface.
2019-09-06 11:57:02 -07:00
Jason Volk
dfdee1eac9 ircd:Ⓜ️ Consolidate viewport calculation data sources; signed integer conf item. 2019-09-05 21:36:16 -07:00
Jason Volk
6775ee2f3b ircd:Ⓜ️:room: Move m::room::events non-member tools to module; rename/reorg count(). 2019-08-30 16:21:50 -07:00
Jason Volk
a52ad73e87 ircd:Ⓜ️:room: Rename room::messages to room::events. 2019-08-30 14:43:19 -07:00
Jason Volk
035dbbab88 ircd:Ⓜ️:typing: Add user control over sending and receiving typing events per room. 2019-08-28 16:48:36 -07:00
Jason Volk
29b8ec0510 modules/client/sync/rooms/unread_notifications: Faster report from '\read all' command. 2019-08-28 02:06:05 -07:00
Jason Volk
5870f1d90b modules/client/sync/rooms/timeline: Improve messages iteration event_idx/event_id seek related. 2019-08-25 13:59:05 -07:00
Jason Volk
c63374849a modules/client/sync/rooms/ephemeral/receipt: Make ephemeral/receipt phase aware; no initial. 2019-08-17 04:13:57 -07:00
Jason Volk
9bab37d585 modules/client/sync/rooms/account_data: Make handler phase aware. (closes #105) 2019-08-17 03:43:01 -07:00
Jason Volk
100f5c646a ircd:Ⓜ️:sync: Fix phased polylog invocation conditions; eliminate initial flag. (#105) 2019-08-16 04:50:39 -07:00
Jason Volk
fc742ae2d0 ircd: Fix warning/error.
ircd: Minor cleanup.
2019-08-16 03:32:13 -07:00
Jason Volk
5ce05fade4 modules/client/sync/rooms/state: Log an error on unexpected fetch failure. 2019-08-16 02:19:49 -07:00
Jason Volk
58b4fe8d2b modules/client/sync/rooms/unread_notifications: Apply the exposure depth paradigm to linear update. 2019-08-14 03:34:24 -07:00
Jason Volk
fca330e1c1 ircd:Ⓜ️:room: Reorg / slim the class member function interface.
ircd:Ⓜ️:room: Rename interface function.
2019-08-14 01:09:34 -07:00
Jason Volk
53b54e0f62 modules/client/sync/rooms/state: Fix left rooms members droptimization. 2019-08-12 01:39:16 -07:00
Jason Volk
9bab532c3e ircd:Ⓜ️:sync: Add interruption points in polylog caller; state iteration. 2019-08-11 08:00:41 -07:00
Jason Volk
f4b860e612 modules/client/sync/rooms/state: Remove assertion. 2019-08-11 05:20:39 -07:00
Jason Volk
e9f148f2a1 modules/client/sync/rooms/state: Unconditionally wait for concurrence to finish. 2019-08-07 18:42:20 -07:00
Jason Volk
9c3a0810cd modules/client/sync/rooms/state: Hoist the event::fetch vector out of the concurrent closure. 2019-08-07 18:42:20 -07:00
Jason Volk
45316906e7 modules/client/sync/rooms/state: Fix repeat timeline membership events in initial phase. 2019-08-07 15:56:39 -07:00
Jason Volk
e505c69b82 modules/client/sync/rooms/state: Improve own-membership test; improve return value. 2019-08-07 15:45:09 -07:00
Jason Volk
eddc5b3b55 ircd:Ⓜ️:event::append: Add properties mask to opts; centralize. (Fixes #119) 2019-08-05 17:54:00 -07:00
Jason Volk
edd41074b8 modules/client/sync/rooms/state: Fix linear sync state transfer on join event. (Fixes #117) 2019-08-04 19:25:36 -07:00
Jason Volk
a8e2f7de3e modules/client/sync/rooms/state: Skip member events in some cases by configuration. 2019-08-03 22:38:42 -07:00
Jason Volk
1f08be2a0c modules/client/sync/rooms/state: Only sync phased membership events for join rooms. 2019-08-03 22:09:24 -07:00
Jason Volk
e099d7c52b modules/client/sync/rooms/state: Fix errors / rework phased member events. (#105)
modules/client/sync/rooms/state: Minor cleanup.
2019-08-03 22:06:35 -07:00
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