Skip to content

Implement workbench view system and status bar

Administrator requested to merge tj/workbench-views into main

Created by: tjkandala

Description WIP

Implement workbench view system and status bar, the first workbench view.


Workbench views

What is a workbench view?

TODO

Workbench view Insights view
Extension pushes updates to UI UI pulls from provider
Persists between pages Scoped to a single page
Presents lower-level information Presents higher-level information
"Contextual" views Primary focus TODO

Implementation details

workbenchViews

For now, we send the state of all views on each "flush". The main performance pitfall I envisioned was the main thread rendering too often (see: "Motivation"), so optimizing communication between the threads was not a priority.

Once we have more complex views with "deep and broad" state objects, we can consider sending diffs to the main thread instead. The increased complexity of maintaining view state on the main thread as well outweighs the potential performance boosts for our existing (simple) workbench views

Motivation

TODO


Status bar

The status bar is our first workbench view.

Dynamic status bar item (mock character count extension)

We plan to add an "action items bar" workbench view as part of RFC 250 (action items bar). We can also convert our panel view and add a sidebar workbench view as we complete our RFC 155 (extension API architecture) refactoring work.

Merge request reports

Loading