fix: log actual panic message when MCP startup fails
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 2m54s
All checks were successful
Build & Sign Wraith / Build Windows + Sign (push) Successful in 2m54s
Was logging "panicked — continuing" without the WHY. Now captures the panic payload (String, &str, or type_id) so the log shows exactly what went wrong in clone_services(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
03bb6f3ccf
commit
5d1aeb5fe3
@ -134,9 +134,10 @@ pub fn run() {
|
||||
let log_file = data_directory().join("wraith.log");
|
||||
let _ = write_log(&log_file, "Setup: starting MCP and error watcher");
|
||||
|
||||
if let Ok(state) = std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| {
|
||||
match std::panic::catch_unwind(std::panic::AssertUnwindSafe(|| {
|
||||
app.state::<AppState>().inner().clone_services()
|
||||
})) {
|
||||
Ok(state) => {
|
||||
let (ssh, rdp, sftp, scrollback, watcher) = state;
|
||||
let _ = write_log(&log_file, "Setup: cloned services OK");
|
||||
|
||||
@ -151,8 +152,17 @@ pub fn run() {
|
||||
Err(e) => { let _ = write_log(&log_file2, &format!("MCP server FAILED: {}", e)); }
|
||||
}
|
||||
});
|
||||
} else {
|
||||
let _ = write_log(&log_file, "MCP startup panicked — continuing without MCP");
|
||||
}
|
||||
Err(panic) => {
|
||||
let msg = if let Some(s) = panic.downcast_ref::<String>() {
|
||||
s.clone()
|
||||
} else if let Some(s) = panic.downcast_ref::<&str>() {
|
||||
s.to_string()
|
||||
} else {
|
||||
format!("{:?}", panic.type_id())
|
||||
};
|
||||
let _ = write_log(&log_file, &format!("MCP startup panicked: {}", msg));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user