0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-20 09:28:35 +02:00
Commit graph

263 commits

Author SHA1 Message Date
Jason Volk 5baf053423 modules/client/sync/to_device: Elide device_id in event; simplify. 2020-04-24 14:37:41 -07:00
Jason Volk a3e48d7757 modules/client/sync/rooms/timeline: Fix user's room messages leaking into timeline result. 2020-04-24 13:24:15 -07:00
Jason Volk fa8bc645af modules/client/sync/rooms/timeline: Fix join event not updating client state. 2020-04-20 18:14:52 -07:00
Jason Volk f8c98015f8 modules/client/sync/rooms/timeline: Fix rejoin events not appearing in timeline in linear handler. 2020-04-20 18:14:52 -07:00
Jason Volk c576c0765a modules/client/sync/to_device: Conditions to pass to_device '*'. 2020-04-16 15:56:48 -07:00
Jason Volk a7cc30b046 modules/client/sync/device_one_time_keys_count: Fix erroneous result placement. 2020-04-14 20:33:55 -07:00
Jason Volk df39547fa1 modules/client/sync/account_data: Fix return value from push_rules handler when no rules. 2020-04-14 19:25:48 -07:00
Jason Volk 79a4394626 ircd::json::stack: Simplify checkpoint interface controls. 2020-04-14 15:31:41 -07:00
Jason Volk ce5ebd4a1a modules/client/sync/presence: Assert content.user_id made it to presence linear. 2020-04-08 20:16:02 -07:00
Jason Volk 27a015b9dc modules/client/sync: Minor cleanup; use structured binding for m::top().
modules/client/events: Minor cleanup; use structured binding for m::top().
2020-04-03 15:17:35 -07:00
Jason Volk c4d0ffaec9 ircd:Ⓜ️:event::fetch: Move std::nothrow to leading argument for consistency. 2020-04-02 20:01:14 -07:00
Jason Volk fe9635a70e ircd:Ⓜ️:device: Reclassify interface at m::user::devices. 2020-04-01 19:52:31 -07:00
Jason Volk 93665cc587 ircd:Ⓜ️ Fix event_id() interface for consistent leading std::nothrow_t. 2020-04-01 16:03:25 -07:00
Jason Volk 13054243a5 modules/client/sync/presence: Add mitsein condition to linear handler. 2020-03-31 12:54:49 -07:00
Jason Volk 5d685e6b40 modules/client/sync/to_device: Add linear handler.
modules/client/sync/to_device: Reduce event append between handlers.
2020-03-31 10:37:50 -07:00
Jason Volk 44218e9d86 modules/client/sync/to_device: Condition for specific syncing device on polylog. 2020-03-30 22:04:29 -07:00
Jason Volk b2b1db1eb2 modules/client/sync/to_device: Use m::room::type events iterator for polylog. 2020-03-30 21:55:23 -07:00
Jason Volk 02430413ef modules/client/pushrules: Insert rule_id to rule on upload rather than outputs. 2020-03-27 10:40:43 -07:00
Jason Volk 27324d42bc modules/client/sync/rooms/unread_notifications: Elide highlight counting when !notification_count. 2020-03-26 18:25:06 -07:00
Jason Volk 107cae9591 modules/client/sync/rooms/unread_notifications: Fix range options to counter. 2020-03-26 12:05:10 -07:00
Jason Volk a549878519 modules/client/sync/rooms/unread_notifications: Reimplement highlight counter w/ notifications. 2020-03-24 16:16:27 -07:00
Jason Volk ab4b31bc13 ircd:Ⓜ️:user::pushrules: Add event_idx of rule as argument to closures.
ircd:Ⓜ️:user::pushers: Add event_idx of rule as argument to closures.
2020-03-23 13:01:24 -07:00
Jason Volk 925d15f7c0 modules/client/sync/rooms/ephemeral/receipt: Reverse order of receipts for R!ot. 2020-03-21 11:35:40 -07:00
Jason Volk f8b99ad26e ircd:Ⓜ️:user: Remove pre-pushrules highlight counter. 2020-03-19 16:01:32 -07:00
Jason Volk 42a8c30a40 modules/client/sync/account_data: Add linear and polylog sync support for m.push_rules 2020-03-18 16:06:44 -07:00
Jason Volk 28cc60a909 modules/client/sync/rooms/state: Add linear sync skip condition. 2020-02-24 12:26:51 -08:00
Jason Volk 0c34b92083 modules/client/sync/rooms/ephemeral/receipt: Remove redundant apropos conditions. 2020-01-23 10:52:56 -08:00
Jason Volk e0810afd87 modules/client/sync/presence: Skip erroneous user_id's in loop. 2020-01-07 13:43:53 -08:00
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 a984c2a454 modules/client/sync/to_device: Use m::query(); minor cleanup. 2019-09-23 19:46:32 -07:00
Jason Volk 39ade19ae3 ircd::ctx: Switch from steady_timer to deadline_timer. 2019-09-22 20:59:54 -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 34e87c08c3 ircd:Ⓜ️:user::mitsein: Simplify interface. 2019-08-17 02:59:13 -07:00
Jason Volk a295d52f89 modules/client/sync/presence: Elide offline presence events on initial sync. 2019-08-16 06:35:18 -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 f14a23aaf6 modules/client/sync/presence: Disable interruption on concurrent wait. 2019-08-11 04:38:50 -07:00
Jason Volk 84d4b091fe modules/client/sync/device_one_time_keys_count: Fix error. 2019-08-10 23:22:28 -07:00
Jason Volk 8bce90fbf3 modules/client/keys/upload: Properly implement one_time_keys upload. (Fixes #9) 2019-08-09 23:34:20 -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 12d2f98565 modules/client/sync/device_one_time_keys_count: Implement polylog handler. 2019-08-06 19:25:07 -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 6495fa55d5 modules/client/sync: Move the sync::args ctor definition into unit. 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 df2772c113 modules/client/sync/rooms: Fix buffer sizing constant. 2019-07-24 17:42:31 -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 339e43c004 modules/client/sync: Update readme. 2019-07-16 11:36:03 -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 023167b440 modules/client/sync: Add a 'semaphore mode' for muted sync. 2019-07-12 19:29:51 -07:00