0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-28 21:38:39 +02:00
Commit graph

245 commits

Author SHA1 Message Date
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
Jason Volk 393e4f32de modules/client/sync: Add comment on the phased sync arg. 2019-07-12 19:29:51 -07:00
Jason Volk 62ede2f954 modules/client/sync: Update some comments/docs. 2019-07-09 19:22:15 -07:00
Jason Volk 5258ffb964 modules/client/sync/rooms/state: Minor simplification. 2019-07-08 06:03:20 -07:00
Jason Volk 61fcc07fcf modules/client/sync: Refactor longpoll handler. 2019-07-08 06:03:20 -07:00
Jason Volk cbb39105e1 ircd:Ⓜ️:sync: Add next_batch_token to args struct for direct view. 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 6fb6f096de modules/client/sync: Pack the upper-bound into the phased polylog since token. 2019-07-06 22:25:16 -07:00
Jason Volk c6a9cf3849 modules/client/sync: Split internal sync.h header. 2019-07-06 19:05:36 -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