DEV: Chat API channel#show changes for threading (#21632)

This commit moves message lookup and querying to the
/chat/api/channel/:id endpoint and adds the ability
to query the tracking state overview for threads as well
as the threads and thread tracking state for any thread
original messages found.

This will allow us to get an initial overview of thread
tracking for a user when they first enter a channel, rather
than pre-emptively loading N threads and tracking state
for those across all channels on the current user serializer,
which would be expensive.

This initial overview will be used in subsequent PRs to
flesh out the thread unread indicators in the UI.

This also moves many chunks of code that were in services
to reusable Query classes, since use of services inside
services is discouraged.
This commit is contained in:
Martin Brennan
2023-05-22 13:59:46 +02:00
committed by GitHub
parent 07061410d8
commit 5cce829901
20 changed files with 1255 additions and 169 deletions

View File

@ -119,9 +119,8 @@ export default class ChatChannelsManager extends Service {
return this.chatApi
.channel(id)
.catch(popupAjaxError)
.then((channel) => {
this.#cache(channel);
return channel;
.then((result) => {
return this.store(result.channel);
});
}