-
released this
2026-05-11 09:53:25 -07:00 | 138 commits to main since this releaseWhat's New
Frictionless Incident Capture
Capture homelab incidents in seconds without remembering exact timestamps.
- NL time extraction — describe what happened naturally ("disk errors around 3pm", "memory spike this morning"); Turnstone extracts the time and builds a ±30-min log window automatically. Falls back to last 60 minutes when no time phrase is found.
- Quick Capture tab — single input field in the Diagnose view. Type a description, get a ranked log stream with severity breakdown, save as an incident with one click.
- Quick Capture Bar — persistent bar below the nav for always-on capture without leaving the current page.
- Quick Capture FAB — fixed bottom-right button (⚡) with an overlay for muscle-memory capture anywhere in the app.
- Structured tab — the full incident form is now the second tab in Diagnose; IncidentsView is list-only.
- Settings — toggle between topbar and FAB entry point styles; preference persisted via
preferences.json.
Changelog
feat: add diagnose service with NL time extraction via dateparserfix: correct time_detected logic, immutable sort pattern, add diagnose() testfeat: add POST /api/diagnose and GET/PATCH /api/settings endpointsfeat: add QuickCapture and IncidentForm componentsfeat: add QuickCaptureBar and QuickCaptureFab entry point componentsfix: surface save errors in QuickCapture via error.valuefeat: add Quick/Structured tabs to DiagnoseViewrefactor: remove incident form from IncidentsView — now in DiagnoseView Structured tabfeat: add SettingsView with entry point style togglefeat: wire QuickCaptureBar/FAB into App.vue, add Settings route
Downloads
-
Source code (ZIP)
13 downloads
-
Source code (TAR.GZ)
16 downloads