Skip to content

WIP: Resolve "Exception Data UI Varies in Different Issues"

Emily Jensen requested to merge 40-exception-ui into master

Problem

The UI in event detail entry exception can be different, coming from different error factories (see issue for an example)

Specs

  • Expandable frame
    • length of frames array is larger than 1 && emptySourceNotation (skip for this issue, as it is not applicable)
    • or frames has a context array
    • or frame has a vars object
    • or stacktrace has registers (skip for this round, as it is not applicable to the specific issue)
  • Line text
  • App Only tab
    • add app only tab when hasSystemFrames is true
    • make frames visible when the view is full (default to true) or inApp is true

Solution

  • Figured out that the UI is determined by hasSystemFrames in OSS
  • if hasSystemFrames is true, the exception ui includes App Only, Full, and Raw views. exception
    • Added a knob to Storybook called Zero Division Dotnet. The information doesn't load until you click in Storybook, though. I'm not sure if this is a storybook bug or not. I think it may have to do with how and when the knobs get loaded.
  • Created app-non-expanding-frames to cover the app only and full views for when hasSystemFrames is true, based on OSS. Select Zero Division Dotnet from the knobs in Storybook to view the App Only and Full views
    • This is still missing the Called From: box because it seems to come from somewhere else other than the event detail api. I think it would be worth moving this to another issue if we think it's important to include in 1.0 calledfrom
  • For the raw data section, I referenced OSS Code and realized that there is a lot of conditional logic that goes into how this information is displayed. I created a new component for this called app-raw-stacktrace
    • The story for this has knobs for each case and also knobs to make values null, which changes the UI different, based on the platform selected.

Video

The video covers how the UI changes in event detail for Entry Exception based on a django error (shown first) and a dotnet error (shown second). Then it shows the story for the raw stacktrace and gives a preview of how the ui changes based on the platform and what data is provided. (The raw stacktrace is not determined by hasSystemFrames, whereas App Only and Full are.

Peek_2020-05-01_15-23

Closes #40 (closed)

Edited by Emily Jensen

Merge request reports