mirror of https://github.com/jetkvm/kvm.git
Add two new configurable session settings to improve multi-session management: 1. Maximum Concurrent Sessions (1-20, default: 10) - Controls the maximum number of simultaneous connections - Configurable via settings UI with validation - Applied in session manager during session creation 2. Observer Cleanup Timeout (30-600 seconds, default: 120) - Automatically removes inactive observer sessions with closed RPC channels - Prevents accumulation of zombie observer sessions - Runs during periodic cleanup checks - Configurable timeout displayed in minutes in UI Backend changes: - Add MaxSessions and ObserverTimeout fields to SessionSettings struct - Update setSessionSettings RPC handler to persist new settings - Implement observer cleanup logic in cleanupInactiveSessions - Apply maxSessions limit in NewSessionManager with proper fallback chain Frontend changes: - Add numeric input controls for both settings in multi-session settings page - Include validation and user-friendly error messages - Display friendly units (sessions, seconds/minutes) - Maintain consistent styling with existing settings Also includes defensive nil checks in writeJSONRPCEvent to prevent "No HDMI Signal" errors when RPC channels close during reconnection. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .env.cloud-development | ||
| .env.cloud-production | ||
| .env.cloud-staging | ||
| .gitignore | ||
| .prettierrc | ||
| dev_device.sh | ||
| eslint.config.cjs | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.js | ||
| tailwind.config.js | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite-env.d.ts | ||
| vite.config.ts | ||