메인 루프2 이후 사라진 코워크/코드 라이브 카드 복구

메인 루프2 리팩터링 이후 StartLiveAgentProgressHints가 하단 상태 힌트만 시작하고 채팅창 바로 위 V2 라이브 카드를 다시 만들지 않아 Cowork/Code 실행 중 라이브 카드가 보이지 않던 회귀를 수정했다.

- StartLiveAgentProgressHints에서 Cowork/Code 실행 시작 시 ShowAgentLiveCard(runTab)를 다시 호출하도록 복구

- Chat 같은 비대상 탭은 시작 시 기존 라이브 카드를 즉시 정리하도록 보강

- IsAgentLiveCardEligibleTab 헬퍼를 추가해 라이브 카드 대상 탭 판정을 한곳으로 고정

- ChatWindowSlashPolicyTests에 라이브 카드 대상 탭 회귀 테스트 추가

- README.md, docs/DEVELOPMENT.md에 2026-04-15 15:27 (KST) 기준 작업 이력과 검증 결과 반영

검증:

- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_live_card_restore\\ -p:IntermediateOutputPath=obj\\verify_live_card_restore\\ (경고 0 / 오류 0)

- dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter ChatWindowSlashPolicyTests -p:OutputPath=bin\\verify_live_card_restore_tests\\ -p:IntermediateOutputPath=obj\\verify_live_card_restore_tests\\ (통과 49)
This commit is contained in:
2026-04-15 15:30:31 +09:00
parent 791d172850
commit 675bdc9595
5 changed files with 47 additions and 2 deletions

View File

@@ -185,4 +185,17 @@ public class ChatWindowSlashPolicyTests
success.Should().BeFalse();
error.Should().Contain("토큰");
}
[Theory]
[InlineData("Code", true)]
[InlineData("Cowork", true)]
[InlineData("Chat", false)]
[InlineData("", false)]
public void IsAgentLiveCardEligibleTab_ShouldMatchExpectedTabs(string runTab, bool expected)
{
var method = typeof(ChatWindow).GetMethod("IsAgentLiveCardEligibleTab", BindingFlags.NonPublic | BindingFlags.Static);
method.Should().NotBeNull();
var result = method!.Invoke(null, new object?[] { runTab });
result.Should().Be(expected);
}
}