콘텐츠로 건너뛰기
KAMOUniverse

변경 로그

무슨 일이야?

플랫폼에 대한 모든 개선 사항, 그것이 선적.

  1. · kamo-internal

    Add Employee Browser for HR page with EmployeeManager component

    - Created EmployeeManager component similar to LeadManager with employee-specific fields - Updated /hr/page.tsx to match doc manager layout with gradient header - Added employee browsing with filtering, search, and bulk operations - Includes tabs for All Employees, Active, Inactive, and On Leave - Features include status indicators, department/job title display, and employee profile links

  2. · kamo-internal

    Update leads page with LeadManager component matching doc manager layout

    - Created LeadManager component similar to DocManager with lead-specific fields - Updated /leads/page.tsx to match doc manager layout with gradient header - Added tab-based filtering (All Leads, Active, Closed, Follow Up) - Implemented AG Grid with lead columns: ID, Contact, Phone, Status, Score, Vendor, Product, Source, Agent, Address, Dates - Added search, filter, and bulk selection capabilities - Integrated with existing lead view navigation

  3. · kamo-internal

    Add premium enterprise features - Analytics, CRM, AI Assistant, Advanced

    ANALYTICS DASHBOARD - Real-time call metrics with interactive charts CRM INTEGRATION - Customer data, lifetime value, activity tracking AI ASSISTANT - Sentiment analysis, call summaries, keyword detection ADVANCED - Time-based routing, multi-device management, encryption status 11 total tabs with dual-row navigation, mini-charts, progress bars Professional gradients, animations, and enterprise-grade polish

  4. · kamo-internal

    Implement 100% enterprise VoIP desk phone features

    Complete implementation of 100+ features matching Cisco 8800, Polycom VVX 600, Yealink T58A 7 Tabs: Dialpad, Speed Dial/BLF, History, Voicemail, Contacts, Queue, Settings Status bar with WiFi, DND, Call Forward, Voicemail badges Full call management: Hold, Mute, Record, Transfer, Conference, Park Speed Dial with BLF presence indicators Visual voicemail with MWI Call history with missed call tracking Contact management with groups and favorites Call queue with agent status and statistics Settings for DND, Call Forward, Auto Answer, Headset Mode

  5. · kamo-internal

    Add expandable softphone panel to ChatBox

    - Add PhoneInTalk icon button to ChatBox header for softphone toggle - Create comprehensive SoftphonePanel component with full UI - Implement dialpad with 0-9, *, # buttons - Add call control buttons (mute, hold, speaker) - Include tabs for Dialpad, History, and Contacts - Support call state management (idle, calling, in-call) - Display phone number input and call duration - ChatBox expands left by doubling width when softphone is opened - Maintain side-by-side layout (softphone left, chat right) - Smooth transitions with 280ms cubic-bezier animations - Active state indicator for softphone button - UI-only implementation - no effect on existing functionality - Consistent styling with primary color scheme - Full visual integration with ChatBox design system The softphone provides a complete calling interface while keeping the chat functionality fully accessible on the right side.

  6. · MediaService

    Add STOMP frame logging to diagnose connection issues

  7. · MediaService

    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/certs/kamocrm/tls.p12 - Adds debug logging to verify SSL configuration

  8. · kamo-internal

    WebSocket에 대한 MediaService 포트 8443에 연결

    - media.kamocrm.com을 사용하는 웹 소켓 연결 업데이트 : 8443 - WebSocket 전용 트래픽을 우회 - MediaService에 직접 HTTPS/HTTP1.1 연결 사용 - API 호출은 Traefik을 통해 표준 경로를 계속 사용

  9. · MediaService

    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 PKCS12 for Spring Boot - Configure Spring Boot to run HTTPS on port 8443 - Update health probes to use HTTPS scheme - WebSocket traffic bypasses Traefik HTTP/2, uses HTTP/1.1 - API traffic continues through Traefik on port 443 with HTTP/2

  10. · MediaService

    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 - Required for browser WebSocket from different subdomains

  11. · kamo-internal

    WebRTC 엔드포인트에 대한 API 프록시 경로 추가

    - MediaService에 /api/webrtc/config 프록시 추가 - Janus 인증에 대한 /api/webrtc/token 프록시 추가 - 추가 /api/webrtc/call/initiate, 대답, 엔드 프록시 - /api/media 프록시와 같은 패턴을 따릅니다. - kamo-internal frontend에서 WebRTC 호출 가능

  12. · kamo-internal

    Signaling과 함께하는 피어 투 피어 웹RTC 완료

    - Full Signaling 지원이 포함된 useWebRTC Hook 추가 - 통합 WebSocket 신호 (오프어, 답변, 얼음 후보자) - 답변/드코더 버튼으로 들어오는 콜 알림 추가 - call UI의 동적 높이로 ChatBox 업데이트 - UseChatWebSocket의 STOMP 클라이언트 수출 - 오디오, 비디오 및 스크린 공유 통화 지원 - 자동 통화 UI 확장 수신 통화 - STUN/TURN fallback을 가진 완전한 동료에peer WebRTC

  13. · MediaService

    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 notifications - Uses session-based topics for privacy

  14. · kamo-internal

    오디오 / 비디오 통화에 대한 Janus WebRTC 통합 추가

    - WebRTC 통화 관리용 useJanusWebRTC Hook 추가 - In-chat 비디오 디스플레이에 대한 VideoCallPanel 구성품 추가 - ChatBox와 원활한 통화 경험 통합 - 오디오 통화, 비디오 통화 및 스크린 공유 지원 - Proper 종횡비 (16 : 9) 비디오 디스플레이 - 통화 제어 : mute, 비디오 토글, 엔드 통화 - STUN/TURN 지원을 가진 kamocrm.com Janus 서버 사용

  15. · MediaService

    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 (kamocrm.com:3478) - Added endpoints for call initiation, answering, and termination - Updated TURN password to match coturn secret - Added HMAC-SHA1 token signing for Janus authentication

  16. · KlusterServices

    Update TURN server credentials with secure values

    - Updated turn-secret with secure random value - Updated turn-password for Janus authentication - Credentials match MediaService WebRTC configuration

  17. · KlusterServices

    Add ServersTransport deployment to CI/CD workflow

    Deploy traefik/serverstransport.yaml as part of Traefik deployment to both K1M1 and K2M1. This enables HTTP/1.1 backend connections for MediaService WebSocket support.

  18. · KlusterServices

    Add ServersTransport for MediaService WebSocket connections

    Add media-websocket-transport ServersTransport resource to disable HTTP/2 for backend connections to MediaService. This is required for proper WebSocket upgrade support with Spring Boot. HTTP/2 doesn't support the WebSocket Upgrade header mechanism, so we need HTTP/1.1 for Traefik-to-backend communication.

  19. · KlusterServices

    Add media-websocket-upgrade middleware to force Upgrade header

    - Add Upgrade: websocket header for WebSocket paths to fix HTTP/2 Extended CONNECT conversion - This ensures HTTP/2 WebSocket upgrade requests are properly converted to HTTP/1.1 with Upgrade header - Fixes 'Handshake failed due to invalid Upgrade header: null' error

  20. · KlusterServices

    Add media-cors middleware for media domain CORS support

    - Add media-cors middleware matching theme-cors configuration - Allows CORS headers to be set for media.{domain} requests

  21. · kamo-internal

    MediaService 세션 생성에 대한 자세한 오류 로깅 추가

    - 로그인 MediaService URL 호출 - 로그 응답 헤더 - 전체 오류 정보와 향상된 오류 로그 - 디버깅에 대한 오류 응답에 URL 포함

  22. · KlusterServices

    Add 'media' subdomain to auto-cert SUBDOMAINS for MediaService

    - Add 'media' to SUBDOMAINS list in auto-cert-service.yaml - Enables automatic SSL certificate generation for media.{domain} subdomains - Required for MediaService WebSocket connections via media.{domain}

  23. · kamo-internal

    Add direct MediaService routes via media.{domain} for WebSocket support

    - Create new /api/media/* routes that forward directly to media.{domain} - These routes bypass APIService to allow secure WebSocket connections - MediaService routes use getMediaServiceBaseUrl() to route to media.{domain} - SecurityService routes continue using /api/security/* via api.{domain} - This separation enables WebSocket connections directly to MediaService

  24. · kamo-internal

    Add logging for subscription request to backend

    - Log when subscription request is sent to /app/chat/subscribe - Helps verify if subscription requests are reaching the backend

  25. · kamo-internal

    Add detailed logging for subscribe function

    - Log when subscribe() is called and current connection state - Log client existence and connection status - Helps diagnose why subscriptions aren't being created

  26. · SecurityService

    Add detailed logging for WebSocket subscription requests

    - Added logging to trace when subscribeToSession is called - Logs payload and sessionGuid extraction - Logs database lookup for session verification - Helps diagnose why NATS subscriptions aren't being created

  27. · kamo-internal

    Add detailed WebSocket connection logging

    - Enhanced logging for WebSocket connection success/failure - Log connection frame details on successful connection - Log detailed STOMP error information - Helps diagnose why WebSocket connections aren't being established

  28. · SecurityService

    Add typing indicator support via WebSocket

  29. · kamo-internal

    Add typing indicators for real-time typing status

  30. · kamo-internal

    Load 100 message history on chat open and determine message author correctly

당신의 우주는 기다리고 있습니다.

몇 분 안에 무료로 시작하세요. 준비가 되면 언제든지 제품을 추가할 수 있습니다.

영원히 무료 - 신용 카드 필요 없음