From bb32937b1bf268f45a074df9ff7a256d98cf7582 Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Tue, 25 Feb 2025 17:43:40 +0530 Subject: [PATCH] feat: add timeout before marking as read --- .../components/widgets/conversation/MessagesView.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue b/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue index d00e162c9..7ecced05b 100644 --- a/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue +++ b/app/javascript/dashboard/components/widgets/conversation/MessagesView.vue @@ -115,6 +115,7 @@ export default { isProgrammaticScroll: false, messageSentSinceOpened: false, labelSuggestions: [], + markReadTimeout: null, }; }, @@ -272,6 +273,7 @@ export default { } this.fetchAllAttachmentsFromCurrentChat(); this.fetchSuggestions(); + this.removeMarkReadTimeout(); this.messageSentSinceOpened = false; }, }, @@ -296,6 +298,7 @@ export default { unmounted() { this.removeBusListeners(); this.removeScrollListener(); + this.removeMarkReadTimeout(); }, methods: { @@ -362,7 +365,9 @@ export default { this.scrollToBottom(); } }); - this.makeMessagesRead(); + this.markReadTimeout = setTimeout(this.makeMessagesRead, 5000, { + once: true, + }); }, addScrollListener() { this.conversationPanel = this.$el.querySelector('.conversation-panel'); @@ -473,6 +478,9 @@ export default { return false; }); }, + removeMarkReadTimeout() { + clearTimeout(this.markReadTimeout); + }, }, };