AX Agent 실패 재시도도 입력창 UI에서 분리해 Cowork·Code 실행 축을 정리
Some checks failed
Release Gate / gate (push) Has been cancelled

- RetryLastUserMessageFromConversation이 입력창 텍스트와 포커스를 직접 바꾸지 않고 유휴 시 즉시 재실행, 진행 중에는 직접 대기열 적재로 전환

- 재시도 흐름을 입력 UI보다 세션/대기열 중심으로 옮겨 Cowork·Code 후처리 일관성을 강화

- README와 DEVELOPMENT 문서에 2026-04-05 13:44 (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:
2026-04-05 12:56:29 +09:00
parent c5dfab8081
commit 554b1fb83e
3 changed files with 23 additions and 5 deletions

View File

@@ -21178,13 +21178,26 @@ private static (string icon, string label, string bgHex, string fgHex) GetDecisi
private void RetryLastUserMessageFromConversation()
{
var lastUserMessage = GetLastUserMessageFromConversation();
if (string.IsNullOrWhiteSpace(lastUserMessage) || InputBox == null)
if (string.IsNullOrWhiteSpace(lastUserMessage))
return;
InputBox.Text = lastUserMessage;
InputBox.CaretIndex = InputBox.Text.Length;
InputBox.Focus();
QueueComposerDraft(priority: "now", explicitKind: "direct", startImmediatelyWhenIdle: true);
if (_isStreaming)
{
lock (_convLock)
{
var session = ChatSession;
if (session != null)
_currentConversation = session.EnqueueDraft(_activeTab, lastUserMessage, "now", _storage, "direct") != null
? session.CurrentConversation
: _currentConversation;
}
RefreshDraftQueueUi();
ShowToast("현재 작업 뒤에 같은 요청을 다시 실행하도록 대기열에 추가했습니다.");
return;
}
_ = SendMessageAsync(lastUserMessage);
}
private void FocusCurrentConversation()