대화 목록을 코덱스형 1줄 카드로 정리하고 상태 배지를 추가

선택된 대화는 전체 배경과 테두리를 테마 리소스로 강조하고 제목·시간을 한 줄로 재배치했습니다.

실행 중 링, 미열람 완료 점, 좌측 목록 재클릭 시 이름 변경 진입 제거를 반영했고 ChatWindowSlashPolicyTests로 상태 표시 조건 회귀를 검증했습니다.

검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_conversation_list_refresh\\ -p:IntermediateOutputPath=obj\\verify_conversation_list_refresh\\ / dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter ChatWindowSlashPolicyTests -p:OutputPath=bin\\verify_conversation_list_refresh_tests\\ -p:IntermediateOutputPath=obj\\verify_conversation_list_refresh_tests\
This commit is contained in:
2026-04-15 20:43:37 +09:00
parent 5f4a52929b
commit 3210440767
7 changed files with 201 additions and 100 deletions

View File

@@ -1548,3 +1548,11 @@ UI ?遺우쁽????域뱀뮆???귐뗫솯?醫딆춦 ???袁る퓮 ?臾믩씜 ??疫
- AX Agent 입력창 위 시간·토큰 표시가 라이브 진행 텍스트 높이에 끌려 올라가던 배치를 수정했습니다. 원인은 `src/AxCopilot/Views/ChatWindow.xaml`에서 `StreamMetricsLabel``PulseDotBar`와 같은 Grid를 공유하고 있어, 왼쪽 진행 상태가 여러 줄로 커질 때 라벨도 같은 행 중앙으로 끌려가던 점이었습니다.
- `StreamMetricsLabel`를 진행 상태 행에서 분리해 입력 영역 바로 앞에 독립 배치했습니다. 이제 `PulseDotBar`의 높이가 바뀌어도 시간·토큰 라벨은 입력창 바로 위 오른쪽에 붙어 있게 됩니다.
- 검증: `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_stream_metrics_anchor\\ -p:IntermediateOutputPath=obj\\verify_stream_metrics_anchor\\` 경고 0 / 오류 0
업데이트: 2026-04-15 20:41 (KST)
- AX Agent 좌측 대화 목록을 Codex 스타일에 가깝게 1줄형 카드로 재구성했습니다. `src/AxCopilot/Views/ChatWindow.xaml``ConversationItemTemplate`를 제목/시간 1줄 구조로 바꾸고, 선택 상태는 얇은 좌측 바 대신 전체 배경 + 테두리 강조로 바꿔 현재 테마(`HintBackground`, `AccentColor`, `ItemHoverBackground`)를 그대로 따르도록 정리했습니다.
- `src/AxCopilot/Views/ChatWindow.ConversationListPresentation.cs`에 실행 링/미열람 완료 점 정책을 추가했습니다. 현재 탭의 실제 스트리밍 대화만 실행 중 심볼을 표시하고, 백그라운드 완료 후 아직 열어보지 않은 대화는 완료 점을 붙였다가 해당 대화를 열면 바로 지워지도록 `MarkConversationCompletionSeen(...)`, `ShouldShowConversationRunningIndicator(...)`, `ShouldShowConversationCompletionMarker(...)` 헬퍼를 넣었습니다.
- 좌측 대화 목록에서 같은 항목을 다시 클릭했을 때 바로 이름 편집으로 들어가던 흐름은 제거했습니다. 이름 변경은 더 이상 목록 직접 클릭으로 진입하지 않고, 우클릭 메뉴 기반 관리 흐름만 유지합니다.
- `src/AxCopilot/ViewModels/ChatWindowViewModel.cs``HasUnreadCompletion` 바인딩을 추가했고, `src/AxCopilot.Tests/Views/ChatWindowSlashPolicyTests.cs`에 실행 링/완료 점 조건 회귀 테스트를 넣었습니다.
- 검증:
- `dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_conversation_list_refresh\\ -p:IntermediateOutputPath=obj\\verify_conversation_list_refresh\\` 경고 0 / 오류 0
- `dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_conversation_list_refresh_tests\\ -p:IntermediateOutputPath=obj\\verify_conversation_list_refresh_tests\\` 통과 59