clusev/lang/de
boban c6597be59e feat(audit): paginate the log + DB-wide search (v0.9.50)
The audit log loaded the latest 50 entries and filtered them in memory, so it
couldn't grow and search only spanned those 50. Now it is paginated (25/page)
with the page deep-linked in the URL via Livewire WithPagination (?page=), and
the search runs in SQL across the whole history — matching actor / action code /
target / server name AND the readable labels (a term is translated to the action
codes whose localized label contains it, so "Endpoint geändert" still finds
wg.set-endpoint). Pagination control mirrors the changelog's windowed pager.

Tests: 25/page with page 2 overflow, search resets to page 1, search filters in
SQL across all pages (a match on page 2 surfaces when filtered). 365 pass, Pint
clean, /audit loads 200 with no console errors, audit lang parity 62/62.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 23:58:27 +02:00
..
accounts.php feat(accounts): multi-user admin management — create (temp pw), list, remove, force-logout 2026-06-14 23:39:34 +02:00
audit.php feat(audit): paginate the log + DB-wide search (v0.9.50) 2026-06-21 23:58:27 +02:00
auth.php i18n(auth): drop orphaned 2FA recovery hint strings 2026-06-20 15:47:26 +02:00
backend.php feat(ssh): SshKeyProvisioner — generate+install key, verify, switch credential, then disable password (rollback-safe) 2026-06-14 21:57:45 +02:00
common.php feat(webauthn): use a security key at the login challenge 2026-06-14 18:26:58 +02:00
dashboard.php feat(i18n): bilingual foundation (DE/EN) + localize auth/dashboard/servers/fleet/account 2026-06-13 22:36:16 +02:00
errors.php feat(auth): guests-only BlockBannedIp middleware + 403 page 2026-06-20 17:45:16 +02:00
files.php feat(branding): favicons + PWA manifest, and custom branded error pages 2026-06-14 15:27:49 +02:00
help.php feat(wg): WireGuard help topic (registration + DE/EN content + test) 2026-06-20 22:46:04 +02:00
mail.php fix(security): harden brute-force, rate-limiting and auth-DoS (audit follow-up) 2026-06-17 17:59:45 +02:00
modals.php feat(security): signed confirm-action tokens + airtight backup-code reveal 2026-06-15 18:35:33 +02:00
servers.php feat(servers): move fail2ban banned-IP list into a scrollable modal 2026-06-14 23:10:36 +02:00
services.php fix(services): live journal poll + command-palette server search 2026-06-14 20:13:08 +02:00
sessions.php feat(sessions): database sessions + list/revoke (other devices, per-user, global) with remember-token rotation 2026-06-14 23:34:00 +02:00
settings.php feat(auth): Anmeldeschutz settings tab + unban confirm flow 2026-06-20 18:13:12 +02:00
shell.php feat(wg): /wireguard live-status page (read-only) + nav (DE/EN) 2026-06-20 23:35:58 +02:00
system.php feat: short clusev commands in versions panel, lang strings, MOTD 2026-06-19 23:18:25 +02:00
update.php feat(versions): professional update phase labels, responsive update card, changelog accordion 2026-06-20 20:40:35 +02:00
validation.php feat(i18n): custom bilingual validation messages (DE + EN) 2026-06-14 15:45:02 +02:00
versions.php feat(versions): show the available release's changelog before updating (v0.9.49) 2026-06-21 23:48:37 +02:00
wireguard.php ux(wg): endpoint field is host-only (no apparent double port) (v0.9.47) 2026-06-21 23:25:44 +02:00