🐛 fix(vscode): 恢复实施会话改按显式角色命名,worktree 清理后不再误标为规划

Claude-Session: https://claude.ai/code/session_012YFEAU7RsuCdinUNMS9tzv
This commit is contained in:
cruldra committed 2026-09-09 10:41:04 +08:00
1 parent 1fee0f2630
commit e8963ac2a2
11 files changed
+116 -61

No files matched your search

+1 -1
View File
@@ -225,7 +225,7 @@ export function App() {
const profileForResume = isImpl
? selectedIssue?.profilePath
: selectedIssue?.brainstormProfilePath
resumeSession(sid, profileForResume, cwd, selectedIssue?.number)
resumeSession(sid, isImpl ? 'implement' : 'brainstorm', profileForResume, cwd, selectedIssue?.number)
}
return
}
@@ -28,7 +28,7 @@ interface BottomTabsProps {
allIssues: Issue[]
globalAutoReview: boolean
onOpenInBrowser: (url: string) => void
onResumeSession: (sessionId: string, profilePath?: string, cwd?: string, issueNumber?: number) => void
onResumeSession: (sessionId: string, kind: 'implement' | 'brainstorm', profilePath?: string, cwd?: string, issueNumber?: number) => void
onResumeReviewSession: (sessionId: string, issueNumber: number, cwd?: string) => void
onStartTestSession: (issueNumber: number) => void
onResumeTestSession: (sessionId: string, issueNumber: number, cwd?: string) => void
@@ -35,7 +35,7 @@ interface IssueDetailPanelProps {
/** 全局 autoReview 当前值;用于工单未显式设置 autoReview 时的回退展示。 */
globalAutoReview: boolean
onOpenInBrowser: (url: string) => void
onResumeSession: (sessionId: string, profilePath?: string, cwd?: string, issueNumber?: number) => void
onResumeSession: (sessionId: string, kind: 'implement' | 'brainstorm', profilePath?: string, cwd?: string, issueNumber?: number) => void
/**
* Open a new terminal that runs `codex resume <id>` for the auto-review
* conversation associated with this issue.
@@ -243,7 +243,7 @@ export function IssueDetailPanel({
return
if (!throttleBySessionId(v))
return
onResumeSession(v, issue?.brainstormProfilePath, undefined, issue?.number)
onResumeSession(v, 'brainstorm', issue?.brainstormProfilePath, undefined, issue?.number)
},
secondaryActions,
}
@@ -265,7 +265,7 @@ export function IssueDetailPanel({
return
if (!throttleBySessionId(v))
return
onResumeSession(v, issue?.profilePath, issue?.worktreePath, issue?.number)
onResumeSession(v, 'implement', issue?.profilePath, issue?.worktreePath, issue?.number)
},
secondaryActions: issue?.implementTabOpen
? [{
+3 -2
View File
@@ -170,7 +170,7 @@ export interface UseIssuesResult {
createIssue: (userRequest: string, images?: Array<{ mediaType: string, base64: string }>, brainstormProfilePath?: string) => void
dismissToast: (id: string) => void
openUrl: (url: string) => void
resumeSession: (sessionId: string, profilePath?: string, cwd?: string, issueNumber?: number) => void
resumeSession: (sessionId: string, kind: 'implement' | 'brainstorm', profilePath?: string, cwd?: string, issueNumber?: number) => void
resumeReviewSession: (sessionId: string, issueNumber: number, cwd?: string) => void
startTestSession: (issueNumber: number) => void
resumeTestSession: (sessionId: string, issueNumber: number, cwd?: string) => void
@@ -454,11 +454,12 @@ export function useIssues(): UseIssuesResult {
const resumeSession = useCallback((
sessionId: string,
kind: 'implement' | 'brainstorm',
profilePath?: string,
cwd?: string,
issueNumber?: number,
): void => {
postMessage({ type: 'session/resume', sessionId, profilePath, cwd, issueNumber })
postMessage({ type: 'session/resume', sessionId, kind, profilePath, cwd, issueNumber })
}, [])
const focusSession = useCallback((issueNumber: number): void => {
+1 -1
View File
@@ -211,7 +211,7 @@ export type WebviewToExtension
| { type: 'youtrack/import' }
| { type: 'issue/create', userRequest: string, images?: Array<{ mediaType: string, base64: string }>, brainstormProfilePath?: string }
| { type: 'toast/open-url', url: string }
| { type: 'session/resume', sessionId: string, profilePath?: string, cwd?: string, issueNumber?: number }
| { type: 'session/resume', sessionId: string, kind: 'implement' | 'brainstorm', profilePath?: string, cwd?: string, issueNumber?: number }
| { type: 'session/focus', issueNumber: number }
| { type: 'session/resume-review', sessionId: string, issueNumber: number, cwd?: string }
| { type: 'session/resume-test', sessionId: string, issueNumber: number, cwd?: string }