fix: route warnings to file and add in-app toast notifications
- Replace all eprintln! with tracing::warn! to avoid TUI corruption via stderr writes during alternate screen mode - Route tracing output to ~/.local/share/zesdex/zesdex.log instead of stderr by configuring tracing_subscriber with a Mutex<File> writer - Add render_toasts() widget: floating notification stack at top-right of the terminal, color-coded by severity (Info/Success/Warning/Error/ Lesson), auto-expires after 5s, max 4 visible - Apply to 12 files: stream parser, MCP client, subagent engine, state/rest, controller/input, app_config, provider, OAuth, agent_def, dto/chat/tool Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
e29dfadaa7
commit
89b63b1bc2
@@ -93,7 +93,7 @@ impl OAuthManager {
|
||||
let mut url = match url::Url::parse(&self.config.auth_url) {
|
||||
Ok(u) if !self.config.auth_url.is_empty() => u,
|
||||
_ => {
|
||||
eprintln!(
|
||||
tracing::warn!(
|
||||
"warning: OAuth auth_url is missing or invalid ('{}'); aborting build_auth_url",
|
||||
self.config.auth_url
|
||||
);
|
||||
|
||||
@@ -28,7 +28,7 @@ fn rand_byte() -> u8 {
|
||||
let nanos = SystemTime::now()
|
||||
.duration_since(UNIX_EPOCH)
|
||||
.unwrap_or_else(|_| {
|
||||
eprintln!("[pkce] system time before UNIX_EPOCH, using 0 for random byte");
|
||||
tracing::warn!("[pkce] system time before UNIX_EPOCH, using 0 for random byte");
|
||||
std::time::Duration::default()
|
||||
})
|
||||
.subsec_nanos();
|
||||
|
||||
@@ -36,7 +36,7 @@ impl LlmClient {
|
||||
{
|
||||
Ok(c) => c,
|
||||
Err(e) => {
|
||||
eprintln!("warning: failed to build reqwest client with timeouts: {}. Using default client without timeouts.", e);
|
||||
tracing::warn!("warning: failed to build reqwest client with timeouts: {}. Using default client without timeouts.", e);
|
||||
reqwest::blocking::Client::new()
|
||||
}
|
||||
};
|
||||
@@ -118,7 +118,7 @@ impl LlmClient {
|
||||
if attempt >= max_retries || is_auth_error {
|
||||
return Err(e);
|
||||
}
|
||||
eprintln!("Warning: {}. Retrying {}/{}...", e, attempt, max_retries);
|
||||
tracing::warn!("Warning: {}. Retrying {}/{}...", e, attempt, max_retries);
|
||||
std::thread::sleep(Duration::from_secs(2));
|
||||
}
|
||||
}
|
||||
@@ -170,7 +170,7 @@ impl LlmClient {
|
||||
if started || attempt >= max_retries || is_auth_error {
|
||||
return Err(e);
|
||||
}
|
||||
eprintln!("Warning: {}. Retrying {}/{}...", e, attempt, max_retries);
|
||||
tracing::warn!("Warning: {}. Retrying {}/{}...", e, attempt, max_retries);
|
||||
std::thread::sleep(Duration::from_secs(2));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user