라이브 진행 카드 자동 복구 로직 추가
메인 루프2 이후 Cowork/Code 실행 중 채팅창 상단 라이브 진행 카드가 transcript 재렌더링이나 이벤트 타이밍에 따라 사라지던 회귀를 수정했다. - ChatWindow.LiveProgressPresentation에 EnsureAgentLiveCardVisible를 추가해 라이브 카드 컨테이너가 없거나 transcript에서 떨어졌을 때 즉시 재생성 및 재부착되도록 보강 - ChatWindow.xaml.cs에서 agent event 수신과 live hint 시작 시 eligible 탭이면 항상 라이브 카드 복구를 먼저 수행한 뒤 상태를 갱신하도록 정리 - ChatWindow.V2Rendering에서 부분/전체 렌더 재구성 후 _isStreaming 상태면 라이브 카드를 자동 복원하도록 변경 - README와 docs/DEVELOPMENT.md에 수정 배경, 적용 파일, 검증 결과를 2026-04-15 15:56 (KST) 기준으로 반영 검증: - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_live_card_guard\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard\\ (경고 0 / 오류 0) - dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_live_card_guard_tests\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard_tests\\ (통과 49)
This commit is contained in:
@@ -6656,9 +6656,10 @@ public partial class ChatWindow : Window
|
||||
var eventTab = runTab;
|
||||
|
||||
// V2 라이브 카드 실시간 업데이트
|
||||
if (_v2LiveContainer != null
|
||||
&& string.Equals(runTab, _activeTab, StringComparison.OrdinalIgnoreCase))
|
||||
if (string.Equals(runTab, _activeTab, StringComparison.OrdinalIgnoreCase)
|
||||
&& IsAgentLiveCardEligibleTab(runTab))
|
||||
{
|
||||
EnsureAgentLiveCardVisible(runTab);
|
||||
UpdateAgentLiveCardV2(evt);
|
||||
}
|
||||
|
||||
@@ -6735,7 +6736,7 @@ public partial class ChatWindow : Window
|
||||
var runTab = string.IsNullOrWhiteSpace(_streamRunTab) ? _activeTab : _streamRunTab!;
|
||||
if (IsAgentLiveCardEligibleTab(runTab))
|
||||
{
|
||||
ShowAgentLiveCard(runTab);
|
||||
EnsureAgentLiveCardVisible(runTab);
|
||||
var initialStatus = AgentStatusNarrativeCatalog.BuildInitial(runTab);
|
||||
UpdateLiveAgentProgressHint(initialStatus.Message, "agent_wait");
|
||||
ShowStreamingStatusBar(initialStatus.Message, detail: initialStatus.Detail);
|
||||
|
||||
Reference in New Issue
Block a user