Skip to content

Design a user-friendly error reporting policy and mechanism for the viewer #4301

@jleibs

Description

@jleibs

Context

Right now we have two main ways of reporting errors:

  • re_log::error! results in a pop-up in the viewer.
  • Some UI widgets specifically catch errors and map them to re_ui.error_text

A common source of errors is due to deserialization of components, whether from the data-store or blueprint store. These will both continue to be an issue at varying degrees until we have proper forward/backwards compatibility.

Where we use error_text vs error! is mostly ad-hoc at the moment resulting in inconsistent and problematic experiences such as:

Requests

  • One obvious / consistent way to handle errors across all different parts of the viewer code (during system execution, during blueprint handling, during UI building, etc.)
  • Deserialization errors should be returned somehow attached to the entity --> if I click an entity I should be able to see which components are failing to deserialize. Ideally visible in the timeline as well.
  • Minimize usage of ephemeral pop-ups. Errors should go to a more persist error-log reachable through the UI.
  • Ability to attach stack-trace without just throwing it into the error string as text.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions