AX Agent 채팅과 코워크에서 메시지와 입력이 없는 fresh conversation에 프리셋만 선택해도 새 대화가 반복 생성되던 흐름을 수정했습니다. 기존 빈 대화가 있으면 해당 대화를 재사용하고 프리셋 메타데이터만 갱신하도록 정리했으며 문서 이력과 빌드 검증도 함께 반영했습니다.
This commit is contained in:
@@ -12676,16 +12676,22 @@ public partial class ChatWindow : Window
|
||||
private void SelectTopic(Services.TopicPreset preset)
|
||||
{
|
||||
bool hasMessages;
|
||||
lock (_convLock) hasMessages = _currentConversation?.Messages.Count > 0;
|
||||
bool hasConversation;
|
||||
lock (_convLock)
|
||||
{
|
||||
hasConversation = _currentConversation != null;
|
||||
hasMessages = _currentConversation?.Messages.Count > 0;
|
||||
}
|
||||
|
||||
// 입력란에 텍스트가 있으면 기존 대화를 유지 (입력 내용 보존)
|
||||
bool hasInput = !string.IsNullOrEmpty(InputBox.Text);
|
||||
bool keepConversation = hasMessages || hasInput;
|
||||
bool keepConversation = hasConversation;
|
||||
|
||||
if (!keepConversation)
|
||||
{
|
||||
// 메시지도 입력 텍스트도 없으면 새 대화 시작
|
||||
// 현재 대화가 아예 없는 경우에만 새 대화 시작
|
||||
StartNewConversation();
|
||||
keepConversation = true;
|
||||
}
|
||||
|
||||
// 프리셋 적용 (기존 대화에도 프리셋 변경 가능)
|
||||
@@ -12722,10 +12728,10 @@ public partial class ChatWindow : Window
|
||||
if (!string.IsNullOrEmpty(preset.Placeholder))
|
||||
{
|
||||
_promptCardPlaceholder = preset.Placeholder;
|
||||
if (!keepConversation) ShowPlaceholder();
|
||||
if (!hasMessages && !hasInput) ShowPlaceholder();
|
||||
}
|
||||
|
||||
if (keepConversation)
|
||||
if (hasMessages || hasInput)
|
||||
ShowToast($"프리셋 변경: {preset.Label}");
|
||||
|
||||
// Cowork 탭: 하단 바 갱신
|
||||
|
||||
Reference in New Issue
Block a user