show parser errors

This commit is contained in:
Robin Appelman 2024-02-25 17:48:53 +01:00
commit e02a9de1fa
4 changed files with 20 additions and 7 deletions

View file

@ -40,12 +40,17 @@ ready(async () => {
}) })
const parse = async (data: ArrayBuffer, parseProgress: HTMLProgressElement, stored: boolean) => { const parse = async (data: ArrayBuffer, parseProgress: HTMLProgressElement, stored: boolean) => {
const header = parseHeaderFromBuffer(data); try {
console.log(header); const header = parseHeaderFromBuffer(data);
const parser = new AsyncParser(data, (progress) => parseProgress.value = progress); console.log(header);
await parser.cache(); const parser = new AsyncParser(data, (progress) => parseProgress.value = progress);
await parser.cache();
const page = document.querySelector('.viewer-page'); const page = document.querySelector('.viewer-page');
render(() => <Analyser parser={parser} header={header} isStored={stored}/>, page); render(() => <Analyser parser={parser} header={header} isStored={stored}/>, page);
} catch (e) {
const errorDiv: HTMLDivElement = document.querySelector(`#error`);
errorDiv.textContent = e.message;
}
} }

View file

@ -214,7 +214,7 @@ async fn main() -> Result<()> {
match config.listen { match config.listen {
Listen::Tcp { address, port } => { Listen::Tcp { address, port } => {
let addr = SocketAddr::from((address, port)); let addr = SocketAddr::from((address, port));
info!("listening on {}", addr); info!("listening on http://{}", addr);
Server::bind(&addr) Server::bind(&addr)
.serve(service) .serve(service)
.with_graceful_shutdown(ctrl_c) .with_graceful_shutdown(ctrl_c)

View file

@ -63,6 +63,7 @@ impl Page for ViewerPage<'_> {
} }
} }
progress.parse.onlyscript min = "0" max = "100" value = "0" {} progress.parse.onlyscript min = "0" max = "100" value = "0" {}
#error {}
} }
script module src = (script) type = "text/javascript" {} script module src = (script) type = "text/javascript" {}
link rel="stylesheet" type="text/css" href=(style_url); link rel="stylesheet" type="text/css" href=(style_url);

View file

@ -16,3 +16,10 @@ progress {
body > footer { body > footer {
display: none; display: none;
} }
#error {
color: var(--button-critical);
text-align: center;
font-size: 2em;
padding-top: 2em;
}