mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-24 19:35:28 -06:00
fix(ui): preserve board runtime across rail modes
This commit is contained in:
@@ -380,7 +380,6 @@ describeBrowserLayout("app chrome interaction styles", () => {
|
||||
<span class="sidebar-agent-card__name">Agent</span>
|
||||
<span class="settings-sidebar__item-label">Settings</span>
|
||||
<span class="sidebar-file-view__path">workspace/file.ts</span>
|
||||
<span class="chat-workbench__dock-zone">Dock here</span>
|
||||
<span class="chat-workspace-rail__file-badge">3 files</span>
|
||||
<span class="session-menu__shortcut">⌘K</span>
|
||||
<div class="file-view__search">
|
||||
@@ -412,7 +411,6 @@ describeBrowserLayout("app chrome interaction styles", () => {
|
||||
".sidebar-agent-card__name",
|
||||
".settings-sidebar__item-label",
|
||||
".sidebar-file-view__path",
|
||||
".chat-workbench__dock-zone",
|
||||
".chat-workspace-rail__file-badge",
|
||||
".session-menu__shortcut",
|
||||
".file-view__search-counter",
|
||||
|
||||
@@ -300,7 +300,8 @@ suite.define(() => {
|
||||
targetHeader.evaluate((header) => {
|
||||
const owner = header.closest("openclaw-chat-pane");
|
||||
return (
|
||||
owner === header.parentElement && owner?.classList.contains("chat-split-view__pane")
|
||||
header.parentElement?.classList.contains("chat-main__conversation-column") === true &&
|
||||
owner?.classList.contains("chat-split-view__pane") === true
|
||||
);
|
||||
}),
|
||||
)
|
||||
|
||||
@@ -607,10 +607,11 @@ export class ChatPane extends ChatPaneBrowserAnnotationRender {
|
||||
);
|
||||
const chat = renderChat({ ...props, header: board.face === "dashboard" ? nothing : header });
|
||||
const boardPrimary = this.renderBoardPrimary(board, chat);
|
||||
const primary =
|
||||
board.face === "dashboard"
|
||||
? html`<div class="chat-pane-primary-column">${header}${boardPrimary}</div>`
|
||||
: boardPrimary;
|
||||
// Keep this root stable across board face changes so the guarded board runtime
|
||||
// remains connected while Chat is active.
|
||||
const primary = html`<div class="chat-pane-primary-column">
|
||||
${board.face === "dashboard" ? header : nothing}${boardPrimary}
|
||||
</div>`;
|
||||
const discussion = this.buildSessionDiscussionPanel(state, state.sessionKey.trim());
|
||||
const panelTemplates = {
|
||||
chat,
|
||||
|
||||
@@ -366,7 +366,7 @@ function chatHtml(opts: ChatFixtureOptions = {}, mobileNavLayout = false) {
|
||||
<main class="content content--chat">
|
||||
<section class="card chat">
|
||||
<div class="chat-split-container">
|
||||
<div class="chat-main${opts.sessionRailDocked ? " chat-main--rail-docked" : ""}" style="flex: 1 1 100%">
|
||||
<div class="chat-main${opts.sessionRailDocked ? " chat-main--rail-docked" : ""}" style="--chat-companion-rail-width: 400px; flex: 1 1 100%">
|
||||
<div class="chat-thread${opts.direct ? " chat-thread--direct" : ""}" role="log">
|
||||
<div class="chat-thread-inner">
|
||||
<div class="chat-group user">
|
||||
|
||||
Reference in New Issue
Block a user