further fixes to error reporting: extra context, disable colour

This commit is contained in:
りき萌 2025-09-10 16:10:27 +02:00
parent 3999dd3012
commit 6e666c0265
3 changed files with 13 additions and 5 deletions

View file

@ -94,7 +94,8 @@ async fn fallible_websocket(api: Arc<Api>, ws: &mut WebSocket) -> eyre::Result<(
ws.send(to_message(&Version { version })).await?; ws.send(to_message(&Version { version })).await?;
let login_request: LoginRequest = from_message(&recv_expect(ws).await?)?; let login_request: LoginRequest =
from_message(&recv_expect(ws).await?).context("LoginRequest")?;
let user_id = login_request.user; let user_id = login_request.user;
let secret = base64::engine::general_purpose::URL_SAFE let secret = base64::engine::general_purpose::URL_SAFE
.decode(&login_request.secret) .decode(&login_request.secret)
@ -284,7 +285,8 @@ impl SessionLoop {
loop { loop {
select! { select! {
Some(message) = ws.recv() => { Some(message) = ws.recv() => {
let request = from_message(&message?)?; let message = message?;
let request = from_message(&message).context("Request")?;
self.process_request(ws, request).await?; self.process_request(ws, request).await?;
} }

View file

@ -93,7 +93,10 @@ async fn main() {
#[cfg(feature = "memory-profiling")] #[cfg(feature = "memory-profiling")]
let _client = tracy_client::Client::start(); let _client = tracy_client::Client::start();
color_eyre::install().unwrap(); color_eyre::config::HookBuilder::new()
.theme(color_eyre::config::Theme::new())
.install()
.unwrap();
tracing_subscriber::registry() tracing_subscriber::registry()
.with(tracing_subscriber::fmt::layer()) .with(tracing_subscriber::fmt::layer())
.with( .with(

View file

@ -36,11 +36,14 @@ export class ConnectionStatus extends HTMLElement {
showError(error) { showError(error) {
this.errorDialog.showModal(); this.errorDialog.showModal();
if (typeof error.error == "string") {
this.errorText.value = error.error.toString();
}
if (error instanceof Error) { if (error instanceof Error) {
if (error.stack != null && error.stack != "") { if (error.stack != null && error.stack != "") {
this.errorText.textContent = `${error.toString()}\n\n${error.stack}`; this.errorText.value = `${error.toString()}\n\n${error.stack}`;
} else { } else {
this.errorText.textContent = error.toString(); this.errorText.value = error.toString();
} }
} }
} }