From 97301c3080aed2e772f46fe18d7d953059c4e3fa Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Thu, 30 Nov 2023 20:46:37 +0530 Subject: [PATCH] fix: message URL navigation won't work --- .../widgets/conversation/MessagesView.vue | 13 +++++++------ .../dashboard/conversation/ConversationView.vue | 12 ++++++------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue b/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue index 5288a648c..eba49d860 100644 --- a/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue +++ b/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue @@ -378,12 +378,13 @@ export default { bus.$off(BUS_EVENTS.SCROLL_TO_MESSAGE, this.onScrollToMessage); }, async onScrollToMessage({ messageId }) { - // TODO: check if the message is already loaded - await this.$store.dispatch('setActiveChat', { - data: this.currentChat, - after: messageId, - force: true, - }); + if (messageId) { + await this.$store.dispatch('setActiveChat', { + data: this.currentChat, + after: messageId, + force: true, + }); + } this.$nextTick(() => { const messageElement = document.getElementById('message' + messageId); diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ConversationView.vue b/app/javascript/dashboard/routes/dashboard/conversation/ConversationView.vue index 32d2f458e..cede92c92 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ConversationView.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ConversationView.vue @@ -163,14 +163,14 @@ export default { return; } const { messageId } = this.$route.query; - if (messageId) { - // this will automatically set the active chat - bus.$emit(BUS_EVENTS.SCROLL_TO_MESSAGE, { messageId }); - } else { - this.$store.dispatch('setActiveChat', { + this.$store + .dispatch('setActiveChat', { data: selectedConversation, + after: messageId, + }) + .then(() => { + bus.$emit(BUS_EVENTS.SCROLL_TO_MESSAGE, { messageId }); }); - } } else { this.$store.dispatch('clearSelectedState'); }