워크스페이스 브라우저 상태 복원 경로를 추가하고 설정 및 검증을 정리한다

변경 목적: ~ 워크스페이스 복원 시 창 배치뿐 아니라 브라우저 탭/URL 상태까지 가능한 범위에서 함께 재현하도록 저장/복원 경로를 확장한다.

핵심 수정사항: BrowserWorkspaceStateHelper를 추가해 Chromium/Firefox 계열 창의 프로필 인자, 탭 URL, 활성 탭 인덱스를 수집하고, ContextManager가 브라우저 상태가 저장된 창은 부분 제목 매칭으로 기존 창을 재사용하지 않고 새 브라우저 창을 띄워 동일한 URL 세트를 복원한 뒤 위치와 활성 탭을 맞추도록 변경했다. Launcher 설정에 브라우저 상태 복원 토글을 추가하고 SettingsViewModel 및 설정 UI와 연결했으며, ContextManagerTests와 SettingsServiceTests를 확장했다. README와 DEVELOPMENT 문서에도 2026-04-15 17:26 (KST) 기준 작업 이력과 검증 명령을 반영했다.

검증 결과: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify_browser_restore\ -p:IntermediateOutputPath=obj\verify_browser_restore\ 에서 경고 0/오류 0을 확인했고, dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter WorkspaceHandlerTests|ContextManagerTests|SettingsServiceTests -p:OutputPath=bin\verify_browser_restore_workspace_tests\ -p:IntermediateOutputPath=obj\verify_browser_restore_workspace_tests\ 에서 44개 테스트 통과를 확인했다.
This commit is contained in:
2026-04-15 17:28:22 +09:00
parent 9344cf83d6
commit e823ff83e3
10 changed files with 941 additions and 10 deletions

View File

@@ -70,6 +70,15 @@
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_status_narrative\\ -p:IntermediateOutputPath=obj\\verify_status_narrative\\` 경고 0 / 오류 0
- 검증: `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentStatusNarrativeCatalogTests|AgentLoopIterationPreparationServiceTests|AgentToolResultBudgetTests|ChatStorageServiceTests|AgentMessageInvariantHelperTests" -p:OutputPath=bin\\verify_status_narrative_tests\\ -p:IntermediateOutputPath=obj\\verify_status_narrative_tests\\` 통과 15
업데이트: 2026-04-15 17:26 (KST)
- 런처 `~` 워크스페이스에 브라우저 세션 복원 경로를 추가했습니다. `src/AxCopilot/Core/BrowserWorkspaceStateHelper.cs`가 Chromium 계열과 Firefox의 실행 프로필 인자, 현재 탭 URL 목록, 활성 탭 인덱스를 수집하고, `src/AxCopilot/Core/ContextManager.cs`가 브라우저 상태가 저장된 창은 부분 제목 매칭으로 기존 창을 재사용하지 않고 새 창을 띄워 동일한 URL 세트를 복원한 뒤 위치/크기와 활성 탭을 맞춥니다.
- 설정 토글도 함께 연결했습니다. `src/AxCopilot/Models/AppSettings.cs``Launcher.EnableBrowserSessionRestore` 기본값 `true`를 추가하고, `src/AxCopilot/ViewModels/SettingsViewModel.cs``src/AxCopilot/Views/SettingsWindow.xaml``브라우저 상태 복원` 항목을 노출해 탭 전환 기반 캡처를 사용자가 제어할 수 있게 했습니다.
- 테스트는 `src/AxCopilot.Tests/Core/ContextManagerTests.cs`에 브라우저 실행 인자/새 창 실행 정책 케이스를, `src/AxCopilot.Tests/Services/SettingsServiceTests.cs`에 기본값/직렬화 라운드트립 케이스를 추가했습니다.
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_browser_restore\\ -p:IntermediateOutputPath=obj\\verify_browser_restore\\` → 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ContextManagerTests|SettingsServiceTests" -p:OutputPath=bin\\verify_browser_restore_tests\\ -p:IntermediateOutputPath=obj\\verify_browser_restore_tests\\` → 42개 통과
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "WorkspaceHandlerTests|ContextManagerTests|SettingsServiceTests" -p:OutputPath=bin\\verify_browser_restore_workspace_tests\\ -p:IntermediateOutputPath=obj\\verify_browser_restore_workspace_tests\\` → 44개 통과
업데이트: 2026-04-14 19:50 (KST)
업데이트: 2026-04-15 15:45 (KST)
- Cowork PPT 생성 경로를 특정 업종 전용 archetype이 아니라 공통 품질 루프로 강화했습니다. `src/AxCopilot/Views/ChatWindow.SystemPromptBuilder.cs``src/AxCopilot/Services/Agent/AgentLoopExplorationPolicy.cs`는 presentation/deck 요청에서 `document_plan`을 무조건 선행하지 않고, 계획 요청이 명시되지 않으면 `pptx_create`를 우선하도록 안내합니다.