Skip to main content

Changelog

Every improvement, automatically tracked from our commit history.

Subscribe via Atom feed
← Prev Page 3 of 117 Next →
March 1, 2026
patch Desktop Shell

Add IDataMetricsProvider to Dashboard and Graph plugins

Desktop 1.70.0 | d242c1a1
Details

Dashboard and Graph were the only plugins without any capability

interface implementations, so they never appeared in the Dashboard

Data tab's plugin metrics list.

Dashboard:

  • Implements IDataMetricsProvider via partial class
  • Reports subsystem count from SubsystemTracker as runtime metrics
  • Version bump: 1.5.1 → 1.5.2

Graph:

  • Implements IDataMetricsProvider via partial class
  • Reports cached graph node and edge counts as runtime metrics
  • Version bump: 1.1.0 → 1.1.1

Note: Build may fail at this commit due to concurrent in-progress

work by another session — will be resolved in a subsequent commit.

patch Desktop Shell

Split Dashboard into separate tab UserControls

Desktop 1.70.0 | 23398571
Details

Extract Overview, Data, and Subsystems tabs from the monolithic

DashboardView.axaml (~1035 lines) into three independent UserControls.

A single ContentControl in the star row now swaps between lazily-created

and cached tab controls, ensuring only one tab exists in the visual tree

at a time. This eliminates the persistent scroll/layout bugs caused by

three competing elements sharing one Grid star cell with IsVisible toggling.

  • DashboardOverviewTab: marketplace grid, category pills, stat cards,

responsive grid sizing handler, category-pill + plugin-action styles

  • DashboardDataTab: storage metrics, plugin data tables, DB diagnostics
  • DashboardSubsystemsTab: subsystem groups with live metrics
  • DashboardView.axaml slimmed to ~110 lines (toolbar + ContentControl)
  • Code-behind uses Dictionary<DashboardTab, Control> cache with

PropertyChanged listener for instant tab switching

  • No ViewModel changes — all tabs inherit DataContext from ContentControl
  • Version bump: 1.5.0 → 1.5.1
patch Desktop Shell

Move scroll spacing from ScrollViewer.Padding to content Margin

Desktop 1.70.0 | 7ceaccf7
Details

ScrollViewer.Padding shrinks the viewport, reducing visible content

area. Move the spacing to Margin on the inner StackPanel instead —

this adds the spacing as part of the scrollable content extent, so

the 80px bottom space is scrollable buffer rather than viewport

reduction.

patch Desktop Shell

Increase Dashboard scroll bottom padding to 80px

Desktop 1.70.0 | 7252decf
Details

Match the Data tab's bottom padding (80px) on Overview and Subsystems

tabs. The 32px padding from the earlier commit was insufficient to

buffer against the content area overflow, leaving the last items

partially clipped at the window boundary.

patch Desktop Shell

Restructure title bar: overlay spacer + margin-based content offset

Desktop 1.70.0 | 666bbfd0
Details

The title bar spacer was a Grid row that consumed space from inside the

Grid, but the Grid still received the full ClientSize.Height as its

available height. This meant the star row (content) was sized relative

to the Grid's internal space, not the actual visible window area.

Changed approach:

  • TitleBarSpacer is now a visual overlay (VerticalAlignment=Top, ZIndex)

that paints the background behind macOS traffic lights but does NOT

participate in the content Grid layout

  • Content Grid uses Margin="0,28,0,0" which causes Panel.ArrangeOverride

to give it (ClientSize.Height - 28) as its arranged height

  • Grid RowDefinitions simplified to "Auto,*" (banner + content)

This ensures the content Grid's star row is sized to exactly the visible

area below the title bar, with no ambiguity about how the 28px offset

is applied.

← Prev Page 3 of 117 Next →

Get notified about new releases