feat(ai): Add auto-scroll functionality to AI chat

- Add shouldAutoScroll property to track when user wants auto-scrolling
- Auto-scroll when user sends a message to see the response
- Auto-scroll during streaming when content height changes
- Auto-scroll when new messages are added to the conversation
- Stop auto-scroll when user manually scrolls up (preserves user intent)
- Resume auto-scroll when user scrolls back to bottom

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Gwendolyn Page
2025-09-11 17:19:05 -05:00
parent d37cf9e9c4
commit e5033c3213
@@ -209,6 +209,10 @@ Inline w/ backslash and round brackets \\(e^{i\\pi} + 1 = 0\\)
else {
Ai.sendUserMessage(inputText);
}
// Always scroll to bottom when user sends a message
messageListView.shouldAutoScroll = true
messageListView.positionViewAtEnd()
}
Process {
@@ -316,6 +320,28 @@ Inline w/ backslash and round brackets \\(e^{i\\pi} + 1 = 0\\)
property int lastResponseLength: 0
// Simple auto-scroll state tracking (proven chat pattern)
property bool shouldAutoScroll: true
// Track when user scrolls - simple and reliable
onContentYChanged: {
shouldAutoScroll = atYEnd
}
// Auto-scroll when content height changes (during streaming)
onContentHeightChanged: {
if (shouldAutoScroll) {
positionViewAtEnd()
}
}
// Auto-scroll when new messages are added
onCountChanged: {
if (shouldAutoScroll) {
positionViewAtEnd()
}
}
clip: true
layer.enabled: true
layer.effect: OpacityMask {