WIP: Resolve "Exception Data UI Varies in Different Issues"
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
- same for expandable or not
- see renderDefaultLine() in frame.jsx
-
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 includesApp Only
,Full
, andRaw
views.- 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.
- Added a knob to Storybook called
- Created
app-non-expanding-frames
to cover the app only and full views for when hasSystemFrames is true, based on OSS. SelectZero Division Dotnet
from the knobs in Storybook to view the App Only and Full views - 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.
Closes #40 (closed)
Edited by Emily Jensen