From 88ecdd1be78105f616ffd2b217b65fea8f8ebf25 Mon Sep 17 00:00:00 2001 From: Kristina Date: Wed, 16 Jul 2025 15:18:44 +0400 Subject: [PATCH] Fix query refresh (#89) Signed-off-by: Kristina Fefelova --- packages/query/src/collaborators/query.ts | 5 ++++- packages/query/src/label/query.ts | 5 ++++- packages/query/src/messages/query.ts | 8 ++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/query/src/collaborators/query.ts b/packages/query/src/collaborators/query.ts index 4cf3207989..3ed96edb6e 100644 --- a/packages/query/src/collaborators/query.ts +++ b/packages/query/src/collaborators/query.ts @@ -178,6 +178,9 @@ export class CollaboratorsQuery implements Query { this.result = new QueryResult([] as Collaborator[], (c) => c.account) - await this.initResult() + this.result = this.initResult() + void this.result.then(() => { + void this.notify() + }) } } diff --git a/packages/query/src/label/query.ts b/packages/query/src/label/query.ts index eb1ac407d1..15431b2fbf 100644 --- a/packages/query/src/label/query.ts +++ b/packages/query/src/label/query.ts @@ -254,6 +254,9 @@ export class LabelsQuery implements Query { async refresh (): Promise { this.result = new QueryResult([] as Label[], getId) - await this.initResult() + this.result = this.initResult() + void this.result.then(() => { + void this.notify() + }) } } diff --git a/packages/query/src/messages/query.ts b/packages/query/src/messages/query.ts index e3da5c32a5..59d947611d 100644 --- a/packages/query/src/messages/query.ts +++ b/packages/query/src/messages/query.ts @@ -880,10 +880,14 @@ export class MessagesQuery implements PagedQuery { this.tmpMessages.clear() this.result = new QueryResult([] as Message[], (x) => x.id) - this.result.setTail(this.params.from == null) - this.result.setHead(this.params.from == null) this.initialized = false + if (this.isInitLoadingForward()) { + this.result.setHead(this.params.from == null) + } else { + this.result.setTail(this.params.from == null) + } + for (let i = 0; i < nextPagesCount; i++) { const { isDone } = await this.requestLoadNextPage(false) this.initialized = true