내부 설정 개발자 토글 저장 경로 복구
Some checks failed
Release Gate / gate (push) Has been cancelled

AX Agent 내부 설정 개발자 탭의 워크플로우 시각화, 전체 호출·토큰 합계 표시, 감사 로그 토글에 변경 이벤트를 연결했습니다.

오버레이 재동기화 시 기본값으로 되돌아가던 문제를 막고 즉시 저장되도록 보정했으며 문서 이력과 빌드 검증도 함께 반영했습니다.
This commit is contained in:
2026-04-05 22:33:39 +09:00
parent fa349c2057
commit 61f82bdd10
4 changed files with 41 additions and 3 deletions

View File

@@ -1106,3 +1106,5 @@ MIT License
- 코워크/코드 탭의 사용자 메시지도 assistant 메시지와 같은 파일 경로 강조 렌더러를 쓰도록 바꿔, 폴더 하위 파일명이나 경로를 입력하면 채팅 본문에서 파란색으로 인식되게 맞췄다. - 코워크/코드 탭의 사용자 메시지도 assistant 메시지와 같은 파일 경로 강조 렌더러를 쓰도록 바꿔, 폴더 하위 파일명이나 경로를 입력하면 채팅 본문에서 파란색으로 인식되게 맞췄다.
- 업데이트: 2026-04-05 22:29 (KST) - 업데이트: 2026-04-05 22:29 (KST)
- AX Agent 채팅/코워크 프리셋을 선택할 때, 메시지도 입력도 없는 fresh conversation인데도 `새 대화`가 반복 생성되던 흐름을 보정했다. 이제 현재 대화가 이미 있으면 그 빈 대화에 프리셋만 적용하고, 실제 대화가 아예 없는 경우에만 새 대화를 만든다. - AX Agent 채팅/코워크 프리셋을 선택할 때, 메시지도 입력도 없는 fresh conversation인데도 `새 대화`가 반복 생성되던 흐름을 보정했다. 이제 현재 대화가 이미 있으면 그 빈 대화에 프리셋만 적용하고, 실제 대화가 아예 없는 경우에만 새 대화를 만든다.
- 업데이트: 2026-04-05 22:32 (KST)
- AX Agent 내부 설정 개발자 탭의 `워크플로우 시각화`, `전체 호출·토큰 합계 표시`, `감사 로그` 토글이 누르자마자 꺼지는 문제를 수정했다. 각 토글의 변경 이벤트를 연결해 즉시 저장되도록 보정했다.

View File

@@ -4865,3 +4865,6 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- 업데이트: 2026-04-05 22:29 (KST) - 업데이트: 2026-04-05 22:29 (KST)
- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 `SelectTopic(...)`에서 fresh conversation이 이미 있는 경우에는 `StartNewConversation()`를 다시 호출하지 않도록 보정했다. 기존에는 메시지도 입력도 없는 빈 대화에서 프리셋만 눌러도 새 conversation이 계속 생성되어 좌측 목록에 `새 대화`가 누적될 수 있었다. - [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs) 의 `SelectTopic(...)`에서 fresh conversation이 이미 있는 경우에는 `StartNewConversation()`를 다시 호출하지 않도록 보정했다. 기존에는 메시지도 입력도 없는 빈 대화에서 프리셋만 눌러도 새 conversation이 계속 생성되어 좌측 목록에 `새 대화`가 누적될 수 있었다.
- 현재는 `_currentConversation` 존재 여부를 기준으로 빈 대화 재사용과 실제 신규 생성 경로를 분리해, 프리셋 클릭은 같은 새 대화 안에서 메타데이터만 갱신하도록 맞췄다. - 현재는 `_currentConversation` 존재 여부를 기준으로 빈 대화 재사용과 실제 신규 생성 경로를 분리해, 프리셋 클릭은 같은 새 대화 안에서 메타데이터만 갱신하도록 맞췄다.
- 업데이트: 2026-04-05 22:32 (KST)
- [ChatWindow.xaml](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml) 의 `ChkOverlayWorkflowVisualizer`, `ChkOverlayShowTotalCallStats`, `ChkOverlayEnableAuditLog``Checked/Unchecked` 이벤트를 연결했다.
- [ChatWindow.xaml.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.xaml.cs)에 각 토글 전용 저장 handler를 추가해, 개발자 탭 옵션이 눌린 직후 오버레이 재동기화로 기본값으로 되돌아가던 문제를 해결했다.

