전체 코드 오류와 성능 병목을 점검하고 핵심 핫패스를 정리한다
Some checks failed
Release Gate / gate (push) Has been cancelled

- 런처 색인에서 임시 파일, 숨김/시스템 경로, Office 임시 파일을 감시와 색인 대상에서 제외해 불필요한 재색인과 디스크 I/O를 줄인다

- AX Agent 표현 수준 저장값이 매번 rich로 덮어쓰이던 버그를 수정해 balanced/simple/rich 설정이 실제로 유지되게 한다

- 최소화/숨김 상태의 AX Agent 창은 transcript 재렌더를 지연했다가 다시 보일 때 한 번만 처리하고, 런처 인덱스 상태 타이머도 재사용하도록 바꿔 백그라운드 오버헤드를 줄인다

- 검증: 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-06 23:19:02 +09:00
parent 30e8218ba4
commit 45dfa70951
6 changed files with 112 additions and 24 deletions

View File

@@ -1459,19 +1459,23 @@ public partial class LauncherWindow : Window
IndexStatusText.Text = message;
IndexStatusText.Visibility = Visibility.Visible;
_indexStatusTimer?.Stop();
_indexStatusTimer = new System.Windows.Threading.DispatcherTimer
{
Interval = duration
};
_indexStatusTimer.Tick += (_, _) =>
{
_indexStatusTimer.Stop();
IndexStatusText.Visibility = Visibility.Collapsed;
};
_indexStatusTimer ??= new System.Windows.Threading.DispatcherTimer();
_indexStatusTimer.Stop();
_indexStatusTimer.Interval = duration;
_indexStatusTimer.Tick -= IndexStatusTimer_Tick;
_indexStatusTimer.Tick += IndexStatusTimer_Tick;
_indexStatusTimer.Start();
}
private void IndexStatusTimer_Tick(object? sender, EventArgs e)
{
if (_indexStatusTimer == null)
return;
_indexStatusTimer.Stop();
IndexStatusText.Visibility = Visibility.Collapsed;
}
/// <summary>
/// 액션 모드에서 특수 처리가 필요한 동작(삭제/이름변경)을 처리합니다.
/// 처리되면 true 반환 → ExecuteSelectedAsync 호출 생략.