clusev/resources/views/components
boban 44d4046526 fix(services): live journal poll + command-palette server search
Journal was a one-time snapshot mislabeled "journalctl -f": it loaded the last
N lines once and never refreshed, so it was neither live nor complete.

- FleetService: `journalctl --show-cursor` + new journalSince() reads only entries
  after the stored journald cursor (no gaps, no dup appends), capped to a bounded
  live tail; parseJournal split into splitJournalCursor + parseJournalLines.
- Services\Index: pollJournal() (wire:poll.5s) appends new entries since the cursor
  and caps retained rows at 300 (fetch ceiling == display ceiling).
- Honest labels: drop the misleading "-f"; badge stays "live" (now true).

Command palette (Strg/⌘ K) can now jump to a server: the fleet feeds the Alpine
cmdk x-data; servers surface only while searching, matched on name OR IP, and
selecting one navigates to /servers/<uuid>.

Cursor is validated (^[a-z0-9;=]+$) and single-quoted before the remote shell —
no injection (Codex-reviewed: no P1, no security findings). Removes stock
ExampleTest (asserted 200 on an auth-gated route → always 302).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 20:13:08 +02:00
..
.gitkeep feat: scaffold — Dockerized Laravel 13 + Livewire 3 + Tailwind 4 + Reverb 2026-06-12 00:31:50 +02:00
badge.blade.php feat: v1 dashboard UI — app shell + component kit + mock fleet 2026-06-12 01:10:23 +02:00
btn.blade.php feat(ui): uniform bordered button kit; retire ghost variants 2026-06-14 10:18:47 +02:00
command-palette.blade.php fix(services): live journal poll + command-palette server search 2026-06-14 20:13:08 +02:00
icon.blade.php feat(ux): command palette (Strg/⌘-K) + keyboard shortcuts 2026-06-13 20:38:22 +02:00
kpi.blade.php style: align UI to the BASTION reference (atmosphere + depth) 2026-06-12 13:39:57 +02:00
lang-switch.blade.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00
metric.blade.php feat: reference-depth dashboard (sparkline KPIs + live dual chart + table) 2026-06-12 14:44:11 +02:00
nav-item.blade.php style: align UI to the BASTION reference (atmosphere + depth) 2026-06-12 13:39:57 +02:00
panel.blade.php style: align UI to the BASTION reference (atmosphere + depth) 2026-06-12 13:39:57 +02:00
ring.blade.php fix(live): poll-driven metrics (chart + gauges), bigger donuts, drop fake fleet 2026-06-12 22:38:51 +02:00
server-item.blade.php feat(ui): add "Initialisierung" (pending) server status 2026-06-14 10:20:32 +02:00
sidebar.blade.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00
skeleton.blade.php perf+ux: lazy-load pages (skeletons), fix modal, normalize buttons + spinners 2026-06-12 23:17:02 +02:00
status-dot.blade.php feat(ui): add "Initialisierung" (pending) server status 2026-06-14 10:20:32 +02:00
status-pill.blade.php feat(ui): add "Initialisierung" (pending) server status 2026-06-14 10:20:32 +02:00
topbar.blade.php fix(blade): garbled header on every signed-in page + private metrics channel (v0.4.1) 2026-06-14 08:34:07 +02:00