테마 글로우 설정의 실시간 반영 누락 수정
- 런처가 SettingsChanged 이벤트를 직접 받아 테두리, 아이콘 애니메이션, 무지개 글로우, 선택 글로우를 즉시 다시 적용하도록 보강함 - AX Agent는 저장된 설정을 다시 읽을 때 스트리밍 중 입력창 글로우 설정도 즉시 반영하도록 RefreshFromSavedSettings 흐름을 정리함 - README와 DEVELOPMENT 문서를 2026-04-06 19:02 (KST) 기준으로 갱신하고 Release 빌드에서 경고 0 / 오류 0을 확인함
This commit is contained in:
@@ -14,6 +14,9 @@ Windows 전용 시맨틱 런처 & 워크스페이스 매니저
|
||||
- 런처 색인에서 `.git`, `node_modules`, `bin`, `obj`, `dist`, `packages`, `venv`, `__pycache__`, `target` 같은 무거운 폴더를 스캔/감시 대상에서 제외해 유휴 CPU와 재색인 부담을 줄였습니다.
|
||||
- 런처 무지개 글로우 갱신 주기를 낮추고, AX Agent는 창 크기 변화 시 메시지 전체 재렌더를 짧게 묶어서 한 번만 반영하도록 바꿔 창 조작 시 버벅이는 느낌을 줄였습니다.
|
||||
|
||||
- 업데이트: 2026-04-06 19:02 (KST)
|
||||
- 설정-테마의 글로우 관련 항목이 저장만 되고 열린 창에 바로 반영되지 않던 문제를 수정했습니다. 런처는 설정 변경 이벤트를 직접 받아 테두리/아이콘 애니메이션/무지개 글로우/선택 글로우를 즉시 다시 적용하고, AX Agent도 스트리밍 중 입력창 글로우 설정을 바로 반영합니다.
|
||||
|
||||
- 업데이트: 2026-04-06 15:26 (KST)
|
||||
- AX Agent 채팅/코워크/코드 하단 안내 문구를 현재 구현 기준으로 다시 정리했습니다. 입력창 워터마크는 탭 종류와 작업 폴더 선택 여부에 따라 실제 가능한 작업을 더 정확히 안내합니다.
|
||||
- 선택된 프리셋 안내도 placeholder 문구 대신 실제 설명 중심으로 정리해, 프리셋 설명 카드와 입력창 워터마크가 서로 다른 역할로 보이도록 맞췄습니다.
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
- Document update: 2026-04-06 18:46 (KST) - Tightened launcher indexing for real-world projects by ignoring `.git`, `.vs`, `node_modules`, `bin`, `obj`, `dist`, `packages`, `venv`, `__pycache__`, and `target` directories during both watcher handling and full scans. The launcher now skips noisy build/cache trees instead of reacting to them like searchable content.
|
||||
- Document update: 2026-04-06 18:46 (KST) - Replaced the launcher's recursive `EnumerateFiles(..., AllDirectories)` walk with an ignore-aware manual traversal so large repos avoid descending into dependency and build folders, and slowed the rainbow glow timer from `20ms` to `40ms`.
|
||||
- Document update: 2026-04-06 18:46 (KST) - Added a deferred responsive-layout timer to `ChatWindow` so AX Agent no longer calls `RenderMessages()` on every `SizeChanged` event. Resizing and layout changes are now coalesced into a single update after a short delay, reducing the heavy-window feel during agent-window manipulation.
|
||||
- Document update: 2026-04-06 19:02 (KST) - Fixed theme glow settings so they apply to already-open windows instead of only affecting the next open. `LauncherWindow` now listens to `SettingsChanged` and reapplies border, icon animation, rainbow glow, and selection glow immediately, while `ChatWindow.RefreshFromSavedSettings()` now re-evaluates chat rainbow glow during active streaming.
|
||||
- Document update: 2026-04-06 15:31 (KST) - Removed the visible outer border from the Cowork/Code footer permission selector so it reads as a flatter inline action in the bottom work bar.
|
||||
- Document update: 2026-04-06 15:26 (KST) - Reworked bottom guidance copy for Chat/Cowork/Code around the actual AX Agent behavior. Input watermark text now comes from a shared helper that considers the active tab and whether a work folder is selected, instead of using overly broad static text.
|
||||
- Document update: 2026-04-06 15:26 (KST) - Adjusted the selected preset guide so it prefers concise preset descriptions over raw placeholder prompts, keeping the footer guide and the composer watermark in distinct roles.
|
||||
|
||||
@@ -9914,6 +9914,10 @@ public partial class ChatWindow : Window
|
||||
BuildBottomBar();
|
||||
RefreshDraftQueueUi();
|
||||
RefreshConversationList();
|
||||
if (_isStreaming && _settings.Settings.Llm.EnableChatRainbowGlow)
|
||||
PlayRainbowGlow();
|
||||
else
|
||||
StopRainbowGlow();
|
||||
}, DispatcherPriority.Input);
|
||||
}
|
||||
|
||||
|
||||
@@ -80,6 +80,9 @@ public partial class LauncherWindow : Window
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
if (CurrentApp?.SettingsService != null)
|
||||
CurrentApp.SettingsService.SettingsChanged += OnSettingsChanged;
|
||||
}
|
||||
|
||||
private void Window_Loaded(object sender, RoutedEventArgs e)
|
||||
@@ -175,7 +178,20 @@ public partial class LauncherWindow : Window
|
||||
}
|
||||
});
|
||||
|
||||
// 런처 테두리 표시 설정
|
||||
ApplyVisualSettings();
|
||||
}
|
||||
|
||||
private void OnSettingsChanged(object? sender, EventArgs e)
|
||||
{
|
||||
Dispatcher.BeginInvoke(() =>
|
||||
{
|
||||
ApplyTheme();
|
||||
ApplyVisualSettings();
|
||||
}, System.Windows.Threading.DispatcherPriority.Input);
|
||||
}
|
||||
|
||||
private void ApplyVisualSettings()
|
||||
{
|
||||
if (_vm.ShowLauncherBorder)
|
||||
{
|
||||
MainBorder.BorderThickness = new Thickness(1);
|
||||
@@ -187,12 +203,12 @@ public partial class LauncherWindow : Window
|
||||
MainBorder.BorderBrush = System.Windows.Media.Brushes.Transparent;
|
||||
}
|
||||
|
||||
if (_vm.EnableIconAnimation)
|
||||
if (_vm.EnableIconAnimation && IsVisible)
|
||||
ApplyRandomIconAnimation();
|
||||
else
|
||||
ResetIconAnimation();
|
||||
|
||||
if (_vm.EnableRainbowGlow)
|
||||
if (_vm.EnableRainbowGlow && IsVisible)
|
||||
StartRainbowGlow();
|
||||
else
|
||||
StopRainbowGlow();
|
||||
@@ -1663,6 +1679,14 @@ public partial class LauncherWindow : Window
|
||||
if (_vm.CloseOnFocusLost) Hide();
|
||||
}
|
||||
|
||||
protected override void OnClosed(EventArgs e)
|
||||
{
|
||||
if (CurrentApp?.SettingsService != null)
|
||||
CurrentApp.SettingsService.SettingsChanged -= OnSettingsChanged;
|
||||
|
||||
base.OnClosed(e);
|
||||
}
|
||||
|
||||
private void Window_LocationChanged(object sender, EventArgs e)
|
||||
{
|
||||
UpdateRememberedPositionCache();
|
||||
|
||||
Reference in New Issue
Block a user