You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Move auto-scroll toggle out of AgentChatOutputControl into the status line #36
The auto-scroll toggle (AutoScrollToggle CheckBox) is currently rendered inside AgentChatOutputControl as part of its internal status row. It should be moved out so it lives in the status line (alongside other status elements), with the control simply exposing a bindable boolean property.
Proposed Changes
Remove the \AutoScrollToggle\ CheckBox from AgentChatOutputControl.axaml — the control should no longer own or render the toggle UI.
Expose an \AutoScrollEnabled\ boolean \AvaloniaProperty\ on AgentChatOutputControl — external callers bind to this to drive auto-scroll behaviour; the control reads this property instead of its internal field.
Move the toggle rendering to the status line — the parent view (wherever the status line lives) should render the CheckBox and bind it two-way to \AutoScrollEnabled\ on the control.
Motivation
Keeping the toggle inside the chat output control couples UI layout concerns to the control. Exposing a simple boolean property makes the control reusable and testable in isolation, and allows the status line to own all status-area chrome consistently.
Fixed: auto-scroll toggle moved to the conversation status line. Appears only when auto-scroll is off (user has scrolled up), providing a clear re-enable affordance.
Checked: commit dfdf20a (Fix #36), files AgentChatOutputControl.axaml, AgentChatOutputControl.axaml.cs, AgentChatEditorControl.axaml, AgentViewModel.cs, and tests in MainWindowAxamlTests.cs.
Result: Implementation found, all verification criteria satisfied, tests present and green.
AutoScrollToggle CheckBox removed from AgentChatOutputControl.axaml — control now contains only <Border x:Name="BrowserHost" />.
AutoScrollEnabled / AutoScrollDisabled properties added to AgentViewModel; the control reads/writes the VM property instead of an internal field.
Toggle CheckBox moved to the conversation status line in AgentChatEditorControl.axaml, bound two-way to Agent.AutoScrollEnabled.
Toggle uses a .scroll-locked CSS class for opacity animation (appears only when auto-scroll is off), rather than IsHitTestVisible.
Tests in MainWindowAxamlTests verify: (a) toggle absent from the output control, (b) toggle present in the editor status line with correct two-way binding, (c) scroll-locked class animation wiring.
Activity
JoshuaRowePhantom commentedon Jun 26, 2026
Fixed: auto-scroll toggle moved to the conversation status line. Appears only when auto-scroll is off (user has scrolled up), providing a clear re-enable affordance.
Fix #36: move auto-scroll toggle to status line
JoshuaRowePhantom commentedon Jun 30, 2026
Verification passed
Checked: commit
dfdf20a(Fix #36), filesAgentChatOutputControl.axaml,AgentChatOutputControl.axaml.cs,AgentChatEditorControl.axaml,AgentViewModel.cs, and tests inMainWindowAxamlTests.cs.Result: Implementation found, all verification criteria satisfied, tests present and green.
AutoScrollToggleCheckBox removed fromAgentChatOutputControl.axaml— control now contains only<Border x:Name="BrowserHost" />.AutoScrollEnabled/AutoScrollDisabledproperties added toAgentViewModel; the control reads/writes the VM property instead of an internal field.AgentChatEditorControl.axaml, bound two-way toAgent.AutoScrollEnabled..scroll-lockedCSS class for opacity animation (appears only when auto-scroll is off), rather thanIsHitTestVisible.MainWindowAxamlTestsverify: (a) toggle absent from the output control, (b) toggle present in the editor status line with correct two-way binding, (c)scroll-lockedclass animation wiring.