mirror of
https://github.com/lingble/chatwoot.git
synced 2025-10-29 18:22:53 +00:00
fix: sentry issues (#10695)
1. Ensure audio player ref is accessible before triggering calls ([Sentry](https://chatwoot-p3.sentry.io/issues/6221981610)) 2. Use correct default for attachments, this was incorrectly set to `null` in a previous PR ([Sentry](https://chatwoot-p3.sentry.io/issues/5966738120)) 3. Fix `lastNonActivityMessage` is not present ([Sentry](https://chatwoot-p3.sentry.io/issues/6116038455)) 4. Fix `Alt+J` & `Alt+K` shortcuts not working ([Sentry](https://chatwoot-p3.sentry.io/issues/6075125384)) --------- Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com>
This commit is contained in:
@@ -21,7 +21,7 @@ const lastNonActivityMessageContent = computed(() => {
|
||||
props.conversation;
|
||||
const { email: { subject } = {} } = customAttributes;
|
||||
return getPlainText(
|
||||
subject || lastNonActivityMessage.content || t('CHAT_LIST.NO_CONTENT')
|
||||
subject || lastNonActivityMessage?.content || t('CHAT_LIST.NO_CONTENT')
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ const lastNonActivityMessageContent = computed(() => {
|
||||
props.conversation;
|
||||
const { email: { subject } = {} } = customAttributes;
|
||||
return getPlainText(
|
||||
subject || lastNonActivityMessage.content || t('CHAT_LIST.NO_CONTENT')
|
||||
subject || lastNonActivityMessage?.content || t('CHAT_LIST.NO_CONTENT')
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<script setup>
|
||||
import { computed, useTemplateRef, ref } from 'vue';
|
||||
import { computed, onMounted, useTemplateRef, ref } from 'vue';
|
||||
import Icon from 'next/icon/Icon.vue';
|
||||
import { timeStampAppendedURL } from 'dashboard/helper/URLHelper';
|
||||
|
||||
@@ -29,6 +29,13 @@ const onLoadedMetadata = () => {
|
||||
duration.value = audioPlayer.value?.duration;
|
||||
};
|
||||
|
||||
// There maybe a chance that the audioPlayer ref is not available
|
||||
// When the onLoadMetadata is called, so we need to set the duration
|
||||
// value when the component is mounted
|
||||
onMounted(() => {
|
||||
duration.value = audioPlayer.value?.duration;
|
||||
});
|
||||
|
||||
const formatTime = time => {
|
||||
const minutes = Math.floor(time / 60);
|
||||
const seconds = Math.floor(time % 60);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useKeyboardEvents } from 'dashboard/composables/useKeyboardEvents';
|
||||
|
||||
export function useChatListKeyboardEvents({ listRef }) {
|
||||
export function useChatListKeyboardEvents(listRef) {
|
||||
const getKeyboardListenerParams = () => {
|
||||
const allConversations = listRef.value.querySelectorAll(
|
||||
'div.conversations-list div.conversation'
|
||||
@@ -19,6 +19,7 @@ export function useChatListKeyboardEvents({ listRef }) {
|
||||
lastConversationIndex,
|
||||
};
|
||||
};
|
||||
|
||||
const handleConversationNavigation = direction => {
|
||||
const { allConversations, activeConversationIndex, lastConversationIndex } =
|
||||
getKeyboardListenerParams();
|
||||
|
||||
@@ -100,7 +100,7 @@ const actions = {
|
||||
},
|
||||
|
||||
fetchAllAttachments: async ({ commit }, conversationId) => {
|
||||
let attachments = null;
|
||||
let attachments = [];
|
||||
|
||||
try {
|
||||
const { data } = await ConversationApi.getAllAttachments(conversationId);
|
||||
|
||||
Reference in New Issue
Block a user