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
PR #1110 removes the retired FunctionalUI chat root, timeline, composer, virtualization infrastructure, resources, and tests that exercised that unreachable implementation. Production ChatPage and ChatWindow already mount the Reactor chat surface.
That cleanup intentionally does not add a new Reactor test suite. Mixing a large legacy-code deletion with new Reactor runtime-test design would broaden the PR beyond its purpose, make review harder, and couple removal of unreachable code to separate decisions about supported Reactor behavior.
Problem
Reactor has unit and source-contract coverage for timeline composition, stable keys, tail-navigation policy, resource usage, and selectable text. It also has a runtime proof for grouped tool activity. It does not yet have equivalent live WinUI coverage for several user-facing timeline behaviors formerly exercised through the FunctionalUI host.
The deleted tests cannot be ported mechanically. Many assertions were specific to VirtualStack, ItemsRepeater, FunctionalUI control caches and reconciliation, deleted XAML style keys, or legacy settle-timer behavior. Reactor uses ItemsView, ReactorHostControl, and a different scroll controller and rendering model.
Proposed Reactor Runtime Coverage
Add focused tests that mount ReactorChatTimeline or OpenClawReactorChatRoot through ReactorHostControl on the real UI thread and verify supported user-facing invariants:
A large timeline is scrollable and ItemsView realizes only a bounded subset of rows.
Initial display starts at the newest message.
Appended messages and in-place thinking or streaming growth remain bottom-followed when the user is already near the bottom.
A user who scrolls up is not repinned while content continues streaming, and their reading position remains stable within a reasonable tolerance.
Prepending older history preserves the reader's position; an explicit scroll-to-bottom request resumes following the newest message.
Define the intended Reactor selection contract, then verify selectable message text and the boundaries around code and table content.
Verify tool and compaction cards resolve current Reactor/Fluent theme resources at runtime without depending on removed FunctionalUI style keys.
Context
PR #1110 removes the retired FunctionalUI chat root, timeline, composer, virtualization infrastructure, resources, and tests that exercised that unreachable implementation. Production ChatPage and ChatWindow already mount the Reactor chat surface.
That cleanup intentionally does not add a new Reactor test suite. Mixing a large legacy-code deletion with new Reactor runtime-test design would broaden the PR beyond its purpose, make review harder, and couple removal of unreachable code to separate decisions about supported Reactor behavior.
Problem
Reactor has unit and source-contract coverage for timeline composition, stable keys, tail-navigation policy, resource usage, and selectable text. It also has a runtime proof for grouped tool activity. It does not yet have equivalent live WinUI coverage for several user-facing timeline behaviors formerly exercised through the FunctionalUI host.
The deleted tests cannot be ported mechanically. Many assertions were specific to
VirtualStack,ItemsRepeater, FunctionalUI control caches and reconciliation, deleted XAML style keys, or legacy settle-timer behavior. Reactor usesItemsView,ReactorHostControl, and a different scroll controller and rendering model.Proposed Reactor Runtime Coverage
Add focused tests that mount
ReactorChatTimelineorOpenClawReactorChatRootthroughReactorHostControlon the real UI thread and verify supported user-facing invariants:ItemsViewrealizes only a bounded subset of rows.Non-Goals
VirtualStackcache-count assertions.ChatToolCardBorderStyleorChatCompactionCardStyleresources.Acceptance Criteria
Related: #1110