add autologout session
Tests / PHPUnit (push) Failing after 35s

This commit is contained in:
root
2026-07-30 01:15:53 -04:00
parent 81a72a4c59
commit 8d7ee3b9fc
10 changed files with 138 additions and 58 deletions
+6
View File
@@ -80,6 +80,12 @@ class Filters extends BaseConfig
// Badge PDF generation posts (handled by auth; allow multiple submits without reload)
'badge',
'index.php/badge',
// Session keep-alive endpoint updates only the current browser session.
'session/ping',
'index.php/session/ping',
'session/ping-activity',
'index.php/session/ping-activity',
]],
],
'after' => [
+2
View File
@@ -288,7 +288,9 @@ $routes->get('ui/style', 'View\UiController::style');
//Timeout page after timeout
$routes->get('session/get-timeout-config', 'View\SessionTimeoutController::getTimeoutConfig');
$routes->get('session/check-timeout', 'View\SessionTimeoutController::checkTimeout');
$routes->post('session/ping-activity', 'View\SessionTimeoutController::pingActivity');
$routes->post('session/ping', 'View\SessionTimeoutController::pingActivity');
+5 -5
View File
@@ -4,14 +4,14 @@ namespace Config;
class SessionTimeout
{
// Session timeout in seconds (12 hours)
public const TIMEOUT_DURATION = 43200;
// Session timeout in seconds (30 minutes)
public const TIMEOUT_DURATION = 1800;
// Warning threshold in seconds (5 minutes before timeout)
public const WARNING_THRESHOLD = 42900;
// Show warning after 25 minutes of inactivity (5 minutes before timeout)
public const WARNING_THRESHOLD = 1500;
// Server-side check interval (in seconds)
public const CHECK_INTERVAL = 300; // 5 minutes
public const CHECK_INTERVAL = 60; // 1 minute
// Client-side check interval (in milliseconds)
public const CLIENT_CHECK_INTERVAL = 60000; // 1 minute