Merge pull request #294253 from mjbvz/dev/mjbvz/worldwide-rat

Store sessionResource as view state instead of id
This commit is contained in:
Matt Bierner
2026-02-10 15:42:46 -08:00
committed by GitHub

View File

@@ -65,7 +65,9 @@ import { IAgentSession } from '../../agentSessions/agentSessionsModel.js';
import { IChatEntitlementService } from '../../../../../services/chat/common/chatEntitlementService.js';
interface IChatViewPaneState extends Partial<IChatModelInputState> {
/** @deprecated */
sessionId?: string;
sessionResource?: URI;
sessionsSidebarWidth?: number;
}
@@ -128,7 +130,9 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
lifecycleService.startupKind !== StartupKind.ReloadedWindow &&
this.configurationService.getValue<boolean>(ChatConfiguration.RestoreLastPanelSession) === false
) {
this.viewState.sessionId = undefined; // clear persisted session on fresh start
// clear persisted session on fresh start
this.viewState.sessionId = undefined;
this.viewState.sessionResource = undefined;
}
this.sessionsViewerVisible = false; // will be updated from layout code
this.sessionsViewerSidebarWidth = Math.max(ChatViewPane.SESSIONS_SIDEBAR_MIN_WIDTH, this.viewState.sessionsSidebarWidth ?? ChatViewPane.SESSIONS_SIDEBAR_DEFAULT_WIDTH);
@@ -267,6 +271,10 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
return this.chatService.transferredSessionResource;
}
if (this.viewState.sessionResource) {
return this.viewState.sessionResource;
}
return this.viewState.sessionId ? LocalChatSessionUri.forSession(this.viewState.sessionId) : undefined;
}
@@ -675,7 +683,9 @@ export class ChatViewPane extends ViewPane implements IViewWelcomeDelegate {
if (model) {
await this.updateWidgetLockState(model.sessionResource); // Update widget lock state based on session type
this.viewState.sessionId = model.sessionId; // remember as model to restore in view state
// remember as model to restore in view state
this.viewState.sessionId = model.sessionId;
this.viewState.sessionResource = model.sessionResource;
}
this._widget.setModel(model);