DevBerth v0.1.10
What changed
#34 — Fix Projects scrolling performance
What changed
- Build value-type project and managed-service presentation snapshots once per Projects view update instead of rebuilding configurations as lazy List sections enter the viewport.
- Precompute activity, runtime, dependency, port, Docker, failure, and operation presentation data before scrolling.
- Consolidate secondary project controls into one Project Actions menu while preserving discovery, manifest export, service assignment, Finder, Terminal, and repository actions.
Why
Projects scrolling repeatedly filtered every SwiftData query, decoded each managed-service configuration, scanned runtime listeners, and constructed two AppKit popup hierarchies per project as rows entered the viewport. On the current production dataset, a matched 15-second Instruments trace recorded 16 microhangs from 255–437 ms and one 2.05-second severe main-thread hang.
Impact
Projects scrolling no longer reconstructs domain configurations or project sections on viewport entry. The matched after trace recorded zero hangs, and four 8-page down/up passes completed in 3.7 seconds instead of 28.5 seconds.
Validation
- Release build installed to
/Applications/DevBerth.appwith the matching MCP helper. - Production-data UI inspected with the installed app; service states, ports, topology, and actions remained available.
- Instruments Time Profiler before/after traces captured against the exact installed production executable and dataset.
- Full macOS test suite: 218 passed, 0 failed, 0 skipped, 0 expected failures.
Release provenance
- Merge commit:
f4409adc240a9c96c33c23fa4cb63b5341811067 - Pull request: #34
- Compare v0.1.9...v0.1.10
This is a source-project release. It does not include a signed or notarized app binary.