Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Add an API for listing threads in a room. #13394

Merged
merged 18 commits into from
Oct 13, 2022
Merged

Add an API for listing threads in a room. #13394

merged 18 commits into from
Oct 13, 2022

Conversation

clokep
Copy link
Member

@clokep clokep commented Jul 26, 2022

Implements MSC3856 -- a /threads list API, which should return threads in order of the room by the latest event in each thread.

It is behind a configuration flag which disables to off.

Part of #13921

@clokep clokep force-pushed the clokep/thread-api branch 3 times, most recently from 138dc11 to 3cfd3c5 Compare July 27, 2022 14:41
@clokep clokep force-pushed the clokep/thread-api branch from 3cfd3c5 to a487e84 Compare July 27, 2022 15:49
@clokep clokep marked this pull request as ready for review July 27, 2022 16:21
@clokep clokep requested a review from a team as a code owner July 27, 2022 16:21
@clokep clokep force-pushed the clokep/thread-api branch from a487e84 to d510975 Compare July 27, 2022 16:40
@clokep clokep requested a review from erikjohnston August 1, 2022 13:28
Copy link
Member

@erikjohnston erikjohnston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good apart from the SQL perf issue

turt2live added a commit to matrix-org/matrix-spec-proposals that referenced this pull request Sep 27, 2022
turt2live added a commit to matrix-org/matrix-spec-proposals that referenced this pull request Sep 27, 2022
* Thread bundles exclude ignored users

Per implementation: matrix-org/synapse#12235

* Clarify that the threads list API returns a 403 too

Per implementation: matrix-org/synapse#13394

* Reference a token that actually exists
@clokep clokep mentioned this pull request Sep 29, 2022
13 tasks
-- The event ID of the root event in the thread.
thread_id TEXT NOT NULL,
-- The latest event ID and corresponding topo / stream ordering.
latest_event_id TEXT NOT NULL,
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The latest event ID isn't actually used in this PR, but not including it seems quite weird.

@clokep clokep requested a review from erikjohnston October 11, 2022 17:23
Copy link
Member

@erikjohnston erikjohnston left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise LGTM

@clokep clokep merged commit 3bbe532 into develop Oct 13, 2022
@clokep clokep deleted the clokep/thread-api branch October 13, 2022 12:02
clokep added a commit that referenced this pull request Oct 14, 2022
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Oct 29, 2022
Upstream changes:

Synapse 1.70.1 (2022-10-28)
===========================

(bugfixes)


Synapse 1.70.0 (2022-10-26)
===========================

Features
--------

- Support for
  [MSC3856](matrix-org/matrix-spec-proposals#3856):
  threads list
  API. ([\#13394](matrix-org/synapse#13394),
  [\#14171](matrix-org/synapse#14171),
  [\#14175](matrix-org/synapse#14175))

- Support for thread-specific notifications & receipts
  ([MSC3771](matrix-org/matrix-spec-proposals#3771)
  and
  [MSC3773](matrix-org/matrix-spec-proposals#3773)). ([\#13776](matrix-org/synapse#13776),
  [\#13824](matrix-org/synapse#13824),
  [\#13877](matrix-org/synapse#13877),
  [\#13878](matrix-org/synapse#13878),
  [\#14050](matrix-org/synapse#14050),
  [\#14140](matrix-org/synapse#14140),
  [\#14159](matrix-org/synapse#14159),
  [\#14163](matrix-org/synapse#14163),
  [\#14174](matrix-org/synapse#14174),
  [\#14222](matrix-org/synapse#14222))

- Stop fetching missing `prev_events` after we already know their
  signature is
  invalid. ([\#13816](matrix-org/synapse#13816))

- Send application service access tokens as a header (and query
  parameter). Implements
  [MSC2832](matrix-org/matrix-spec-proposals#2832). ([\#13996](matrix-org/synapse#13996))

- Ignore server ACL changes when generating pushes. Implements
  [MSC3786](matrix-org/matrix-spec-proposals#3786). ([\#13997](matrix-org/synapse#13997))

- Experimental support for redirecting to an implementation of a
  [MSC3886](matrix-org/matrix-spec-proposals#3886)
  HTTP rendezvous
  service. ([\#14018](matrix-org/synapse#14018))

- The `/relations` endpoint can now be used on
  workers. ([\#14028](matrix-org/synapse#14028))

- Advertise support for Matrix 1.3 and 1.4 on
  `/_matrix/client/versions`. ([\#14032](matrix-org/synapse#14032),
  [\#14184](matrix-org/synapse#14184))

- Improve validation of request bodies for the [Device
  Management](https://spec.matrix.org/v1.4/client-server-api/#device-management)
  and [MSC2697 Device
  Dehyrdation](matrix-org/matrix-spec-proposals#2697)
  client-server API
  endpoints. ([\#14054](matrix-org/synapse#14054))

- Experimental support for
  [MSC3874](matrix-org/matrix-spec-proposals#3874):
  Filtering threads from the `/messages`
  endpoint. ([\#14148](matrix-org/synapse#14148))

- Improve the validation of the following PUT endpoints:
  [`/directory/room/{roomAlias}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3directoryroomroomalias),
  [`/directory/list/room/{roomId}`](https://spec.matrix.org/v1.4/client-server-api/#put_matrixclientv3directorylistroomroomid)
  and
  [`/directory/list/appservice/{networkId}/{roomId}`](https://spec.matrix.org/v1.4/application-service-api/#put_matrixclientv3directorylistappservicenetworkidroomid). ([\#14179](matrix-org/synapse#14179))


Deprecations and Removals
-------------------------

- Remove the experimental implementation of
  [MSC3772](matrix-org/matrix-spec-proposals#3772). ([\#14094](matrix-org/synapse#14094))

- Remove the unstable identifier for
  [MSC3715](matrix-org/matrix-spec-proposals#3715). ([\#14106](matrix-org/synapse#14106),
  [\#14146](matrix-org/synapse#14146))
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants