Patrick Cloke
3bbe532abb
Add an API for listing threads in a room. ( #13394 )
...
Implement the /threads endpoint from MSC3856.
This is currently unstable and behind an experimental configuration
flag.
It includes a background update to backfill data, results from
the /threads endpoint will be partial until that finishes.
2022-10-13 08:02:11 -04:00
Patrick Cloke
09be8ab5f9
Remove the experimental implementation of MSC3772. ( #14094 )
...
MSC3772 has been abandoned.
2022-10-12 06:26:39 -04:00
Patrick Cloke
e03d7c5fd0
Remove support for the unstable dir flag on relations. ( #14106 )
...
From MSC3715, this was unused by clients (and there was no
way for clients to know it was supported).
Matrix 1.4 defines the stable field.
2022-10-07 12:38:46 -04:00
Patrick Cloke
66a7857334
Use stable identifiers for MSC3771 & MSC3773. ( #14050 )
...
These are both part of Matrix 1.4 which has now been released.
For now, support both the unstable and stable identifiers.
2022-10-07 09:26:40 -04:00
Patrick Cloke
b4ec4f5e71
Track notification counts per thread (implement MSC3773). ( #13776 )
...
When retrieving counts of notifications segment the results based on the
thread ID, but choose whether to return them as individual threads or as
a single summed field by letting the client opt-in via a sync flag.
The summarization code is also updated to be per thread, instead of per
room.
2022-10-04 09:47:04 -04:00
Patrick Cloke
e70c6b720e
Disable pushing for server ACL events (MSC3786). ( #13997 )
...
Switches to the stable identifier for MSC3786 and enables it
by default.
This disables pushes of m.room.server_acl events.
2022-10-04 07:08:27 -04:00
Brendan Abolivier
be76cd8200
Allow admins to require a manual approval process before new accounts can be used (using MSC3866) ( #13556 )
2022-09-29 15:23:24 +02:00
Patrick Cloke
efd108b45d
Accept & store thread IDs for receipts (implement MSC3771). ( #13782 )
...
Updates the `/receipts` endpoint and receipt EDU handler to parse a
`thread_id` from the body and insert it in the database.
2022-09-23 14:33:28 +00:00
reivilibre
c06b2b7142
Faster Remote Room Joins: tell remote homeservers that we are unable to authorise them if they query a room which has partial state on our server. ( #13823 )
2022-09-23 11:47:16 +01:00
Hugh Nimmo-Smith
0fd2f2d460
Implementation of MSC3882 login token request ( #13722 )
2022-09-21 15:12:29 +00:00
Brendan Abolivier
8ae42ab8fa
Support enabling/disabling pushers (from MSC3881) ( #13799 )
...
Partial implementation of MSC3881
2022-09-21 14:39:01 +00:00
Patrick Cloke
390b7ce946
Disable calculating unread counts unless the config flag is enabled. ( #13694 )
...
This avoids doing work that will never be used (since the
resulting unread counts will never be sent in a /sync
response).
The negative of doing this is that unread counts will be
incorrect when the feature is initially enabled.
2022-09-01 16:52:03 +00:00
Šimon Brandner
0e99f07952
Remove support for unstable private read receipts ( #13653 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-09-01 13:31:54 +01:00
Andrew Morgan
f9f03426de
Implement MSC3852: Expose `last_seen_user_agent` to users for their own devices; also expose to Admin API ( #13549 )
2022-08-19 16:17:10 +00:00
Šimon Brandner
ab18441573
Support stable identifiers for MSC2285: private read receipts. ( #13273 )
...
This adds support for the stable identifiers of MSC2285 while
continuing to support the unstable identifiers behind the configuration
flag. These will be removed in a future version.
2022-08-05 11:09:33 -04:00
Šimon Brandner
583f22780f
Use stable prefixes for MSC3827: filtering of `/publicRooms` by room type ( #13370 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-07-27 19:46:57 +01:00
Will Hunt
502f075e96
Implement MSC3848: Introduce errcodes for specific event sending failures ( #13343 )
...
Implements MSC3848
2022-07-27 13:44:40 +01:00
Šimon Brandner
13e359aec8
Implement MSC3827: Filtering of `/publicRooms` by room type ( #13031 )
...
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
2022-06-29 17:12:45 +00:00
Patrick Cloke
dd2d66b0c9
Move the (unstable) `dir` parameter for /relations behind an experimental flag. ( #12984 )
...
MSC3715 defines this parameter, but the unstable version of it should be
behind an experimental flag.
2022-06-08 09:00:35 -04:00
Patrick Cloke
a8db8c6eba
Remove user-visible groups/communities code ( #12553 )
...
Makes it so that groups/communities no longer exist from a user-POV. E.g. we remove:
* All API endpoints (including Client-Server, Server-Server, and admin).
* Documented configuration options (and the experimental flag, which is now unused).
* Special handling during room upgrades.
* The `groups` section of the `/sync` response.
2022-05-25 07:53:40 -04:00
Patrick Cloke
88ce3080d4
Experimental support for MSC3772 ( #12740 )
...
Implements the following behind an experimental configuration flag:
* A new push rule kind for mutually related events.
* A new default push rule (`.m.rule.thread_reply`) under an unstable prefix.
This is missing part of MSC3772:
* The `.m.rule.thread_reply_to_me` push rule, this depends on MSC3664 / #11804 .
2022-05-24 13:23:23 +00:00
Šimon Brandner
ade3008821
Implement MSC3786: Add a default push rule to ignore m.room.server_acl events ( #12601 )
...
Fixes vector-im/element-web#20788
Implements matrix-org/matrix-spec-proposals#3786
2022-05-10 08:57:36 +01:00
Šimon Brandner
9ae0253f4e
Use `private` instead of `hidden` in MSC2285 related code. ( #12635 )
2022-05-05 12:31:25 +00:00
Tulir Asokan
4bc8cb4669
Implement MSC2815: allow room moderators to view redacted event content ( #12427 )
...
Implements matrix-org/matrix-spec-proposals#2815
Signed-off-by: Tulir Asokan <tulir@maunium.net>
2022-04-20 12:57:39 +01:00
Patrick Cloke
9535fd0f9c
Disable groups/communities by default. ( #12344 )
...
This disables the endpoints (and sync response fields) for
groups/communities by default.
2022-04-12 10:20:46 -04:00
Patrick Cloke
86cf6a3a17
Remove references to unstable identifiers from MSC3440. ( #12382 )
...
Removes references to unstable thread relation, unstable
identifiers for filtering parameters, and the experimental
config flag.
2022-04-12 08:42:03 -04:00
Patrick Cloke
ab3165efb7
Remove experimental configuration flag for MSC3666. ( #12436 )
2022-04-11 15:37:46 -04:00
Patrick Cloke
4586119f0b
Add missing type hints to config classes. ( #12402 )
2022-04-11 12:07:23 -04:00
Patrick Cloke
bebf994ee8
Move MSC2654 support behind an experimental configuration flag. ( #12295 )
...
To match the current thinking on disabling experimental features by default.
2022-03-31 15:05:13 -04:00
Andrew Morgan
d8d0271977
Send device list updates to application services (MSC3202) - part 1 ( #11881 )
...
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2022-03-30 14:39:27 +01:00
Patrick Cloke
54f674f7a9
Deprecate the groups/communities endpoints and add an experimental configuration flag. ( #12200 )
2022-03-12 13:23:37 -05:00
reivilibre
2cc5ea933d
Add support for MSC3202: sending one-time key counts and fallback key usage states to Application Services. ( #11617 )
...
Co-authored-by: Erik Johnston <erik@matrix.org>
2022-02-24 17:55:45 +00:00
Brendan Abolivier
250104d357
Implement account status endpoints (MSC3720) ( #12001 )
...
See matrix-org/matrix-doc#3720
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
2022-02-22 15:10:10 +00:00
Erik Johnston
3f4d25a48b
Remove unstable MSC3283 flags ( #12018 )
...
Fixes #11962
2022-02-17 17:22:55 +00:00
Richard van der Hoff
da0e9f8efd
Faster joins: parse msc3706 fields in send_join response ( #12011 )
...
Part of my work on #11249 : add code to handle the new fields added in MSC3706.
2022-02-17 16:11:59 +00:00
Richard van der Hoff
63c46349c4
Implement MSC3706: partial state in `/send_join` response ( #11967 )
...
* Make `get_auth_chain_ids` return a Set
It has a set internally, and a set is often useful where it gets used, so let's
avoid converting to an intermediate list.
* Minor refactors in `on_send_join_request`
A little bit of non-functional groundwork
* Implement MSC3706: partial state in /send_join response
2022-02-12 10:44:16 +00:00
Patrick Cloke
8c94b3abe9
Experimental support to include bundled aggregations in search results (MSC3666) ( #11837 )
2022-02-08 09:21:20 -05:00
Andrew Morgan
64ec45fc1b
Send to-device messages to application services ( #11215 )
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
2022-02-01 14:13:38 +00:00
Patrick Cloke
02755c3188
Remove the obsolete MSC1849 configuration flag. ( #11843 )
...
MSC1849 was replaced by MSC2675, which was merged.
The configuration flag, which defaulted to true, is no
longer useful.
2022-01-31 10:13:32 -05:00
Eric Eastwood
43f5cc7adc
Add MSC2716 and MSC3030 to `/versions` -> `unstable_features` ( #11582 )
...
As suggested in https://github.com/matrix-org/matrix-react-sdk/pull/7372#discussion_r769523369
2021-12-16 11:25:37 -06:00
reivilibre
17886d2603
Add experimental support for MSC3202: allowing application services to masquerade as specific devices. ( #11538 )
2021-12-15 10:40:52 +00:00
Eric Eastwood
a6f1a3abec
Add MSC3030 experimental client and federation API endpoints to get the closest event to a given timestamp ( #9445 )
...
MSC3030: https://github.com/matrix-org/matrix-doc/pull/3030
Client API endpoint. This will also go and fetch from the federation API endpoint if unable to find an event locally or we found an extremity with possibly a closer event we don't know about.
```
GET /_matrix/client/unstable/org.matrix.msc3030/rooms/<roomID>/timestamp_to_event?ts=<timestamp>&dir=<direction>
{
"event_id": ...
"origin_server_ts": ...
}
```
Federation API endpoint:
```
GET /_matrix/federation/unstable/org.matrix.msc3030/timestamp_to_event/<roomID>?ts=<timestamp>&dir=<direction>
{
"event_id": ...
"origin_server_ts": ...
}
```
Co-authored-by: Erik Johnston <erik@matrix.org>
2021-12-02 01:02:20 -06:00
Patrick Cloke
ba00e20234
Add a thread relation type per MSC3440. ( #11088 )
...
Adds experimental support for MSC3440's `io.element.thread` relation
type (and the aggregation for it).
2021-10-21 14:39:16 -04:00
Patrick Cloke
5573133348
Move experimental & retention config out of the server module. ( #11070 )
2021-10-15 14:30:48 +00:00
Sean
273b6861f2
Remove unstable MSC2858 API, including `experimental.msc2858_enabled` config option ( #10693 )
...
Signed-off-by: Sean Quah <seanq@element.io>
2021-09-09 17:59:59 +01:00
Erik Johnston
cd22fb568a
Merge branch 'master' into develop
2021-08-24 17:13:29 +01:00
Patrick Cloke
5cda75fede
Set room version 8 as preferred for restricted rooms. ( #10571 )
2021-08-20 07:17:50 -04:00
Dirk Klimpel
b5fef6054a
Support MSC3283: Expose `enable_set_displayname` in capabilities ( #10452 )
2021-08-19 09:40:40 +00:00
Michael Telatynski
0ace38b7b3
Experimental support for MSC3266 Room Summary API. ( #10394 )
2021-08-16 14:49:12 +00:00
Šimon Brandner
c3b037795a
Support for MSC2285 (hidden read receipts) ( #10413 )
...
Implementation of matrix-org/matrix-doc#2285
2021-07-28 10:05:11 +02:00
Michael Telatynski
69226c1ab4
MSC3244 room capabilities implementation ( #10283 )
2021-07-20 12:59:23 +01:00
Jonathan de Jong
bf72d10dbf
Use inline type hints in various other places (in `synapse/`) ( #10380 )
2021-07-15 11:02:43 +01:00
Eric Eastwood
96f6293de5
Add endpoints for backfilling history (MSC2716) ( #9247 )
...
Work on https://github.com/matrix-org/matrix-doc/pull/2716
2021-06-22 10:02:53 +01:00
Patrick Cloke
9e5ab6dd58
Remove the experimental flag for knocking and use stable prefixes / endpoints. ( #10167 )
...
* Room version 7 for knocking.
* Stable prefixes and endpoints (both client and federation) for knocking.
* Removes the experimental configuration flag.
2021-06-15 07:45:14 -04:00
Sorunome
d936371b69
Implement knock feature ( #6739 )
...
This PR aims to implement the knock feature as proposed in https://github.com/matrix-org/matrix-doc/pull/2403
Signed-off-by: Sorunome mail@sorunome.de
Signed-off-by: Andrew Morgan andrewm@element.io
2021-06-09 19:39:51 +01:00
Patrick Cloke
f42e4c4eb9
Remove the experimental spaces enabled flag. ( #10063 )
...
In lieu of just always enabling the unstable spaces endpoint and
unstable room version.
2021-05-26 14:35:16 -04:00
Patrick Cloke
316f89e87f
Enable experimental spaces by default. ( #10011 )
...
The previous spaces_enabled flag now defaults to true and
is exposed in the sample config.
2021-05-24 08:57:14 -04:00
Jonathan de Jong
4b965c862d
Remove redundant "coding: utf-8" lines ( #9786 )
...
Part of #9744
Removes all redundant `# -*- coding: utf-8 -*-` lines from files, as python 3 automatically reads source code as utf-8 now.
`Signed-off-by: Jonathan de Jong <jonathan@automatia.nl>`
2021-04-14 15:34:27 +01:00
Patrick Cloke
35c5ef2d24
Add an experimental room version to support restricted join rules. ( #9717 )
...
Per MSC3083.
2021-03-31 16:39:08 -04:00
Brendan Abolivier
592d6305fd
Merge branch 'develop' into babolivier/msc3026
2021-03-19 16:12:40 +01:00
Richard van der Hoff
004234f03a
Initial spaces summary API ( #9643 )
...
This is very bare-bones for now: federation will come soon, while pagination is descoped for now but will come later.
2021-03-18 18:24:16 +00:00
Brendan Abolivier
066c703729
Move support for MSC3026 behind an experimental flag
2021-03-18 18:37:19 +01:00
Richard van der Hoff
a737cc2713
Implement MSC2858 support ( #9183 )
...
Fixes #8928 .
2021-01-27 12:41:24 +00:00