| .. |
|
Modals
|
feat(security): signed confirm-action tokens + airtight backup-code reveal
|
2026-06-15 18:35:33 +02:00 |
|
Settings
|
harden(auth): fold IPv4-mapped IPv6, dedupe unbanAll, limit bans render, forged-token test
|
2026-06-20 18:53:52 +02:00 |
|
AddSshKeyTest.php
|
feat(ssh-keys): name an added SSH key so it is identifiable
|
2026-06-25 00:53:49 +02:00 |
|
AuditLogDisplayTest.php
|
feat(audit): paginate the log + DB-wide search (v0.9.50)
|
2026-06-21 23:58:27 +02:00 |
|
AuditRetentionTest.php
|
feat(audit): configurable retention + scheduled clusev:prune-audit
|
2026-06-14 23:40:17 +02:00 |
|
BlockBannedIpMiddlewareTest.php
|
feat(auth): guests-only BlockBannedIp middleware + 403 page
|
2026-06-20 17:45:16 +02:00 |
|
BruteForceHardeningTest.php
|
fix(security): harden brute-force, rate-limiting and auth-DoS (audit follow-up)
|
2026-06-17 17:59:45 +02:00 |
|
BruteforceBannedIpTest.php
|
feat(auth): BannedIp model + migration
|
2026-06-20 17:26:28 +02:00 |
|
BruteforceGuardBanTest.php
|
harden(auth): fold IPv4-mapped IPv6, dedupe unbanAll, limit bans render, forged-token test
|
2026-06-20 18:53:52 +02:00 |
|
BruteforceGuardExemptTest.php
|
feat(auth): BruteforceGuard with inet_pton CIDR exemptions
|
2026-06-20 17:29:00 +02:00 |
|
BruteforceHooksTest.php
|
harden(auth): capture login IP once, assert 2fa-failed audit
|
2026-06-20 18:06:11 +02:00 |
|
ButtonComponentTest.php
|
feat(ui): uniform bordered button kit; retire ghost variants
|
2026-06-14 10:18:47 +02:00 |
|
ChallengeFactorAdaptTest.php
|
test(auth): cover TOTP+key challenge branch; clarify mount comment
|
2026-06-20 15:46:37 +02:00 |
|
CommandPaletteServerSearchTest.php
|
fix(services): live journal poll + command-palette server search
|
2026-06-14 20:13:08 +02:00 |
|
CommandShortcutsTest.php
|
docs: use the short `clusev` host-CLI aliases in the README
|
2026-07-02 21:26:42 +02:00 |
|
ConfirmServerScopeTest.php
|
feat(security): signed confirm-action tokens + airtight backup-code reveal
|
2026-06-15 18:35:33 +02:00 |
|
CreateServerTest.php
|
feat(servers): verify SSH on create + start in "Initialisierung"
|
2026-06-14 10:26:15 +02:00 |
|
DashboardAuditTest.php
|
fix(security): keep internal IPs out of shipped code and docs/ out of the public image
|
2026-07-04 10:25:10 +02:00 |
|
EmailResetTest.php
|
fix(security): constant-time password-reset (flatten account-enumeration timing)
|
2026-06-15 19:16:30 +02:00 |
|
ExternalTlsModeTest.php
|
fix(deploy): apply Caddyfile changes on update (dir mount + recreate)
|
2026-06-19 20:57:42 +02:00 |
|
Fail2banBansModalTest.php
|
feat(fail2ban): lazy-load Gesperrte IPs modal behind a skeleton
|
2026-06-15 03:05:35 +02:00 |
|
FileEditorBinaryTest.php
|
fix(files): binary file content no longer breaks the Livewire snapshot (v0.9.54)
|
2026-06-22 05:49:05 +02:00 |
|
FirstFactorCodesTest.php
|
fix(2fa): bound the backup-code reveal flag with a 10-minute TTL
|
2026-06-15 18:42:58 +02:00 |
|
FleetTestConnectionTest.php
|
feat(ssh): add FleetService::testConnection credential probe
|
2026-06-14 10:24:42 +02:00 |
|
ForgotPasswordKeyOnlyTest.php
|
feat(2fa): forgot-password is key-only safe + states the no-2FA recovery path
|
2026-06-14 21:26:59 +02:00 |
|
ForgotPasswordSmtpAwareTest.php
|
feat: short clusev commands in versions panel, lang strings, MOTD
|
2026-06-19 23:18:25 +02:00 |
|
ForgotPasswordTest.php
|
fix(auth): rotate remember_token on reset + atomic recovery-code use
|
2026-06-14 17:04:12 +02:00 |
|
ForgotPasswordTimingTest.php
|
fix(security): flatten reset-timing residuals from Codex review
|
2026-06-15 19:43:40 +02:00 |
|
HardeningServiceTest.php
|
fix(hardening): fail2ban — pin the sshd jail to the systemd backend
|
2026-06-25 01:14:06 +02:00 |
|
HelpPageTest.php
|
feat: help tab-URL + Commands/CLI topic + short command copy
|
2026-06-19 23:06:45 +02:00 |
|
HelpWireguardTopicTest.php
|
feat(wg): WireGuard help topic (registration + DE/EN content + test)
|
2026-06-20 22:46:04 +02:00 |
|
InstallCommandTest.php
|
security: generate a random install password instead of the literal 'clusev'
|
2026-07-02 19:33:52 +02:00 |
|
MetricHistoryTest.php
|
refactor(metrics): interactive history chart — smooth, area, tooltip, instant ranges
|
2026-06-25 01:51:24 +02:00 |
|
MultiUserTest.php
|
feat(accounts): let the operator set a new user's password directly
|
2026-06-25 20:29:15 +02:00 |
|
OnboardingTourTest.php
|
feat(onboarding): first-run spotlight tour — dimmed backdrop, sidebar highlights, relaunchable
|
2026-07-02 20:00:19 +02:00 |
|
OptionalOnboardingTest.php
|
feat(auth): make password rotation optional + correct the 2FA copy
|
2026-06-25 19:47:17 +02:00 |
|
PersistentSecurityGateTest.php
|
fix(security): register EnsureSecurityOnboarded as persistent Livewire middleware
|
2026-06-14 22:40:31 +02:00 |
|
PipelineStatusTest.php
|
refactor(release): drop the test-server step — pipeline is build readiness only
|
2026-06-23 02:46:17 +02:00 |
|
PromotionServiceTest.php
|
feat(release): remove the no-op channel selector + dead beta→stable promotion (single stable channel)
|
2026-07-03 20:43:15 +02:00 |
|
RbacFleetGateTest.php
|
feat(rbac): gate fleet, host terminal + domain/TLS actions (manage-fleet/operate/manage-panel)
|
2026-07-05 01:01:24 +02:00 |
|
RbacNetworkGateTest.php
|
feat(rbac): gate network + panel actions (manage-network/manage-panel)
|
2026-07-05 00:52:09 +02:00 |
|
RbacOperateGateTest.php
|
feat(rbac): gate service + file mutations behind operate (viewer read-only)
|
2026-07-05 01:06:06 +02:00 |
|
RbacUsersTest.php
|
feat(rbac): user-management roles UI — role badge, selector, role-change with last-admin guard
|
2026-07-05 01:15:32 +02:00 |
|
RecoveryCodesModalTest.php
|
style: pint --test fixes (CI pint step now reachable after the test fix)
|
2026-06-23 02:29:59 +02:00 |
|
ReleaseBridgeTest.php
|
fix(release): genuine rollback-path test + install/gitignore hardening (review)
|
2026-06-23 00:16:22 +02:00 |
|
ReleaseCheckerChannelTest.php
|
feat(release): collapse to a single stable channel
|
2026-07-03 20:00:50 +02:00 |
|
ReleaseCheckerTest.php
|
chore(release): remove every 'gitea' reference from the public tree (comments, test fake-host, redundant ignore)
|
2026-07-03 19:54:20 +02:00 |
|
ReleaseGatingTest.php
|
fix(release): gate the /release route on the flag (spec gating triple)
|
2026-06-22 23:48:17 +02:00 |
|
ReleasePageTest.php
|
feat(release): remove the no-op channel selector + dead beta→stable promotion (single stable channel)
|
2026-07-03 20:43:15 +02:00 |
|
ResetAdminCommandTest.php
|
fix(webauthn): counter zero only when stored is zero + CLI clears keys
|
2026-06-14 18:47:07 +02:00 |
|
RestartSentinelTest.php
|
feat(system): auto-restart sentinel — one-click restart via host watcher (no docker socket)
|
2026-06-14 23:42:50 +02:00 |
|
RoleFoundationTest.php
|
feat(rbac): role enum + column + gates foundation (admin>operator>viewer)
|
2026-07-05 00:42:16 +02:00 |
|
ServerContextSyncTest.php
|
fix(ui): set active server at mount only (race-free)
|
2026-06-14 19:43:24 +02:00 |
|
ServerShowPanelsTest.php
|
fix(servers): keep read-error panels visible + pending header support
|
2026-06-14 10:41:04 +02:00 |
|
ServerShowSshHintTest.php
|
feat(servers): hint that disabling password login leaves key-only access
|
2026-06-14 10:30:07 +02:00 |
|
ServicesJournalPollTest.php
|
fix(services): cap live journal at 200 rows in a scrollable, auto-sticking box
|
2026-06-14 20:58:48 +02:00 |
|
SessionManagementTest.php
|
feat(security): signed confirm-action tokens + airtight backup-code reveal
|
2026-06-15 18:35:33 +02:00 |
|
SettingsFactorManagementTest.php
|
feat(security): signed confirm-action tokens + airtight backup-code reveal
|
2026-06-15 18:35:33 +02:00 |
|
SmtpConfigTest.php
|
feat(mail): SMTP configuration in Settings (encrypted password, runtime override, test-send)
|
2026-06-14 23:42:19 +02:00 |
|
SshKeyProvisionModalTest.php
|
fix(ssh): best-effort audit + exception-safe switch/verify and modal run(); lock serverId
|
2026-06-14 22:16:54 +02:00 |
|
SshKeyProvisionerTest.php
|
fix(ssh): graceful failure if password-disable throws post-switch; document privateKey-on-failure contract
|
2026-06-14 22:04:56 +02:00 |
|
StatusComponentTest.php
|
feat(ui): add "Initialisierung" (pending) server status
|
2026-06-14 10:20:32 +02:00 |
|
TerminalTest.php
|
security: pin the SSH host key in the terminal sidecar (fail-closed)
|
2026-07-02 19:33:53 +02:00 |
|
TlsCertificateRequestTest.php
|
feat(tls): dashboard "request certificate" button (trigger Caddy on-demand TLS)
|
2026-06-17 18:38:21 +02:00 |
|
TlsModeToggleTest.php
|
feat(security): signed confirm-action tokens + airtight backup-code reveal
|
2026-06-15 18:35:33 +02:00 |
|
TwoFactorBackupTest.php
|
polish(auth): distinct backup page title, autocomplete off, empty-code test
|
2026-06-20 15:38:38 +02:00 |
|
TwoFactorChallengeRecoveryTest.php
|
feat(auth): accept a 2FA backup code at the login challenge
|
2026-06-14 16:50:36 +02:00 |
|
TwoFactorWebauthnTest.php
|
feat(webauthn): use a security key at the login challenge
|
2026-06-14 18:26:58 +02:00 |
|
UnbanCommandTest.php
|
feat(auth): clusev:unban CLI + host wrapper escape hatch
|
2026-06-20 18:07:43 +02:00 |
|
UpdateProgressTest.php
|
chore(release): remove every 'gitea' reference from the public tree (comments, test fake-host, redundant ignore)
|
2026-07-03 19:54:20 +02:00 |
|
UserFactorSemanticsTest.php
|
feat(2fa): pluggable factor semantics on User (hasTotp, either-factor, resetIfNoFactor)
|
2026-06-14 20:38:36 +02:00 |
|
UserRecoveryCodesTest.php
|
feat(auth): store 2FA recovery codes (encrypted) on users
|
2026-06-14 16:48:21 +02:00 |
|
ValidIpOrCidrTest.php
|
feat(auth): ValidIpOrCidr validation rule
|
2026-06-20 17:42:06 +02:00 |
|
ValidationMessagesTest.php
|
feat(i18n): custom bilingual validation messages (DE + EN)
|
2026-06-14 15:45:02 +02:00 |
|
VerifyTotpTest.php
|
fix(2fa): TwoFactorSetup back to auth layout; exception-safe User::verifyTotp at all call sites
|
2026-06-14 21:40:15 +02:00 |
|
VersionUpdateCheckTest.php
|
feat(release): collapse to a single stable channel
|
2026-07-03 20:00:50 +02:00 |
|
VersionsChangelogTest.php
|
fix(versions): keep the changelog series stable on reload (0.10 -> 0.1 bug)
|
2026-06-25 02:15:41 +02:00 |
|
WebauthnAvailableTest.php
|
fix(webauthn): enable security keys behind an external TLS proxy
|
2026-06-19 21:11:20 +02:00 |
|
WebauthnCredentialTest.php
|
feat(webauthn): install web-auth/webauthn-lib + credential storage
|
2026-06-14 18:18:05 +02:00 |
|
WebauthnKeysTest.php
|
feat(security): signed confirm-action tokens + airtight backup-code reveal
|
2026-06-15 18:35:33 +02:00 |
|
WebauthnOptionsTest.php
|
fix(webauthn): add security-key hint so passkey managers defer
|
2026-06-19 21:30:52 +02:00 |
|
WgBridgeTest.php
|
feat(wg): set WireGuard up from the dashboard (setup form + bridge action)
|
2026-06-21 08:09:35 +02:00 |
|
WgSampleCommandTest.php
|
feat(wg): clusev:wg-sample command (sample peers + prune) + schedule
|
2026-06-21 00:00:06 +02:00 |
|
WgStatusTest.php
|
feat(wg): WgStatus reader + auth-gated /wg-status.json route
|
2026-06-20 23:32:44 +02:00 |
|
WgTrafficSampleTest.php
|
feat(wg): wg_traffic_samples table + model
|
2026-06-20 23:59:11 +02:00 |
|
WgTrafficTest.php
|
fix(wg): WgTraffic up = throughput delta (not raw tx) — consistent with down
|
2026-06-21 00:04:07 +02:00 |
|
WireguardPageTest.php
|
fix(security): keep internal IPs out of shipped code and docs/ out of the public image
|
2026-07-04 10:25:10 +02:00 |