improve end reason in list ui

* in backend, save the full reason, not just the most direct error,
  which is often the useless `UNKNOWN`

* in UI, instead of wrapping in `<Typography>` which just resorts in
  a weird ransom-note mixed size look, reserve space for or actually
  use an icon.
This commit is contained in:
Scott Lamb 2024-09-01 22:12:28 -07:00
parent 1473e79e96
commit 3efff2cfd6
2 changed files with 8 additions and 4 deletions

View File

@ -204,7 +204,7 @@ where
let frame = match frame { let frame = match frame {
Ok(f) => f, Ok(f) => f,
Err(e) => { Err(e) => {
let _ = w.close(None, Some(e.to_string())); let _ = w.close(None, Some(e.chain().to_string()));
return Err(e); return Err(e);
} }
}; };

View File

@ -12,7 +12,8 @@ import TableRow, { TableRowProps } from "@mui/material/TableRow";
import Skeleton from "@mui/material/Skeleton"; import Skeleton from "@mui/material/Skeleton";
import Alert from "@mui/material/Alert"; import Alert from "@mui/material/Alert";
import Tooltip from "@mui/material/Tooltip"; import Tooltip from "@mui/material/Tooltip";
import Typography from "@mui/material/Typography"; import ErrorIcon from "@mui/icons-material/Error";
import Icon from "@mui/material/Icon";
interface Props { interface Props {
stream: Stream; stream: Stream;
@ -153,12 +154,15 @@ const Row = ({
<TableRow {...rest}> <TableRow {...rest}>
<TableCell align="right">{start}</TableCell> <TableCell align="right">{start}</TableCell>
<TableCell align="right"> <TableCell align="right">
{end}
{endReason !== undefined ? ( {endReason !== undefined ? (
<Tooltip title={endReason}> <Tooltip title={endReason}>
<Typography>{end}</Typography> <Icon sx={{ verticalAlign: "bottom", marginLeft: ".5em" }}>
<ErrorIcon />
</Icon>
</Tooltip> </Tooltip>
) : ( ) : (
end <Icon sx={{ verticalAlign: "bottom", marginLeft: ".5em" }} />
)} )}
</TableCell> </TableCell>
<TableCell align="right" className="opt"> <TableCell align="right" className="opt">