- task summary 전용 타이머를 추가해 RuntimeActivityBadge와 ConversationStatusStrip 갱신을 120ms 단위로 묶음 - 실행 이벤트 본문 재렌더 배치와 함께 Cowork/Code 실행 중 UI 깜빡임을 줄이는 방향으로 정리함 - 검증: 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:
@@ -84,6 +84,7 @@ public partial class ChatWindow : Window
|
||||
private readonly DispatcherTimer _conversationSearchTimer;
|
||||
private readonly DispatcherTimer _inputUiRefreshTimer;
|
||||
private readonly DispatcherTimer _executionHistoryRenderTimer;
|
||||
private readonly DispatcherTimer _taskSummaryRefreshTimer;
|
||||
private CancellationTokenSource? _gitStatusRefreshCts;
|
||||
private int _displayedLength; // 현재 화면에 표시된 글자 수
|
||||
private ResourceDictionary? _agentThemeDictionary;
|
||||
@@ -244,6 +245,12 @@ public partial class ChatWindow : Window
|
||||
AutoScrollIfNeeded();
|
||||
_pendingExecutionHistoryAutoScroll = false;
|
||||
};
|
||||
_taskSummaryRefreshTimer = new DispatcherTimer { Interval = TimeSpan.FromMilliseconds(120) };
|
||||
_taskSummaryRefreshTimer.Tick += (_, _) =>
|
||||
{
|
||||
_taskSummaryRefreshTimer.Stop();
|
||||
UpdateTaskSummaryIndicators();
|
||||
};
|
||||
|
||||
KeyDown += ChatWindow_KeyDown;
|
||||
UpdateConversationFailureFilterUi();
|
||||
@@ -8549,6 +8556,7 @@ public partial class ChatWindow : Window
|
||||
_typingTimer.Stop();
|
||||
_executionHistoryRenderTimer.Stop();
|
||||
_pendingExecutionHistoryAutoScroll = false;
|
||||
_taskSummaryRefreshTimer.Stop();
|
||||
HideStickyProgress();
|
||||
StopRainbowGlow();
|
||||
_activeStreamText = null;
|
||||
@@ -8612,6 +8620,12 @@ public partial class ChatWindow : Window
|
||||
_executionHistoryRenderTimer.Start();
|
||||
}
|
||||
|
||||
private void ScheduleTaskSummaryRefresh()
|
||||
{
|
||||
_taskSummaryRefreshTimer.Stop();
|
||||
_taskSummaryRefreshTimer.Start();
|
||||
}
|
||||
|
||||
// ─── 코워크 에이전트 지원 ────────────────────────────────────────────
|
||||
|
||||
private string BuildCoworkSystemPrompt()
|
||||
@@ -9070,7 +9084,7 @@ public partial class ChatWindow : Window
|
||||
}
|
||||
}
|
||||
|
||||
UpdateTaskSummaryIndicators();
|
||||
ScheduleTaskSummaryRefresh();
|
||||
}
|
||||
|
||||
private void OnSubAgentStatusChanged(SubAgentStatusEvent evt)
|
||||
@@ -9078,7 +9092,7 @@ public partial class ChatWindow : Window
|
||||
Dispatcher.Invoke(() =>
|
||||
{
|
||||
_appState.ApplySubAgentStatus(evt);
|
||||
UpdateTaskSummaryIndicators();
|
||||
ScheduleTaskSummaryRefresh();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user