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 |
|
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
|
98ec2d7008
|
modules/client/sync: Update README.
|
2019-06-11 14:51:20 -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
|
ae4ae66f08
|
modules/client/sync/rooms: Show membership string in debug msg.
|
2019-04-22 14:47:06 -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
|
25d153d64c
|
ircd:Ⓜ️:sync: Add an initial phase convenience; add account_data as an initial phase.
|
2019-04-16 01:32:52 -07:00 |
|
Jason Volk
|
a70d22151f
|
modules/client/sync/rooms: Elide query for room head/depth for EDU's.
|
2019-04-15 17:09:35 -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
|
a82410009e
|
ircd:Ⓜ️:sync: Introduce phased polylogarithmic initial sync.
|
2019-04-08 02:46:49 -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
|
f7fa89b061
|
ircd::json::stack: Alter checkpoint rollback() behavior to proactive.
|
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
|
11afd2e590
|
modules/client/sync/rooms: Support ignoring invites based on m.ignored_user_list.
|
2019-03-14 18:11:52 -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
|
fe778e6ae4
|
modules/client/sync/rooms: Remove unnecessary checkpoint.
|
2019-03-12 18:41:05 -07:00 |
|
Jason Volk
|
425364f13e
|
modules/client/sync/rooms/state: Fix missing append.
|
2019-03-12 18:41:05 -07:00 |
|
Jason Volk
|
06459e655e
|
modules/client/sync/to_device: Fix improper seek.
|
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
|
ce8824a1bd
|
modules/client/sync/rooms: Reenable per-room debug stats.
|
2019-03-09 15:17:21 -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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 |
|
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 |
|