From 3b341e79d322e6ead5579d3b7ef0ee903df64b7a Mon Sep 17 00:00:00 2001 From: Maksim Sukharev Date: Tue, 20 Feb 2024 14:18:33 +0100 Subject: [PATCH] fix(MessageForwarder): use native browser navigation outside of Talk --- .../MessageButtonsBar/MessageForwarder.vue | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageForwarder.vue b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageForwarder.vue index 3385f5383427..c6750bf17b77 100644 --- a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageForwarder.vue +++ b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageForwarder.vue @@ -59,6 +59,7 @@ import Check from 'vue-material-design-icons/Check.vue' import { showError } from '@nextcloud/dialogs' +import { generateUrl } from '@nextcloud/router' import NcButton from '@nextcloud/vue/dist/Components/NcButton.js' import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js' @@ -130,17 +131,26 @@ export default { }, openConversation() { + if (window.location.href.includes('/apps/files')) { + // Native redirect to Talk from Files sidebar + const url = generateUrl('/call/{token}#message_{messageId}', { + token: this.selectedConversationToken, + messageId: this.forwardedMessageID, + }) + window.open(url, '_blank').focus() + } else { + this.$router.push({ + name: 'conversation', + hash: `#message_${this.forwardedMessageID}`, + params: { + token: `${this.selectedConversationToken}`, + }, + }).catch(err => console.debug(`Error while pushing the new conversation's route: ${err}`)) + } - this.$router.push({ - name: 'conversation', - hash: `#message_${this.forwardedMessageID}`, - params: { - token: `${this.selectedConversationToken}`, - }, - }) - .catch(err => console.debug(`Error while pushing the new conversation's route: ${err}`)) this.showForwardedConfirmation = false this.forwardedMessageID = '' + this.$emit('close') }, handleClose() {