Allow scrolling while streaming re: #241
This commit is contained in:
parent
0ffdd78863
commit
ff3799637b
|
@ -246,6 +246,19 @@
|
||||||
chatRequest.updating = true
|
chatRequest.updating = true
|
||||||
chatRequest.updatingMessage = ''
|
chatRequest.updatingMessage = ''
|
||||||
|
|
||||||
|
let doScroll = true
|
||||||
|
let didScroll = false
|
||||||
|
|
||||||
|
const checkUserScroll = (e: Event) => {
|
||||||
|
const el = e.target as HTMLElement
|
||||||
|
if (el && e.isTrusted && didScroll) {
|
||||||
|
// from user
|
||||||
|
doScroll = (window.innerHeight + window.scrollY + 10) >= document.body.offsetHeight
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
window.addEventListener('scroll', checkUserScroll)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await chatRequest.sendRequest($currentChatMessages, {
|
const response = await chatRequest.sendRequest($currentChatMessages, {
|
||||||
chat,
|
chat,
|
||||||
|
@ -253,7 +266,8 @@
|
||||||
streaming: chatSettings.stream,
|
streaming: chatSettings.stream,
|
||||||
fillMessage,
|
fillMessage,
|
||||||
onMessageChange: (messages) => {
|
onMessageChange: (messages) => {
|
||||||
scrollToBottom(true)
|
if (doScroll) scrollToBottom(true)
|
||||||
|
didScroll = !!messages[0]?.content
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
await response.promiseToFinish()
|
await response.promiseToFinish()
|
||||||
|
@ -265,6 +279,8 @@
|
||||||
console.error(e)
|
console.error(e)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
window.removeEventListener('scroll', checkUserScroll)
|
||||||
|
|
||||||
chatRequest.updating = false
|
chatRequest.updating = false
|
||||||
chatRequest.updatingMessage = ''
|
chatRequest.updatingMessage = ''
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue