Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/components/LeftSidebar/LeftSidebar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@
<NcAppNavigationItem v-if="!isSearching"
class="navigation-item"
:name="showThreadsList ? t('spreed', 'Back to conversations') : t('spreed', 'Followed threads')"
@click="showThreadsList = !showThreadsList">
@click.prevent="showThreadsList = !showThreadsList">
<template #icon>
<IconArrowLeft v-if="showThreadsList" class="bidirectional-icon" :size="20" />
<IconForumOutline v-else :size="20" />
Expand All @@ -158,7 +158,7 @@
<NcAppNavigationItem v-if="pendingInvitationsCount"
class="navigation-item"
:name="t('spreed', 'Pending invitations')"
@click="showInvitationHandler">
@click.prevent="showInvitationHandler">
<template #icon>
<IconAccountMultiplePlusOutline :size="20" />
</template>
Expand Down Expand Up @@ -975,7 +975,7 @@ export default {
}
},

refreshTalkDashboard() {
refreshTalkDashboard(event) {
// Throttle click and keyboard events
if (actualizeDataTimeout) {
return
Expand All @@ -985,6 +985,7 @@ export default {
}, 5_000)

if (this.$route.name === 'root') {
event.preventDefault()
EventBus.emit('refresh-talk-dashboard')
}
},
Expand Down
4 changes: 3 additions & 1 deletion src/composables/useGetMessages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ export function useGetMessagesProvider() {
// need some delay (next tick is too short) to be able to run
// after the browser's native "scroll to anchor" from the hash
window.setTimeout(() => {
EventBus.emit('focus-message', contextMessageId.value)
EventBus.emit('focus-message', messageId)
}, 2)
}

Expand Down Expand Up @@ -301,6 +301,8 @@ export function useGetMessagesProvider() {
console.debug(exception)
return
}
} else {
await checkContextAndFocusMessage(token, contextMessageId.value, contextThreadId.value)
}

isInitialisingMessages.value = false
Expand Down
2 changes: 1 addition & 1 deletion src/composables/useTemporaryMessage.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export function useTemporaryMessage(context: Store<unknown>) {
const parentId = chatExtrasStore.getParentIdToReply(payload.token)
const parent = parentId
? store.getters.message(payload.token, parentId)
: (threadId.value ? store.getters.message(payload.token, threadId.value) : undefined)
: (threadId.value ? chatExtrasStore.getThread(payload.token, threadId.value)?.first : undefined)

return prepareTemporaryMessage({
...payload,
Expand Down
4 changes: 4 additions & 0 deletions src/services/__tests__/messagesService.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ describe('messagesService', () => {
lastKnownMessageId: 1234,
limit: CHAT.FETCH_LIMIT,
includeLastKnown: 0,
timeout: 0,
},
},
)
Expand All @@ -67,6 +68,7 @@ describe('messagesService', () => {
token: 'XXTOKENXX',
lastKnownMessageId: 1234,
includeLastKnown: 1,
threadId: 1111,
}, {
dummyOption: true,
})
Expand All @@ -81,6 +83,8 @@ describe('messagesService', () => {
lastKnownMessageId: 1234,
limit: CHAT.FETCH_LIMIT,
includeLastKnown: 1,
threadId: 1111,
timeout: 0,
},
},
)
Expand Down
1 change: 1 addition & 0 deletions src/services/messagesService.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ async function fetchMessages({
lastKnownMessageId,
threadId,
limit,
timeout: 0,
includeLastKnown: includeLastKnown ? 1 : 0,
} as receiveMessagesParams,
})
Expand Down
1 change: 1 addition & 0 deletions src/store/messagesStore.js
Original file line number Diff line number Diff line change
Expand Up @@ -1240,6 +1240,7 @@ const actions = {
actorDisplayName: temporaryMessage.actorDisplayName,
referenceId: temporaryMessage.referenceId,
replyTo: temporaryMessage.parent?.id,
// FIXME threadId: temporaryMessage.threadId, PR #15645
silent: temporaryMessage.silent,
threadTitle,
}, options)
Expand Down
2 changes: 1 addition & 1 deletion src/stores/__tests__/chat.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ describe('chatStore', () => {
processMessages(TOKEN, chatBlockE)

// Assert
expect(chatStore.getMessagesList(TOKEN, { threadId: 101 })).toEqual([mockMessages[106]])
expect(chatStore.getMessagesList(TOKEN, { messageId: 106, threadId: 101 })).toEqual([mockMessages[106]])
expect(chatStore.getMessagesList(TOKEN, { messageId: 101, threadId: 101 })).toEqual([mockMessages[101], mockMessages[103]])
})

Expand Down
12 changes: 6 additions & 6 deletions src/stores/chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ export const useChatStore = defineStore('chat', () => {

if (threadId) {
// FIXME temporary show all messages for given thread from all chat blocks - no behaviour change
const contextBlock = (messageId <= 0)
? chatBlocks[token][0]
const contextBlock = (messageId <= 0 || store.state.messagesStore.messages[token][messageId]?.threadId !== threadId)
? new Set([...chatBlocks[token].flatMap((set) => [...set])])
: chatBlocks[token].find((set) => set.has(messageId)) ?? chatBlocks[token][0]
return prepareMessagesList(token, contextBlock).filter((message) => {
return message.threadId === threadId
Expand Down Expand Up @@ -135,8 +135,8 @@ export const useChatStore = defineStore('chat', () => {
return threadId
}
// FIXME temporary check all messages for given thread from all chat blocks
const contextBlock = (messageId <= 0)
? chatBlocks[token][0]
const contextBlock = (messageId <= 0 || store.state.messagesStore.messages[token][messageId]?.threadId !== threadId)
? new Set([...chatBlocks[token].flatMap((set) => [...set])])
: chatBlocks[token].find((set) => set.has(messageId)) ?? chatBlocks[token][0]
const threadMessagesList = prepareMessagesList(token, contextBlock).filter((message) => {
return message.threadId === threadId && Number.isInteger(message.id)
Expand All @@ -163,8 +163,8 @@ export const useChatStore = defineStore('chat', () => {

if (threadId) {
// FIXME temporary check all messages for given thread from all chat blocks
const contextBlock = (messageId <= 0)
? chatBlocks[token][0]
const contextBlock = (messageId <= 0 || store.state.messagesStore.messages[token][messageId]?.threadId !== threadId)
? new Set([...chatBlocks[token].flatMap((set) => [...set])])
: chatBlocks[token].find((set) => set.has(messageId)) ?? chatBlocks[token][0]
const threadMessagesList = prepareMessagesList(token, contextBlock).filter((message) => {
return message.threadId === threadId && Number.isInteger(message.id)
Expand Down