turnstone/web/src
pyr0ball 3ebdd4aef0 feat: live watch mode — tail journald/docker/podman sources continuously (#4)
Adds background watcher that tails active log sources and ingests entries
in near-real-time, keeping the DB fresh without manual ingest runs.

- app/watch/watcher.py: Watcher + WatchSource using subprocess + select
  loop; flushes every 10s or 100 lines; syncs FTS index every 3 flushes
- patterns/watch.yaml: declarative source config (journald/docker/podman)
- app/rest.py: lifespan context manager starts/stops watcher on app
  startup/shutdown; GET /api/watch/status + POST /api/watch/reload
- web/src/views/DashboardView.vue: live/manual indicator chip + stale
  banner copy adapts to whether live watching is active
- tests/test_watch_watcher.py: 16 tests covering config load, command
  building, docker timestamp stripping, orchestrator lifecycle

Closes #4
2026-05-11 15:34:13 -07:00
..
components feat: LLM reasoning layer — Ollama summarization on diagnose results 2026-05-11 11:35:07 -07:00
router feat: wire QuickCaptureBar/FAB into App.vue, add Settings route 2026-05-11 09:25:49 -07:00
stores feat: Vue 3 frontend and FastAPI REST layer 2026-05-08 16:27:59 -07:00
style feat: dark/light theme — CSS variables, OS preference, toggle button 2026-05-09 16:20:07 -07:00
views feat: live watch mode — tail journald/docker/podman sources continuously (#4) 2026-05-11 15:34:13 -07:00
App.vue feat: wire QuickCaptureBar/FAB into App.vue, add Settings route 2026-05-11 09:25:49 -07:00
main.ts feat: dark/light theme — CSS variables, OS preference, toggle button 2026-05-09 16:20:07 -07:00
vite-env.d.ts feat: Vue 3 frontend and FastAPI REST layer 2026-05-08 16:27:59 -07:00