탭 전환 빈 대화 누적 방지: 저장 게이트 + 목록 노이즈 필터
Some checks failed
Release Gate / gate (push) Has been cancelled

- ChatSessionStateService.SaveCurrentConversation에 persistable-content 검사 추가

- 무의미한 빈 새 대화는 저장/탭 기억 대상에서 제외

- ChatWindow 대화 목록에서 빈 노이즈 항목 필터링

- ChatSessionStateServiceTests 회귀 추가 및 문서 이력(2026-04-04 15:48 KST) 동기화
This commit is contained in:
2026-04-04 15:49:12 +09:00
parent 73a4111100
commit f8669c735d
5 changed files with 162 additions and 7 deletions

View File

@@ -3584,3 +3584,24 @@ else:
### 5) 품질 게이트
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false` 통과 (경고 0, 오류 0).
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj --filter "FullyQualifiedName~AppStateServiceTests|FullyQualifiedName~PermissionModeCatalogTests|FullyQualifiedName~ChatWindowSlashPolicyTests|FullyQualifiedName~OperationModePolicyTests"` 통과 (132 passed, 0 failed).
## 2026-04-04 추가 진행 기록 (연속 실행 39차: 탭 전환 빈 대화 누적 방지)
업데이트: 2026-04-04 15:48 (KST)
### 1) 세션 저장 정책 보강
- `ChatSessionStateService.SaveCurrentConversation`에서 대화 저장 전 `HasPersistableContent` 검사를 추가.
- 메시지/실행이력/런기록/드래프트/핀/폴더/시스템명령/권한/카테고리 등 실질 상태가 없는 "빈 새 대화"는 디스크 저장 및 탭 기억 대상에서 제외.
### 2) 대화 목록 노이즈 필터
- `ChatWindow.RefreshConversationList`에서 탭 전환 중 생성된 무의미한 빈 항목(제목=새 대화, 미리보기 없음, 실행 이력 없음 등)을 렌더링 대상에서 제외.
- 효과: 탭 이동만으로 좌측 이력에 새 대화가 누적되는 체감 문제 완화.
### 3) 회귀 테스트 추가
- `ChatSessionStateServiceTests.SaveCurrentConversation_DoesNotPersistEmptyFreshConversation` 추가.
- 빈 초기 대화 저장 호출 시 `RememberConversation`이 null로 유지되는지 검증.
- 저장소 재조회(`storage.Load(conv.Id)`)에서 null인지 검증.
### 4) 품질 게이트
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Debug -p:UseSharedCompilation=false -nodeReuse:false` 통과 (경고 0, 오류 0).
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj --filter "FullyQualifiedName~ChatSessionStateServiceTests|FullyQualifiedName~AppStateServiceTests|FullyQualifiedName~OperationModePolicyTests|FullyQualifiedName~ChatWindowSlashPolicyTests"` 통과 (132 passed, 0 failed).