KI-AGENT: Matrix-Chat Rate-Limits reduzieren
This commit is contained in:
@@ -24,6 +24,8 @@ const matrixMessageSending = ref(false)
|
||||
const matrixAutoRefreshActive = ref(false)
|
||||
const lastUpdated = ref(null)
|
||||
let matrixRefreshInterval = null
|
||||
let matrixMessagesRequestActive = false
|
||||
let matrixMembersRequestActive = false
|
||||
|
||||
const statusItems = computed(() => [
|
||||
{
|
||||
@@ -125,7 +127,7 @@ const loadMatrixInfo = async () => {
|
||||
lastUpdated.value = new Date()
|
||||
|
||||
if (generalRoomRes?.exists && canUseMatrixChat.value) {
|
||||
await loadGeneralChat({ silent: true })
|
||||
await loadGeneralChat({ silent: true, includeMembers: true })
|
||||
}
|
||||
} catch (error) {
|
||||
toast.add({
|
||||
@@ -225,7 +227,7 @@ const provisionGeneralRoom = async () => {
|
||||
color: "success"
|
||||
})
|
||||
|
||||
await loadGeneralChat()
|
||||
await loadGeneralChat({ includeMembers: true })
|
||||
} catch (error) {
|
||||
toast.add({
|
||||
title: "Allgemeiner Chat konnte nicht erstellt werden",
|
||||
@@ -238,6 +240,9 @@ const provisionGeneralRoom = async () => {
|
||||
|
||||
const loadGeneralMessages = async ({ silent = false } = {}) => {
|
||||
if (!canUseMatrixChat.value) return
|
||||
if (matrixMessagesRequestActive) return
|
||||
|
||||
matrixMessagesRequestActive = true
|
||||
if (!silent) matrixMessagesLoading.value = true
|
||||
|
||||
try {
|
||||
@@ -258,12 +263,16 @@ const loadGeneralMessages = async ({ silent = false } = {}) => {
|
||||
})
|
||||
}
|
||||
} finally {
|
||||
matrixMessagesRequestActive = false
|
||||
if (!silent) matrixMessagesLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const loadGeneralMembers = async ({ silent = false } = {}) => {
|
||||
if (!canUseMatrixChat.value) return
|
||||
if (matrixMembersRequestActive) return
|
||||
|
||||
matrixMembersRequestActive = true
|
||||
if (!silent) matrixMembersLoading.value = true
|
||||
|
||||
try {
|
||||
@@ -277,15 +286,17 @@ const loadGeneralMembers = async ({ silent = false } = {}) => {
|
||||
})
|
||||
}
|
||||
} finally {
|
||||
matrixMembersRequestActive = false
|
||||
if (!silent) matrixMembersLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
const loadGeneralChat = async ({ silent = false } = {}) => {
|
||||
await Promise.all([
|
||||
loadGeneralMessages({ silent }),
|
||||
loadGeneralMembers({ silent })
|
||||
])
|
||||
const loadGeneralChat = async ({ silent = false, includeMembers = false } = {}) => {
|
||||
await loadGeneralMessages({ silent })
|
||||
|
||||
if (includeMembers) {
|
||||
await loadGeneralMembers({ silent })
|
||||
}
|
||||
}
|
||||
|
||||
const sendMatrixMessage = async () => {
|
||||
@@ -321,7 +332,6 @@ const sendMatrixMessage = async () => {
|
||||
matrixMessages.value = matrixMessages.value.map((item) =>
|
||||
item.id === optimisticId ? message : item
|
||||
)
|
||||
await loadGeneralMembers({ silent: true })
|
||||
} catch (error) {
|
||||
matrixMessages.value = matrixMessages.value.map((item) =>
|
||||
item.id === optimisticId ? { ...item, pending: false, failed: true } : item
|
||||
@@ -343,7 +353,7 @@ const startMatrixAutoRefresh = () => {
|
||||
if (!document.hidden && canUseMatrixChat.value) {
|
||||
loadGeneralChat({ silent: true })
|
||||
}
|
||||
}, 5000)
|
||||
}, 15000)
|
||||
}
|
||||
|
||||
const stopMatrixAutoRefresh = () => {
|
||||
|
||||
Reference in New Issue
Block a user