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
6fed8cc360
modules/client/createroom: Forbid guest access on all presets in violation of the spec.
2019-03-05 14:27:52 -08:00
Jason Volk
00da74fa27
modules/client/createroom: Improve error reporting; add derror log message.
2019-03-05 14:24:31 -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
d30e053e42
modules/client/rooms/send: Save transaction_id's to user's user room.
2019-03-05 14:24:08 -08:00
Jason Volk
78eab2fbcd
modules/client/createroom: Implement the preset string behavior.
2019-03-05 14:24:08 -08:00
Jason Volk
d4b8a8089e
ircd: Ⓜ️ :createroom: Generate default power_levels w/ option for content_override.
2019-03-05 14:24:08 -08:00
Jason Volk
c972683e2c
modules/client/createroom: Set the visibility in the public rooms list; minor cleanup.
2019-03-05 12:51:48 -08:00
Jason Volk
70484be697
modules/client/createroom: Add graceful error handling and granular reporting to client.
2019-03-05 12:42:53 -08:00
Jason Volk
f0598bb27a
modules/client/createroom: Set initial room state from supplied request data.
...
modules/client/createroom: Set the room name and topic if supplied in request.
modules/client/createroom: Set any state events from supplied initial_state.
modules/client/createroom: Invite any users in the supplied invite array.
modules/client/createroom: Set the room's initial guest_access if supplied by user.
2019-03-05 12:23:49 -08:00
Jason Volk
d8a9f484a4
modules/client/rooms/messages: Simplify the messages iteration.
2019-03-04 15:46:44 -08:00
Jason Volk
1dcf36adc8
modules/client/rooms/event: Fix param missing error message.
2019-03-04 14:36:49 -08:00
Jason Volk
19e09b0ad5
ircd: Ⓜ️ :login: Support identifier typed login.
2019-03-04 13:16:14 -08:00
Jason Volk
59973705bb
modules/client/rooms/context: Provide better pagination tokens in response.
2019-03-04 12:43:14 -08:00
Jason Volk
48055345ea
modules/client/rooms/messages: Fix the start pagination token in reponse.
2019-03-04 12:42:58 -08:00
Jason Volk
86e7e78a8a
modules/client/register: Disable guest registration by default for now.
2019-03-04 09:29:27 -08:00
Jason Volk
68ed0d6133
modules/client/register: Add email to the registration flows.
2019-03-04 09:28:02 -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
f1bca6de7e
modules/client/profile: Return 404 rather than {} for empty profiles.
2019-03-03 16:33:10 -08:00
Jason Volk
295794ec42
ircd: Ⓜ️ :user: Improve user filter interface and module linkage.
2019-03-02 16:49:44 -08:00
Jason Volk
73be558ff2
modules/client/register_available: Deny response when registration disabled.
2019-03-02 16:05:30 -08:00
Jason Volk
3deeab99de
modules/client/register: Allow flows request before denying registration otherwise Riot infinite-loops.
2019-03-02 16:05:30 -08:00
Jason Volk
47bcfaecb4
ircd: Upgrade various templates with argument deduction.
2019-03-02 14:20:52 -08:00
Jason Volk
157805d97b
modules/client/sync: Simplify next_batch token decision after linear and longpoll.
2019-03-02 14:20:52 -08:00
Jason Volk
7f7ecc90b3
modules/client/rooms/context: Allow a room_id as the event_id and fetch the room head.
2019-03-01 19:02:49 -08:00
Jason Volk
0720b2f4c4
modules/client/events: Implement 14.17.1.1 /events (room previews).
2019-03-01 18:34:53 -08:00
Jason Volk
d50462a9dd
modules/client/rooms: Implement 9.3.8 initialSync (for acquired rooms).
2019-03-01 18:25:37 -08:00
Jason Volk
ba2e81254b
modules/client/profile: Add conf item for remote request timeout.
2019-03-01 14:18:22 -08:00
Jason Volk
452c664a8c
modules/client/profile: Return better errors to client for remote profile requests.
2019-03-01 14:12:49 -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
58a98806e9
ircd: Ⓜ️ :user::room_account_data: Expose type prefixing in interface.
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
9c20d49e33
ircd::resource::response::chunked: Eliminate move semantic.
2019-02-28 17:12:04 -08:00
Jason Volk
70173f5893
modules/client/sync: Use better flush() path.
2019-02-28 17:12:04 -08:00
Jason Volk
af6ac4a2ac
ircd: Replace various unwind count patterns with scope_count.
2019-02-28 17:12:03 -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
b8fa7455e9
modules/client/sync: Provide better next_batch after linear iteration.
2019-02-28 12:36:14 -08:00
Jason Volk
9a43a9524c
modules/client/sync: Uniform log messages; longpoll error message; various fixes.
2019-02-27 18:49:38 -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
c88d961ad4
modules/client/sync: Implement longpoll sync handler.
2019-02-27 16:27:04 -08:00
Jason Volk
902466450e
modules/client/sync: Enable linear sync.
2019-02-27 16:25:37 -08:00
Jason Volk
f91f6226a6
modules/client/sync: Add event_idx to accept struct; move top object construction to handlers.
2019-02-27 16:25:37 -08:00
Jason Volk
7f57a4c422
modules/client/sync: Sketch various preliminary linear sync handlers.
2019-02-26 18:17:45 -08:00
Jason Volk
a263b2ff40
modules/client/sync: Use resource::response buffer w/ passed size argument.
2019-02-26 18:04:37 -08:00
Jason Volk
cc586a352e
modules/client/sync: Implement iteration base of linear sync.
2019-02-26 18:04:37 -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
11766b3e04
ircd: Ⓜ️ :v1: Remove non-opts overloads; workaround g++-7 compiler bug.
2019-02-25 18:00:39 -08:00
Jason Volk
5910b97e03
modules/client/keys/upload: Add candidate one_time_key_counts response.
2019-02-25 18:00:39 -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
1ca01962a3
modules/client/keys: Implement 14.11.5.2.3 POST keys/claim.
2019-02-22 15:40:53 -08:00
Jason Volk
1ca90d9a3d
modules/client: Implement 14.9.3.1 PUT sendToDevice (with limitation).
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
4797cf8b5e
modules/client/send_to_device: Add client/unstable/ redirect to /r0/.
2019-02-21 17:56:08 -08:00
Jason Volk
16e83bbcca
modules/client/keys/query: Implement 14.11.5.2.2 POST keys/query.
2019-02-21 16:19:49 -08:00
Jason Volk
207a12934c
ircd: Ⓜ️ :user: Reorg user::account_data interface.
2019-02-21 12:11:42 -08:00
Jason Volk
7f37400dcb
ircd: Ⓜ️ :user: Reorg user::profile interface.
2019-02-21 11:53:25 -08:00
Jason Volk
f2eea77654
modules/client/keys/upload: Persist uploaded device_keys.
2019-02-20 19:19:54 -08:00
Jason Volk
8f4795e387
modules/client/keys: Move existing into directory; stub remaining endpoints.
2019-02-20 19:12:32 -08:00
Jason Volk
1dd97b8c75
modules/client/register: Fix device_id property name in access_token event.
2019-02-20 19:08:38 -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
98a8ca7bf2
ircd: Ⓜ️ :device: Associate access_token to device.
2019-02-20 15:46:48 -08:00
Jason Volk
964d6b427f
modules/client/devices: Implement 14.10.2 security considerations.
2019-02-20 15:45:32 -08:00
Jason Volk
0efd723edb
ircd: Ⓜ️ :device: Develop interface; use individual state events for properties.
2019-02-20 13:36:29 -08:00
Jason Volk
d05f58d352
modules/client: Add preliminary delete_devices endpoint.
2019-02-20 13:10:56 -08:00
Jason Volk
815709bbed
modules/client/devices: Implement handlers through m::device interface.
2019-02-19 17:42:17 -08:00
Jason Volk
b4ee0a9bcf
ircd: Ⓜ️ Temporary eval workarounds.
2019-02-19 16:34:24 -08:00
Jason Volk
77ababbe85
modules/client/sync/rooms: Minor constness fix.
2019-02-19 14:49:50 -08:00
Jason Volk
ddd59f6a04
modules/client/versions: Report r0.4.0.
2019-02-19 14:46:03 -08:00
Jason Volk
b8ea9fdad7
modules/client/keys: Use permanent redirect for /unstable/keys/ related.
2019-02-19 13:29:35 -08:00
Jason Volk
5b833ce6af
modules/client/devices: Use permanent redirect resource for /unstable/.
2019-02-19 13:25:32 -08:00
Jason Volk
22fe163344
modules/client/devices: Support /unstable/ URL as well as /r0/.
2019-02-18 17:20:04 -08:00
Jason Volk
d960a31143
modules/client/register: Set device data on registration w/ login.
2019-02-18 16:50:53 -08:00
Jason Volk
ddf76fe502
ircd: Ⓜ️ :register: Use json::string types here; simplify.
2019-02-18 16:44:28 -08:00
Jason Volk
aed1c856ef
modules/client/login: Set device in user's room on login.
2019-02-18 16:42:08 -08:00
Jason Volk
d445f98d93
modules/client: Stub a send_to_device endpoint.
2019-02-18 13:42:38 -08:00
Jason Volk
7d449e6e56
ircd: Ⓜ️ :login: Use json::string rather than string_view in tuple types; simplify.
2019-02-18 13:42:25 -08:00
Jason Volk
0644db459c
ircd: Ⓜ️ :event: Add various size constants replacing magic numbers.
2019-02-18 13:42:25 -08:00
Jason Volk
dd99d929aa
modules/client/logout: Implement 5.4.4 logout/all.
2019-02-18 11:22:45 -08:00
Jason Volk
cc2ed66190
modules/client/logout: Complete the logout endpoint.
2019-02-18 11:12:30 -08:00
Jason Volk
952f173204
modules/client/rooms: Add /event/ endpoint.
2019-02-18 09:59:14 -08:00
Jason Volk
247544d130
modules/client/rooms/messages: Relax requirement for a ?from=
parameter.
2019-02-18 09:59:14 -08:00
Jason Volk
2dfad15ee8
modules/client/keys: Rename URL from /unstable/ to /r0/.
2019-02-16 16:27:57 -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
2f088591f7
modules/client: Add capabilities endpoint.
2019-02-12 12:04:02 -08:00
Jason Volk
a1c8845e1e
ircd: Ⓜ️ 🧾 Normalize module definition names / layout.
2019-02-11 15:57:01 -08:00
Jason Volk
8fd1b57e86
modules/client/sync: Stub device related sync modules.
2019-02-08 09:18:39 -08:00