diff --git a/src/github/copilotRemoteAgent.ts b/src/github/copilotRemoteAgent.ts index 17968c9191..bb67a4c3ee 100644 --- a/src/github/copilotRemoteAgent.ts +++ b/src/github/copilotRemoteAgent.ts @@ -781,7 +781,7 @@ export class CopilotRemoteAgentManager extends Disposable { } return { id: `${session.number}`, - label: session.title || `Session ${session.number}`, + label: session.title || this.generateSessionIdentifier(session.number), iconPath: this.getIconForSession(status), pullRequest: session }; @@ -903,7 +903,7 @@ export class CopilotRemoteAgentManager extends Disposable { timelineEvents: readonly TimelineEvent[], capi: CopilotApi ): Promise { - let sessionPrompt = session.name || `Session ${sessionIndex + 1} (ID: ${session.id})`; + let sessionPrompt = session.name || this.generateSessionIdentifier(sessionIndex + 1, session.id); if (sessionIndex === 0) { sessionPrompt = await this.getInitialSessionPrompt(session, pullRequest, capi, sessionPrompt); @@ -988,6 +988,19 @@ export class CopilotRemoteAgentManager extends Disposable { return 0; } + /** + * Generates a session identifier string in various formats + * @param sessionNumber The session number (1-based) + * @param sessionId Optional session ID to include in the identifier + * @returns Formatted session identifier string + */ + private generateSessionIdentifier(sessionNumber: number, sessionId?: string): string { + if (sessionId) { + return `Session ${sessionNumber} (ID: ${sessionId})`; + } + return `Session ${sessionNumber}`; + } + private findRelevantTimelineEvents( timelineEvents: readonly TimelineEvent[], previousSessionEndTime: number,