NASA-AMMOS / aerie-ui

The client application for Aerie.
https://nasa-ammos.github.io/aerie-docs/
MIT License
28 stars 4 forks source link

Show error in UI if mission model upload fails #1248

Closed dandelany closed 3 weeks ago

dandelany commented 2 months ago

Background

Original backend ticket: https://github.com/NASA-AMMOS/aerie/issues/1273

Users have run into a situations where an error occured when Aerie processed the mission model jar, but no error appeared to the user. Fixing this is a bit more difficult than just displaying an HTTP response, because the upload & subsequent processing happen asynchronously, so there is some delay between the initial request & the error.

@Mythicaeda has implemented an events view in the Hasura API to allow us to get any errors that occur into the frontend, see implementation details here: https://github.com/NASA-AMMOS/aerie/pull/1418

Requirements

Tagging @parkerabercrombie for visibility..

Design direction: https://www.figma.com/design/gWEDKg40Uv0EUvEB9BVmGZ/Model-Spec-Error-Handling?node-id=19-18496&t=hw9Sf1BK9kROvi2T-4

duranb commented 2 months ago

@lklyne @dandelany Is there a design for this? Showing the error immediately after upload is easy enough, but currently the users can still see that uploaded model if they go to the model list page. I feel like we should at the very least show that error maybe in the models table in a column or something. But it also feels weird that we even show that model at all in the table if it's not something that the user can use. Can we filter out any models with errors from the table if it's not useful to show them?

lklyne commented 1 month ago

@lklyne @dandelany Is there a design for this? Showing the error immediately after upload is easy enough, but currently the users can still see that uploaded model if they go to the model list page. I feel like we should at the very least show that error maybe in the models table in a column or something. But it also feels weird that we even show that model at all in the table if it's not something that the user can use. Can we filter out any models with errors from the table if it's not useful to show them?

A few potential approaches top of mind:

  1. Treatment in the table
  2. Details about what went wrong with the upload in model details
  3. Hide failed uploads and show some sort of callout at the top (not a great approach for collaboration)
  4. A pop up of some sort? (Probably the worst approach)