kvm/ui
Alex P 5a0100478b feat: add configurable max sessions and observer cleanup timeout
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.
2025-10-11 14:26:05 +03:00
..
public Update UI dependencies (#819) 2025-09-24 12:16:02 +02:00
src feat: add configurable max sessions and observer cleanup timeout 2025-10-11 14:26:05 +03:00
.env.cloud-development feat(cloud): Add custom cloud API URL configuration support (#181) 2025-02-25 16:10:46 +01:00
.env.cloud-production feat(cloud): Add custom cloud API URL configuration support (#181) 2025-02-25 16:10:46 +01:00
.env.cloud-staging feat(cloud): Add custom cloud API URL configuration support (#181) 2025-02-25 16:10:46 +01:00
.gitignore Release 202412292127 2024-12-29 21:27:42 +01:00
.prettierrc refactor: network settings UI (#486) 2025-05-20 15:22:08 +02:00
dev_device.sh network enhanecment / refactor (#361) 2025-04-16 01:39:23 +02:00
eslint.config.cjs Add ability to track modifier state on the device (#725) 2025-08-26 17:09:35 +02:00
index.html Update UI dependencies (#819) 2025-09-24 12:16:02 +02:00
package-lock.json upgrade ui packages (#861) 2025-10-01 21:43:46 +02:00
package.json upgrade ui packages (#861) 2025-10-01 21:43:46 +02:00
postcss.config.js chore: Upgrade UI vite and tailwind packages (#443) 2025-05-15 14:21:03 +02:00
tailwind.config.js chore(ui): Patch-bump packages and use tailwind upgrade (#456) 2025-05-16 19:59:57 +02:00
tsconfig.json chore(ui): Clean up warnings (#536) 2025-05-30 15:01:32 +02:00
tsconfig.node.json Release 202412292127 2024-12-29 21:27:42 +01:00
vite-env.d.ts Release 202412292127 2024-12-29 21:27:42 +01:00
vite.config.ts chore: enhance the gzip and cacheable handling of static files 2025-09-12 08:41:41 +02:00