Include org static background images in meet virtual backgrounds
Fetch backgroundImageCount from the org's theme config.json and generate URLs for /img/bg/{n}.webp so org-level static backgrounds appear alongside meet-specifi...
Add public config and backgrounds endpoints for sidecar consumption
GET /api/meet/public-config?domain= returns org meet config by domain. GET **************** returns combined virtual backgrounds. Both endpoints are unauthentic...
Add config CRUD, background management, and org-theme endpoints
All endpoints enforce MANAGE_MEET_SETTINGS privilege. Config auto-creates with defaults on first access per org. Background uploads go to MinIO with SHA-256 has...
Implement chat WebSocket and email invite sending for meetings
MeetController now reads sendChatInvite, sendEmailInvite, and customMessage from the create request body and triggers async invite sending. MeetService.sendInv...
Add GET /api/meet/exists/{roomName} endpoint for anonymous room validation
Add MeetConfigController and MeetConfigService for org-level meet settings
REST endpoints for CRUD on OrgMeetConfig and MeetBackground entities. Supports config get/update, background upload/delete/reorder via MinIO storage.
Add MeetController and MeetService for meeting creation and invite management
Add unread count API endpoint, mark-as-read endpoint, and WebSocket broadcast
- GET /api/media/sessions/chat/unread returns per-session and per-sender unread counts - PUT /api/media/sessions/{guid}/read marks a session as read for current...
Add PRE_TICKET creation and convert-to-ticket endpoint
- createTicket: when preTicket=true, sets status to PRE_TICKET, skips assignment (no title required) - PUT /tickets/{id}/convert: converts PRE_TICKET to NEW, ...
Add support ticket services, REST controllers, and STOMP relay
Implements the MediaService backend for the support ticket system: - SupportTopicService: CRUD for org-scoped support topics - SupportAssignmentService: round-r...
Adăugați autentificare WebSocket prin intermediul *** interceptor de strângere de mână cookie
Adăugați WebSocketAuthInterceptor care citește *** cookie pe strângere de mână, rezolvă sesiunea prin intermediul KSessionService și stochează membruId/orgId în...
Publică notificările de mesaj primite către membrul țintă WebSocket topic
Adaugă criteriul final al bătăilor inimii prezenţei şi prezenţa în vrac REST API
Adăugați urmărirea prezenței cu hash Redis și deconectarea perioadei de grație
Adăugaţi JanusService pentru integrarea portalului WebRTC - Adăugaţi serviciul Java JanusService pentru interacţionarea cu Janus WebRTC Gateway API - Configuraţi URL-ul Janus API, secretele şi serverele STUN/TURN în aplicaţie. yml - Crearea sesiunii de sprijin, atașament plugin, și gestionarea camerei
Adăugați logare EXTENSIV la WebSocketConfig și ChatWebSocketController - fiecare cadru STOMP, strângere de mână, abonament, și mesaj autentificat
Add TomcatConnectorCustomizer to force SSL keystore config
- Spring Boot's application.yml SSL config not being applied - Use TomcatConnectorCustomizer to programmatically set keystore - Forces connector to use /etc/ssl...
Expose MediaService on port 8443 for WebSocket over HTTPS/HTTP1.1
- Added NodePort service on 8443 for direct WebSocket access (bypasses Traefik) - Mount wildcard-kamocrm-com SSL certificate - Init container converts PEM to PK...
Add CORS middleware to media-route for cross-origin WebSocket
- Added cors middleware to allow cross-origin connections - Enables WebSocket connections from internal.* to media.* - Allows all origins, methods, and headers ...
Add WebSocket signaling for peer-to-peer calls
- Added WebRTCSignalingController for call signaling - Handles offer/answer exchange via STOMP - Forwards ICE candidates between peers - Manages call hangup not...
Add Janus WebRTC integration
- Added WebRTCController for token generation and call management - Configured Janus API URL and secrets (api, token, admin) - Configured STUN/TURN servers (kam...
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.