- Updated user management to use socketId as the key, allowing multiple socket connections for the same guestId.
- Enhanced room participant handling to ensure correct socketId usage and prevent duplicate joins.
- Improved session end timer logic with clearer conditions for session status checks.
- Refactored functions for finding users and socketIds to streamline user retrieval and enhance readability.
- Removed deprecated session-server.rar file.
- Deleted the Nginx configuration file for stream.graff.estate.
- Updated bun.lock files in both client and session-server to include new dependencies and version updates.
- Added 'tree-kill' dependency to session-server for improved process management.
- Refactored process termination logic in session-server to utilize 'tree-kill' for reliable process termination.
- Introduced a new DemoPage component and added a corresponding route for it in the client application.
- Integrated appController into the server to manage application-related functionalities.
- Added support for launching applications without a graphical window using `-NOSPLASH` and `-NOWINDOW` flags.
- Improved process termination logic with a multi-step approach: soft termination, forced termination, and PowerShell fallback.
- Updated README to reflect new features and enhancements in process management.
- Introduced SessionInfoFloat component to display session details when a session is active.
- Updated session server logic to automatically transition sessions to "ending" status when their end time is reached.
- Improved process termination handling with enhanced error checking and fallback mechanisms.
- Refactored application stop logic to handle multiple processes more efficiently and added timeout management for process termination.
- Enhanced selectAvailableServer function to consider maxApps when selecting available servers for both stream and local sessions.
- Added dynamic import of serverService to avoid circular dependencies.
- Improved error messages for unavailable servers based on session type.
- Updated startApplication function to check session status before launching and handle session termination more gracefully.
- Ensured proper session management by processing ending sessions before starting new ones.
- Added react-hot-toast for improved user notifications in the application.
- Updated baseline-browser-mapping to version 2.9.2.
- Introduced maxInstances property in Session and App schemas to manage concurrent instances.
- Refactored server session handling to enforce instance limits and improve error messaging.
- Removed GPU memory management from server registration and session assignment logic for cleaner implementation.
- Enhanced error handling in session management with localized messages for better user experience.
- Changed VITE_API_URL and VITE_WEBRTC_URL in .env to point to local IP addresses.
- Added react-hot-toast for user notifications in the application.
- Integrated toast notifications for control acquisition in SessionPage.
- Enhanced PixelStreamingWrapper and SessionUsersPanel to manage control states for participants.
- Implemented grant and revoke control functionalities in the WebRTC service, allowing dynamic control management among users.
- Updated various components to reflect control states and improve user experience during sessions.
- Updated ActionsSidebarWrapper to accept a ref for improved positioning.
- Enhanced SessionUsersPanel with new props for participant management, including mute and disable video functionalities.
- Added vertical positioning option to ActionsPopover for better alignment.
- Modified QRCodePopup and SharePopup to include a second argument in setPopup for type differentiation.
- Refactored ControlButton and Tooltip components for improved accessibility and styling.
- Updated UserCamera to integrate ActionsPopover for participant controls, enhancing user interaction.
- Improved PopoverWrapper to handle dynamic positioning based on parent element.
- Adjusted UserDevicesControls for better layout consistency and responsiveness.
- Enhanced popup management in the popupStore to track popup types.
- Introduced UserCameraAvatar.png for user camera display.
- Updated SessionUsersPanel to accept a session prop, allowing for identification of local user as session organizer.
- Implemented logic to determine if participants are organizers based on session data.
- Adjusted admin control logic in UserCamera and UserCameraControls for better role management.
- Improved logging and conditional rendering in ParticipantItem and UserCamera components for enhanced debugging and user experience.