Skip to content

v0.1.16

Latest

Choose a tag to compare

@markusstephany markusstephany released this 14 Sep 21:12

Fixed

Follow-up to v0.1.15's compiled-build and multi-project-solution support, found and fixed while running the panel against a real solution end to end:

  • Status indicator debounced. A single not-alive reading (noise from a slow relay hop on a remote connection, e.g. Nabu Casa) no longer flips the panel to red by itself; two readings in a row (~20s) does, filtering one-off blips while a real outage still shows within ~20s.
  • Rebuild/Rollback/CodegenApp's process spawning is now genuinely async, instead of blocking a thread-pool worker for the whole subprocess lifetime — a long Rebuild could previously starve StatusApp's own heartbeat timer.
  • Trace icons matched by domain folder (the kebab-case of apps/<Domain>/, matching a solution's own trace-key convention), not by class filename — the old per-file matching broke once a solution's class names (XAdapter.cs) stopped matching its own trace key (x). Falls back to the old file-slug match for a flat apps/ layout. (Needed a matching fix to allow hyphens in the trace-id validation too.)
  • bin/obj hidden from the default tree view, same as any non-.cs file — "show all files" still reveals it. Previously visible unconditionally, and its own MSBuild-generated files (paths containing "generated") could confuse the panel's generated-entities detection into treating them like the real thing.
  • isGenerated() now matches the actual filename (HomeAssistantGenerated.cs) instead of any path containing "generated".
  • CodegenApp finds and regenerates the existing HomeAssistantGenerated.cs in place, wherever it actually lives (namespace included, read back from that file) — instead of assuming the fixed apps/Generated/ path and namespace, which silently corrupted a differently-placed file's namespace on regenerate.
  • Toggle/trace/regenerate button promotion now correctly lands on the actual owning apps/<Domain>/ folder, never on apps/ itself or the tree root, in every case (single generated-entities file, deeply nested class file, etc.).
  • Reload now shares the busy lock with Rebuild/Rollback/the mode switch — clicking it mid-Rebuild could previously restart into a half-promoted build.
  • Rebuild button is only shown once already running compiled, not as a workaround to bootstrap the first-ever compiled build from source mode (which silently switched you to compiled once done — confusing on its own). The Source→Compiled switch now handles that bootstrap case directly: attempting to switch with nothing built yet offers to build right there, and only switches once that succeeds.
  • Regenerate-entities success message is mode-aware: "reload to apply" was only ever true in source-deploy mode; compiled mode needs an actual Rebuild.
  • Rebuild failures now show the actual compiler error log in the panel instead of just a generic "dotnet build failed." reason.