Imaging proxy with HTTP Range support and per-member download tracking
On-demand translation for chat and support messages
Captures the source language for every chat / support message and adds an optional ?lang=XX param on the message-fetch endpoints plus a per-message POST /transl...
エージェントの読み込みと訪問者の送信で配信停止数+未読
-************************ に委任されました *****************************************************************************************************************************...
SockJS と一緒に /ws/public-chat-native plain WebSocket エンドポイントを追加
/ws/public-chat-nativeでSockJSなしで2番目のSTOMPエンドポイントを登録する フロントエンドは、必要に応じてネイティブWebSocket(brokerURL)と接続できます sockjs-client ライブラリは、アンロードハンドラを登録し、 サイトマップ 元の /ws/public-c...
訪問者メッセージのエージェントに未読のカウントをブロードキャスト
訪問者がサポートメッセージを送信した後、最新の未読アカウントを押します ****************************************************************************************************************************...
訪問者の地探査で都市とサブディビジョンを公開
- 都市とサブディビジョンフィールドでジオ結果レコードを拡張する - スイッチサポートTicketService.toDTO()を使用してGeoLookupService(IPレベル 参照) 国のみのジオロケーションリポジトリではなく、都市や サブディビジョンは、マッチングGeoLiteブロックからポップアップします
訪問者のフラグとサポートチケットヘッダの場所を表示
- PublicChatVisitorRepository と GeoLiteLocationRepository を SupportTicketService に注入する - 訪問者をポップアップ表示するIpAddress、VisitorCountryCode、toDTO()のVisitorCountryNameは、...
STOMP/NATS 経由でエンドツーエンドのパブリックチャットをリアルタイムに修正
- PublicChatWebSocketInterceptorから内部Auth要件を削除 訪問者はセッショントークンのみで直接接続できます - 訪問者の displayName を ChatMessageDto の senderName に含めて下さい チケットチャットでメッセージングしている人を見る - NATSサ...
Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint
Add conversion progress NATS-to-STOMP relay
Relays document conversion progress from NATS to WebSocket clients. Supports both imgId-based and member-based topic routing for real-time progress updates duri...
Enforce minimum advance booking when filtering available slots
Filters out slots that fall within the configured minAdvanceBookingMinutes window, and persists the field on create/update of webinar types.
Implement webinar scheduling backend with full business logic
Adds the core webinar scheduling system to MediaService: - WebinarService: CRUD for **************** presenter assignment **************** calendar conflict ...
Add ***-authenticated API key management endpoints for public chat
Adds /api/media/public-chat-keys CRUD endpoints for managing PublicChatApiKey shown once at creation. Uses same *** auth pattern as SupportController.
Add public chat support endpoints with anonymous visitor sessions and WebSocket auth
Adds REST endpoints for public chat session creation, messaging, and visitor management. Includes PublicChatWebSocketInterceptor for token-based WebSocket auth ...
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...
Add WebSocket認証を経由***クッキーハンドシェイクインターセプター
Handhakeに***クッキーを読み込むWebSocketAuthInterceptorを追加, KSessionService でセッションを解決し、memberId/orgId を格納する WebSocket セッション属性。 STOMP CONNECTでプリンシパルを設定する ダウンストリームプレゼンスと通知機...
同時コール検出と自動接続を追加 - 同時試行を検出するために、セッションごとの呼び出しを追跡 - 両方のユーザーが同時に呼び出したときに自動解決 - 最初の発信者のコールIDを使用して、2番目の呼び出しを自動受容 - 応答/終了の呼び出しをクリーンアップ - 重複する他のメンバーの検索コードを削除
WebSocketConfigとChatWebSocketControllerにEXTENSIVEロギングを追加 - すべてのSTOMPフレーム、ハンドシェイク、サブスクリプション、およびメッセージを記録
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...
