clusev/resources/views/components
boban 0f57074e6f chore(audit): full code sweep — fix open-redirect, drop dead code, clean docs
Full-codebase audit + automatic cleanup (no behavioural change for users).

Security
- ServerSwitcher: post-switch redirect is now reduced to a SAME-ORIGIN
  relative path. Rejects off-host referers, non-http(s) schemes
  (javascript:/data:), different ports (https://host:444/x -> /x), and
  protocol-relative tricks (//host, /\host). Closes a Referer open-redirect
  (Codex P2).
- EditCredential: a key passphrase is stored only for key auth, never for
  password auth.

Removed dead code
- FirewallService::status/allow/deny (+ orphaned clampPort)
- Server::auditEvents(), SshCredential::scopeActive(), unused 'bell' icon

Cleanups / improvements
- Files list + editor use a dedicated 'file' icon (was the audit icon)
- Import RuntimeException/Throwable instead of FQN; fix stale docblocks
  (FirewallService, HardeningService) and the Files delete comment
- Quote base64 in the sudo command path (defensive, consistent)
- Null-safe Auth::user()?->email in Settings; single domain() read in hasTls()

Release
- Bump 0.1.0 -> 0.1.1 + CHANGELOG entry

Verified: Pint clean, Codex review clean (no actionable regressions),
R12 browser check — 9 routes HTTP 200, 0 console errors, lazy pages loaded.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 12:54:26 +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 fix(ux): editor click bug (@js→index), self-hosted fonts, split-brand auth, R14 2026-06-13 01:16:31 +02:00
icon.blade.php chore(audit): full code sweep — fix open-redirect, drop dead code, clean docs 2026-06-13 12:54:26 +02:00
kpi.blade.php style: align UI to the BASTION reference (atmosphere + depth) 2026-06-12 13:39:57 +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: v1 dashboard UI — app shell + component kit + mock fleet 2026-06-12 01:10:23 +02:00
sidebar.blade.php feat(security): dashboard hardening, credential mgmt, system domain/TLS + channel, self-hardening 2026-06-13 02:25:23 +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 style: align UI to the BASTION reference (atmosphere + depth) 2026-06-12 13:39:57 +02:00
status-pill.blade.php feat: v1 dashboard UI — app shell + component kit + mock fleet 2026-06-12 01:10:23 +02:00
topbar.blade.php feat(ux): real metrics+context, working file manager, settings redesign, EN routes 2026-06-13 00:32:05 +02:00