0
0
Fork 0
mirror of https://github.com/matrix-construct/construct synced 2024-07-10 12:38:36 +02:00
Commit graph

974 commits

Author SHA1 Message Date
Jason Volk 39ade19ae3 ircd::ctx: Switch from steady_timer to deadline_timer. 2019-09-22 20:59:54 -07:00
Jason Volk 1731ff8bad modules/client/rooms/leave: Override any mismatch between room and user_room. 2019-09-20 15:20:37 -07:00
Jason Volk 578a0e03fd modules/client/rooms/events: Prevent EDU's from being sent to client here. 2019-09-19 10:20:40 -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 6ed0db3274 modules/client/rooms/messages: Abandon prefetching in the messages handler.
Aborted due to collisions and stalls. Note that messages are already prefetched
by the breadcrumb_rooms handler on room change.
2019-09-18 13:09:19 -07:00
Jason Volk 1d449ed134 modules/client/rooms/members: Support multiple membership constraint query paramters for optimization. 2019-09-18 12:30:51 -07:00
Jason Volk 321b7e32c1 modules/client/rooms/forget: Simplify checks. (closes #130) 2019-09-18 12:30:51 -07:00
Jason Volk 11699baff0 ircd:Ⓜ️ Consolidate m::membership() suite to header; minor cleanup. 2019-09-18 12:30:50 -07:00
Jason Volk cdce334b80 modules/client/rooms/messages: Hoist prefetching into branch; disable here for now. 2019-09-17 23:17:51 -07:00
Jason Volk 404da37cc4 modules/client/rooms/messages: Cleanup loop; improve prefetch; reduce density of branches. 2019-09-17 22:38:38 -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 252a89fbaa modules/client/rooms/messages: Issue prefetches to pipeline the fetch loop. 2019-09-17 20:17:37 -07:00
Jason Volk 8f4def84f4 modules/client/rooms/invite: Remove unnecessary check. 2019-09-16 13:33:35 -07:00
Jason Volk a6efe6986c modules/client/sync/rooms/timeline: Add comment. [skip ci] 2019-09-16 12:06:25 -07:00
Jason Volk 2115bf7cf4 ircd:Ⓜ️:user: Move definitions from modules/client to m_user. 2019-09-16 11:03:45 -07:00
Jason Volk 7fa72e8f39 ircd:Ⓜ️ Move the m::redact() definition out of client/rooms modules. 2019-09-16 10:55:23 -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 ea33e0326e ircd:Ⓜ️:rooms::summary: Refactor for per-origin result synthesis and learning. 2019-09-15 14:59:36 -07:00
Jason Volk deeb731d42 modules/client/search: Update the handler with skeleton structure. 2019-09-14 13:51:24 -07:00
Jason Volk f8e3030819 modules/client/directory/list: Use local rooms::summary::set() overload. 2019-09-13 18:04:53 -07:00
Jason Volk 1e62b68286 ircd:Ⓜ️:vm: Move conform hook to pdu branch. 2019-09-13 13:38:05 -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 29f8309c10 modules/client/rooms/receipt: Use matrix-org/matrix-doc/2285 m.hidden tag for server-side ignores. 2019-09-07 18:42:37 -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 425aa83900 ircd:Ⓜ️:rooms: Add options for user_id / room_alias related. 2019-09-05 21:36:16 -07:00
Jason Volk 652a866a0e modules/client/publicrooms: Improve UX for partial alias search term inputs. 2019-09-05 21:36:16 -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 26e08c2fc4 modules/client/rooms/read_markers: Ignore duplicate m.fully_read submissions from cliot. 2019-08-29 02:17:48 -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 6f60b9bed8 ircd:Ⓜ️ Simplify send() impl linkage. 2019-08-25 19:44:00 -07:00
Jason Volk 9b5ffb0b1f modules: Split m::createroom related from client/. 2019-08-25 19:44:00 -07:00
Jason Volk f298e95373 modules: Split out client/user related interface impls. 2019-08-25 19:44:00 -07:00
Jason Volk 8a860b61ce modules: Split m::leave(room) impl from client/rooms. 2019-08-25 19:44:00 -07:00
Jason Volk 2fdbaa88a4 modules/client/rooms/join: Minor modernizations. 2019-08-25 19:44:00 -07:00
Jason Volk 22d5b3350a modules: Split m::join impl out of client/rooms. 2019-08-25 19:43:57 -07:00
Jason Volk afd918d19a modules/client/keys: Typedefs in anonymous namespace to prevent cross-module linkage. (#109) 2019-08-25 17:37:06 -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 3d445fd26c modules/client/rooms/members: Add prefetch iterations. 2019-08-24 20:37:37 -07:00
Jason Volk 48dfc78473 modules/client/send_to_device: Add origin to injected event. 2019-08-23 21:13:53 -07:00
Jason Volk 1677137440 modules/client/keys/query: Break up large json::stack append. 2019-08-23 18:40:06 -07:00
Jason Volk 1a5f27a2de modules/client/keys/query: Increase buffer. 2019-08-23 18:27:51 -07:00
Jason Volk 7016241df2 modules/client/rooms/state: Fix param check; avoid parv[] assertions. 2019-08-18 07:31:40 -07:00
Jason Volk 4d88f4bb4f ircd:Ⓜ️:create: Implement trusted_private_chat preset power_levels. 2019-08-18 06:48:13 -07:00
Jason Volk 3418f85a67 Revert "m::create: Ensure m.room.join_rules event is created on spec preset rooms."
This reverts commit 0a2510bc89.
2019-08-18 06:15:02 -07:00
Jason Volk b18a1a3ebd modules/client/createroom: Remove the parent property. 2019-08-17 08:30:58 -07:00
Jason Volk 1e8b5b91da modules/client/send_to_device: Fix top object. 2019-08-17 07:54:16 -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 9973c80916 modules/m_presence: Move federation send hook here; complete functionality. 2019-08-17 02:59:13 -07:00
Jason Volk c760eb0a12 ircd:Ⓜ️:vm: Use bitmask of properties to generate in vm::copts. 2019-08-17 00:44:14 -07:00
Jason Volk 5f4b6d5f1a ircd:Ⓜ️:user::filter: Move remaining to module. 2019-08-16 22:18:30 -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 34c1b13fa3 modules/client/profile: Ensure there's an eptr before calling rethrow. 2019-08-16 02:19:49 -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 dc47cc7a93 modules/client/profile: Wrap and rethrow remote http error in m::error here. 2019-08-16 02:19:49 -07:00
Jason Volk 76de6b4ac2 ircd:Ⓜ️:create: Cleanup/Comments for m.room.create/room create related. 2019-08-16 02:19:49 -07:00
Jason Volk cd347d53cb ircd:Ⓜ️:create: Add a central room_version default conf item. 2019-08-16 02:19:48 -07:00
Jason Volk 183241b506 modules/client/presence: Remove presence lists stub. (matrix-org/matrix-doc#1817) 2019-08-16 02:19:48 -07:00
Jason Volk 08120bb194 modules/client/rooms/relations: Improve w/ chunked encoding; visibility checks; event append. (#126) 2019-08-14 23:56:24 -07:00
Jason Volk 74bd6cfabf modules/client/rooms: Implement Client (unstable) rooms/relations. (Closes #126) 2019-08-14 09:28:05 -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 623a283671 modules/client/directory/room: Implement Client 10.2.3 DELETE roomAlias. 2019-08-13 22:12:48 -07:00
Jason Volk da495a8810 modules/client/directory/room: Require authentication for PUT. 2019-08-13 22:09:25 -07:00
Jason Volk 423284547d modules/client/directory/room: Remove power check. (Fixes #128) 2019-08-13 22:01:51 -07:00
Jason Volk e828dfbf13 mocdules/client/directory/room: Move existing check into loop; add comments. 2019-08-13 22:00:49 -07:00
Jason Volk 743c2331ae modules/client/directory/room: Fix type for log va_rtti. 2019-08-13 21:40:51 -07:00
Jason Volk 94354e2d63 modules/client/thirdparty/protocols: Update the URL to shut R!ot up. [skip ci] 2019-08-13 00:08:32 -07:00
Jason Volk 84e79a64e6 ircd:Ⓜ️:rooms: Refactor interface; split rooms::summary; split module. 2019-08-12 23:55:07 -07:00
Jason Volk 2f4b05afdf modules/client/notifications: Add stub array. (#87) 2019-08-12 04:26:22 -07:00
Jason Volk ddfae956d2 modules/client/directory/user: Add avatar_url and display_name to results.
modules/client/directory/user: Increase buffer size.
2019-08-12 03:03:37 -07:00
Jason Volk 2c57890e0f modules/client/sync: Increase the linear buffer size. 2019-08-12 01:39:16 -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 3dfd8e5c75 modules/client/directory/user: Modernize w/ m::users:: and json::stack. 2019-08-12 01:39:16 -07:00
Jason Volk aa4147b02a ircd:Ⓜ️:sync: Fix conditions for non-phased non-initial sync items. 2019-08-11 08:15:36 -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 0a2510bc89 m::create: Ensure m.room.join_rules event is created on spec preset rooms. 2019-08-10 00:16:36 -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 ab8771aae3 modules: Fix various hookfn instance constness. 2019-08-09 21:27:41 -07:00
Jason Volk b111af2b3e modules/client/keys/upload: Unconditionally sleep(). 2019-08-08 14:09:55 -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 0f8cabdcb9 modules/client: Start a register/email module; stub requestToken. (#106) 2019-08-07 15:03:50 -07:00
Jason Volk 87ce85e521 modules/client/keys/upload: Workaround race condition in Riot. (Fixes #9) 2019-08-06 19:30:09 -07:00
Jason Volk d78a1bfe6f modules/client/keys/upload: Improve handler. 2019-08-06 19:25:07 -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 e0fec1e81d modules/client/sync: Add device_id to sync data. 2019-08-06 19:18:03 -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 9e2b9ed8da modules/client/rooms/state: Add default fetch key selection to response events. (#119) 2019-08-04 20:28:46 -07:00
Jason Volk 749b6a7cda modules/client/rooms/context: Fix missing default fetch opts. (#119) 2019-08-04 20:28:16 -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 bd979b4666 ircd:Ⓜ️:join: Prevent duplicate join here. 2019-08-03 01:44:49 -07:00
Jason Volk 9f1b540319 ircd:Ⓜ️:join: Check argument is my(user). 2019-08-03 01:44:28 -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 5e3f81685c ircd:Ⓜ️ Shorten matrix log facility names.
modules/m_room_bootstrap: Rename log facility.
2019-07-31 19:43:06 -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 d5f64e5a74 Fix build errors for GCC-9.1.
Fixes #93.
2019-07-30 10:28:33 -07:00
Jason Volk 2b694d2c59 modules/client/send_to_device: Fix lack of exception string in error output. 2019-07-27 18:49:27 -07:00
Jason Volk 9391ee38f4 modules/client/send_to_device: Augment sendToDevice for multiple targets. 2019-07-26 19:52:17 -07:00
Jason Volk 5edd7a6117 ircd:Ⓜ️:fetch: Whittle down the current interface; remove libircd linkages. 2019-07-26 15:51:15 -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 a9000af369 modules/client/events: Branch for events to allow EDU's without event_id. 2019-07-24 17:37:08 -07:00
Jason Volk 051af41961 modules/client/events: Catch hook handler exception here. 2019-07-24 16:29:44 -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 eb3b4d82fb ircd:Ⓜ️:room::members: Simplify and improve interface; callsites. 2019-07-23 19:50:13 -07:00
Jason Volk df11d9bec6 ircd:Ⓜ️:room: Reorient join bootstrap definitions.
ircd:Ⓜ️:room::bootstrap: Improve interface / various.
2019-07-23 16:40:29 -07:00
Jason Volk 0f6e7f5745 modules/client/rooms/join: Fetch keys concurrently in bootstrap auth_chain eval. 2019-07-23 14:41:53 -07:00
Jason Volk a151eadd62 modules/client/sync: Clarify double deindirection. 2019-07-20 21:42:32 -07:00
Jason Volk 94ceab33a5 modules/client/rooms/join: Minor cleanup. 2019-07-19 23:26:54 -07:00
Jason Volk 4b831a6a30 modules/client/sync: Decrease the default flush high water mark. 2019-07-17 18:34:42 -07:00
Jason Volk ad834bfc5b ircd:Ⓜ️:vm: Reorganize eval/vm::inject for room version differences; add comment. 2019-07-17 14:53:13 -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 594627e945 modules/client/rooms/join: Minor simplify. 2019-07-15 23:01:17 -07:00
Jason Volk 270cf6564c modules/client/rooms/initialsync: Remove event_id host regression. 2019-07-15 21:22:43 -07:00
Jason Volk 449f667dd9 modules/client/rooms/join: Exception handling around bootstrap eval. 2019-07-15 17:20:47 -07:00
Jason Volk bb7cf992ae modules/client/rooms/join: Throw error rather than returning empty event_id.
modules/client/rooms/join: Minor simplify.

modules/client/rooms/join: Use room room_version in event eval opts.
2019-07-15 15:34:06 -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 e715c135af ircd:Ⓜ️ Split m::user::profile from client handler. 2019-07-14 19:35:28 -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 e6780c7940 modules/client/createroom: Fix bootstrap regression. 2019-07-14 15:03:54 -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 c1b3dc1142 modules/federation/sender: Don't propagate exceptions outside of the hook handler. 2019-07-13 23:20:03 -07:00
Jason Volk 8d8142d5eb modules/client/rooms/invite: Send infolog message on invite reception. 2019-07-13 23:20:03 -07:00
Jason Volk e82b58728a modules/client/rooms/invite: Send invite_room_state. 2019-07-13 23:20:03 -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 4b961099cc modules/client/createroom: Add default room version conf item; fix create eval. 2019-07-13 19:28:03 -07:00
Jason Volk df8fd36fde ircd:Ⓜ️:user: Simplify user::room_tags impl w/ modern linkage.
ircd:Ⓜ️:user: Simplify user::room_account_data impl w/ modern linkage.

ircd:Ⓜ️:user: Modernize user::profile impl linkage.

ircd:Ⓜ️:user: Modernize user::account_data impl linkage.

ircd:Ⓜ️:user: Simplify user::ignores impl w/ modern linkage.
2019-07-13 18:15:27 -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 6b54ab902e modules/client/sync: Minor cleanup of condition statements. 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 4090b8f3da modules/client/rooms/invite: Use json::stack to generate request content. 2019-07-12 19:29:51 -07:00
Jason Volk 09ea0be2f0 modules/client/rooms/invite: Improve error reporting. 2019-07-12 19:29:51 -07:00
Jason Volk 5c8a97c43e modules/client/rooms/invite: Use the v2 invite api here. 2019-07-12 19:29:51 -07:00
Jason Volk ce55859fb2 ircd:Ⓜ️ Rename v1 to fed. 2019-07-12 19:29:51 -07:00
Jason Volk fe4ce5c130 modules/client/rooms/invite: Fix event construction. 2019-07-12 19:29:51 -07:00
Jason Volk ef670cc8b9 modules/client/createroom: Abort room creation for DM's if error inviting counter-party. 2019-07-12 19:29:51 -07:00
Jason Volk f4600bb002 modules/client/createroom: Create with room_version 4. 2019-07-12 19:29:51 -07:00
Jason Volk 4353034027 modules/client/events: Prevent seek of event_idx for EDU's. 2019-07-12 19:29:50 -07:00
Jason Volk 76148e2971 modules/client/events: Fix condition; use minmax/minor cleanup. 2019-07-12 19:29:50 -07:00
Jason Volk 88bd487d5d modules/client/events: Fix regression from aebfd8d9ff. 2019-07-11 16:57:41 -07:00
Jason Volk 4a2b64fe0f modules/client/capabilities: Update capabilities.
closes #27
2019-07-10 07:24:20 -07:00
Jason Volk aebfd8d9ff modules/client/events: Pass the event_id on side-channel. 2019-07-10 03:50:37 -07:00
Jason Volk 43d66420cd Update incompatible uses of event_id. 2019-07-10 03:50:37 -07:00
Jason Volk 975e3d8700 modules/client/sync: Fix/improve longpoll behavior as a fallback. 2019-07-09 19:53:25 -07:00
Jason Volk 62ede2f954 modules/client/sync: Update some comments/docs. 2019-07-09 19:22:15 -07:00
Jason Volk 719a965d9f ircd:Ⓜ️:event: Remove prev_state from top level. 2019-07-09 02:33:27 -07:00
Jason Volk de97c688cc modules/client/sync: Increase default main buffers. 2019-07-08 06:03:20 -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 7dc5d30405 ircd:Ⓜ️:sync: Move data ctor to module. 2019-07-08 06:03:20 -07:00
Jason Volk 11dd47a8aa ircd:Ⓜ️:sync: Add pointer to struct args in struct data. 2019-07-08 06:03:20 -07:00
Jason Volk 021823ec6d modules/client/rooms/context: Add non-spec param to disappear state entirely from response. 2019-07-08 06:03:20 -07:00
Jason Volk f21fccbbd7 modules/client/rooms/context: Support filter; respect lazy-loading members in returned state. 2019-07-07 22:06:11 -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 68ec7b1c5d modules/client/versions: Add the earlier versions. 2019-07-07 03:59:51 -07:00
Jason Volk bd09a9aba2 modules/client/rooms/members: Implement c2s r0.5.0 query parameters. 2019-07-07 03:59:51 -07:00
Jason Volk ec6651d76d modules/client/user/filter: Use b64url filter ID's. 2019-07-07 01:11:24 -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 5c8425d047 modules/client/sync: Add comments to main frame. 2019-07-06 22:25:16 -07:00
Jason Volk 18f07b6378 ircd:Ⓜ️:sync: Move definitions to module.
ircd:Ⓜ️:sync: Give sync::data an instance_list.
2019-07-06 22:25:12 -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 c54c2fb9d0 modules/client/capabilities: Fix m.room.version->default serialization type.
modules/client/capabilities: Add room version "4" and "5" with unstable disposition for now.
2019-07-06 18:17:35 -07:00
Jason Volk ff4fefe99c modules/client/capabilities: Move handler into namespace. 2019-07-06 18:11:03 -07:00
Jason Volk f9dbd306d6 modules/client/versions: Generate response content dynamically. 2019-07-06 17:58:47 -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 767e18791c modules/client/sync: Fix queue pop. 2019-07-06 05:50:13 -07:00
Jason Volk 5cf7eb9db4 modules/client/sync: Enable crazyloading by default. 2019-07-06 02:06:46 -07:00
Jason Volk 261151f539 ircd:Ⓜ️:fetch: Remove ambiguating event_id() util. 2019-07-05 23:45:00 -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 9234fd34a6 modules/client/account: Fix use of deprecated json::object nested traversal API. 2019-07-03 18:57:48 -07:00
Jason Volk a3da1fd0d0 modules/client/events: Add missing user::room event_append_opts contextual data. 2019-06-29 19:16:20 -07:00
Jason Volk 1f8bff0ef5 modules/client/rooms/initialsync: Add missing event_append_opts contextual data. 2019-06-29 19:16:20 -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 80655da66e Misc fixes for clang. 2019-06-24 01:34:14 -07:00
Jason Volk ce7bb21ea4 modules: Disambiguations for clang. 2019-06-24 01:33:41 -07:00
Jason Volk a371bc3e1f ircd: Fix cast-conversion based reference-constructions. 2019-06-22 17:36:42 -06:00
Jason Volk 534afe8859 ircd: No need to move x-values. 2019-06-22 17:36:42 -06:00
Jason Volk c944818f4b modules/client/rooms: Add pre-checks for membership on the convenience endpoints. 2019-06-21 16:53:26 -07:00
Jason Volk cef538fdf3 modules/client/publicrooms: Fix url decoding of query string arguments. 2019-06-18 00:22:16 -07:00
Jason Volk f2fb177d7d modules/client/publicrooms: Refresh the cache on request.
fixes #82
2019-06-18 00:22:16 -07:00
Jason Volk 4a7f079b49 modules/client/versions: Claim support for more versions. 2019-06-16 14:04:28 -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 abfdb06ebf modules/client/rooms/join: Hard reset the room head after join completes. 2019-06-07 23:01:46 -07:00
Jason Volk 87e8b5eb1f modules/client/sync: Minor reorg; increase default timeout conf items. 2019-06-07 21:56:17 -07:00
Jason Volk def97cf25b modules/client/rooms/join: Improve lazy chain member event search. 2019-06-07 06:02:19 -07:00
Jason Volk 4f3123be62 modules/client/rooms/join: Use dedicated log facility. 2019-06-07 06:02:19 -07:00
Jason Volk 3d8d71c97c modules/client/rooms/join: Mask nothrow conditions; various fixes. 2019-06-07 06:02:19 -07:00
Jason Volk 8e0ac58987 ircd:Ⓜ️:room: Expose bootstrap to interface. 2019-06-07 04:56:23 -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 92761f5d9f modules/client/events: Use the proper m::append event appender. 2019-06-07 02:49:25 -07:00
Jason Volk b2bb7767a7 modules/client/rooms/join: Spawn context for asynchronous joinstrap; improve various. 2019-06-07 02:49:25 -07:00
Jason Volk f728906505 modules/client/rooms/join: No need to parse the unused and deprecated origin field here. 2019-06-06 22:39:05 -07:00
Jason Volk 48a8057cb5 modules/client/rooms/join: Tweak the lazychain process; remove cruft. 2019-06-06 21:58:47 -07:00
Jason Volk e8b61b0caf modules/client/rooms/join: Rename lazychain conf item to lazychain_enable. 2019-06-06 19:41:48 -07:00
Jason Volk 55e2ac98ce modules/client/rooms/join: Implement the lazychain optimization; tweak eval options. 2019-06-06 05:35:21 -07:00
Danilo Spinella 4682e1fae4 ircd: Fix ambiguous references to BSD stringops. 2019-06-06 03:49:54 -07:00
Jason Volk ed247e6200 modules/client/rooms/join: Implement the Hackfill optimization. 2019-06-06 01:46:07 -07:00
Jason Volk a20a11722d modules/client/rooms/join: Add conf item for initial backfill amount. 2019-06-06 01:45:21 -07:00
Jason Volk 5994a0820d modules/client/rooms/join: Promote these log message levels. 2019-06-06 01:44:33 -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 359ab6e897 modules/client/rooms/join: Elaborate the join bootstrap stack.
fixes #8
2019-06-05 16:44:16 -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 9662d195cf modules/client/directory/user: Modernize user directory query term interpretation. 2019-06-05 01:15:11 -07:00
Jason Volk 1a48bc3899 modules/client/rooms/join: Process send_join response events. 2019-06-04 23:01:39 -07:00
Jason Volk 0658f7c6be modules/client/rooms/join: Bypass dependent fetching and eval on join bootstrap. 2019-06-02 15:44:55 -07:00
Jason Volk 1f7ad67805 modules/client/rooms/invite: Move the foreign invite hook here; do namespace modernizations. 2019-05-31 14:21:41 -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