View File

@@ -4134,7 +4134,9 @@
<CheckBox x:Name="ChkOverlayWorkflowVisualizer" <CheckBox x:Name="ChkOverlayWorkflowVisualizer"
Grid.Column="1" Grid.Column="1"
VerticalAlignment="Center" VerticalAlignment="Center"
Style="{StaticResource ToggleSwitch}"/> Style="{StaticResource ToggleSwitch}"
Checked="ChkOverlayWorkflowVisualizer_Changed"
Unchecked="ChkOverlayWorkflowVisualizer_Changed"/>
</Grid> </Grid>
</Border> </Border>
<Border x:Name="OverlayToggleShowTotalCallStats" Style="{StaticResource OverlayAdvancedToggleRowStyle}" Margin="0,8,0,0"> <Border x:Name="OverlayToggleShowTotalCallStats" Style="{StaticResource OverlayAdvancedToggleRowStyle}" Margin="0,8,0,0">
@@ -4154,7 +4156,9 @@
<CheckBox x:Name="ChkOverlayShowTotalCallStats" <CheckBox x:Name="ChkOverlayShowTotalCallStats"
Grid.Column="1" Grid.Column="1"
VerticalAlignment="Center" VerticalAlignment="Center"
Style="{StaticResource ToggleSwitch}"/> Style="{StaticResource ToggleSwitch}"
Checked="ChkOverlayShowTotalCallStats_Changed"
Unchecked="ChkOverlayShowTotalCallStats_Changed"/>
</Grid> </Grid>
</Border> </Border>
<Border x:Name="OverlayToggleAuditLog" Style="{StaticResource OverlayAdvancedToggleRowStyle}" Margin="0,8,0,0"> <Border x:Name="OverlayToggleAuditLog" Style="{StaticResource OverlayAdvancedToggleRowStyle}" Margin="0,8,0,0">
@@ -4174,7 +4178,9 @@
<CheckBox x:Name="ChkOverlayEnableAuditLog" <CheckBox x:Name="ChkOverlayEnableAuditLog"
Grid.Column="1" Grid.Column="1"
VerticalAlignment="Center" VerticalAlignment="Center"
Style="{StaticResource ToggleSwitch}"/> Style="{StaticResource ToggleSwitch}"
Checked="ChkOverlayEnableAuditLog_Changed"
Unchecked="ChkOverlayEnableAuditLog_Changed"/>
</Grid> </Grid>
</Border> </Border>
<Grid x:Name="OverlayOpenAuditLogRow" Margin="0,8,0,0"> <Grid x:Name="OverlayOpenAuditLogRow" Margin="0,8,0,0">

View File

@@ -15164,6 +15164,33 @@ public partial class ChatWindow : Window
PersistOverlaySettingsState(refreshOverlayDeferredInputs: false); PersistOverlaySettingsState(refreshOverlayDeferredInputs: false);
} }
private void ChkOverlayWorkflowVisualizer_Changed(object sender, RoutedEventArgs e)
{
if (_isOverlaySettingsSyncing || ChkOverlayWorkflowVisualizer == null)
return;
_settings.Settings.Llm.WorkflowVisualizer = ChkOverlayWorkflowVisualizer.IsChecked == true;
PersistOverlaySettingsState(refreshOverlayDeferredInputs: false);
}
private void ChkOverlayShowTotalCallStats_Changed(object sender, RoutedEventArgs e)
{
if (_isOverlaySettingsSyncing || ChkOverlayShowTotalCallStats == null)
return;
_settings.Settings.Llm.ShowTotalCallStats = ChkOverlayShowTotalCallStats.IsChecked == true;
PersistOverlaySettingsState(refreshOverlayDeferredInputs: false);
}
private void ChkOverlayEnableAuditLog_Changed(object sender, RoutedEventArgs e)
{
if (_isOverlaySettingsSyncing || ChkOverlayEnableAuditLog == null)
return;
_settings.Settings.Llm.EnableAuditLog = ChkOverlayEnableAuditLog.IsChecked == true;
PersistOverlaySettingsState(refreshOverlayDeferredInputs: false);
}
private void OverlayNav_Checked(object sender, RoutedEventArgs e) private void OverlayNav_Checked(object sender, RoutedEventArgs e)
{ {
if (sender is not RadioButton rb || rb.Tag is not string tag) if (sender is not RadioButton rb || rb.Tag is not string tag)