AX Agent 대기열 후속 실행을 입력창 UI에서 분리해 Cowork·Code 엔진 축을 강화
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- SendMessageAsync가 직접 텍스트 인자를 받을 수 있게 바꾸고 대기열 후속 실행이 InputBox 상태를 바꾸지 않도록 조정 - StartNextQueuedDraftIfAny에서 입력창 텍스트/포커스/높이 조작을 제거하고 SendMessageAsync(next.Text) 직접 실행 경로로 전환 - README와 DEVELOPMENT 문서에 2026-04-05 13:37 (KST) 기준 이력과 검증 결과를 반영 - 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0, 오류 0)
This commit is contained in:
@@ -7988,15 +7988,17 @@ public partial class ChatWindow : Window
|
||||
return true;
|
||||
}
|
||||
|
||||
private async Task SendMessageAsync()
|
||||
private async Task SendMessageAsync(string? directText = null)
|
||||
{
|
||||
var rawText = InputBox.Text.Trim();
|
||||
var useComposerInput = directText == null;
|
||||
var rawText = (directText ?? InputBox.Text).Trim();
|
||||
|
||||
// 슬래시 칩이 활성화된 경우 명령어 앞에 붙임
|
||||
var text = _slashPalette.ActiveCommand != null
|
||||
var text = useComposerInput && _slashPalette.ActiveCommand != null
|
||||
? (_slashPalette.ActiveCommand + " " + rawText).Trim()
|
||||
: rawText;
|
||||
HideSlashChip(restoreText: false);
|
||||
if (useComposerInput)
|
||||
HideSlashChip(restoreText: false);
|
||||
|
||||
if (string.IsNullOrEmpty(text) || _isStreaming) return;
|
||||
|
||||
@@ -8334,8 +8336,11 @@ public partial class ChatWindow : Window
|
||||
TryPersistConversation(force: true);
|
||||
|
||||
UpdateChatTitle();
|
||||
InputBox.Text = "";
|
||||
UpdateInputBoxHeight();
|
||||
if (useComposerInput)
|
||||
{
|
||||
InputBox.Text = "";
|
||||
UpdateInputBoxHeight();
|
||||
}
|
||||
EmptyState.Visibility = Visibility.Collapsed;
|
||||
RenderMessages(preserveViewport: true);
|
||||
|
||||
@@ -20048,7 +20053,7 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
|
||||
|
||||
private void StartNextQueuedDraftIfAny(string? preferredDraftId = null)
|
||||
{
|
||||
if (_isStreaming || InputBox == null)
|
||||
if (_isStreaming)
|
||||
return;
|
||||
|
||||
DraftQueueItem? next = null;
|
||||
@@ -20063,12 +20068,8 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
|
||||
_currentConversation = session?.CurrentConversation ?? _currentConversation;
|
||||
}
|
||||
|
||||
InputBox.Text = next.Text;
|
||||
InputBox.CaretIndex = InputBox.Text.Length;
|
||||
InputBox.Focus();
|
||||
UpdateInputBoxHeight();
|
||||
RefreshDraftQueueUi();
|
||||
_ = SendMessageAsync();
|
||||
_ = SendMessageAsync(next.Text);
|
||||
}
|
||||
|
||||
private static int GetDraftStateRank(DraftQueueItem item)
|
||||
|
||||
Reference in New Issue
Block a user