Update leads page with status filters, remove phone column, add sub-tabs
- Remove phone number column from leads grid - Increase width of Created and Assigned columns to fit datetime data - Add status and sub-status dropdown filters ...
Add saggy bounce animation to connection lines with arrow heads
- Converted straight lines to curved SVG paths using quadratic bezier curves - Added continuous saggy bounce animation using requestAnimationFrame - Longer conn...
Add Adjust Features functionality to apps in account settings
- Added 'Adjust Features' button/link to each enabled app card - Button appears in both grid and list view modes - Added 'Adjust Features' option to context men...
Reduce dial tone volume and add modernized clear button
- Reduced dial tone volume by 50% (from 0.5 to 0.25) - Added clear button (CallEnd icon) that appears when numbers are entered - Clear button clears all digits ...
Enhance phone number display field with modern animations
- Added auto-scroll to follow last dialed digit when number is too long - Implemented digit-by-digit pop-in animations with staggered timing - Added focus state...
Improve dial pad with audio preloading and modern animations
- Preload all DTMF audio files when dialpad tab opens for instant playback - Add modern button animations with hover and press states - Implement visual feedbac...
Add DTMF touch tone sounds to dial pad in chatbox
- Added DTMF tone generation script (generate-dtmf-tones.js) - Generated WAV files for all dial pad buttons (1-9, *, #, 0) - Integrated touch tone playback into...
Add Pipeline page with Applications, Orders, Shipments, and Returns tabs
- Created pipeline page using SettingsView component similar to account pages - Added Applications tab with application management and status tracking - Added O...
Add Pipeline button to NavPri navigation
- Added Pipeline button with TimelineIcon after Accounts button - Links to /pipeline route - Always visible (not conditional on organization features)
Update account page tabs to new account type categories
- Changed tabs from status-based to account type categories: - "Clients & Customers" (BusinessCenter icon) - "Members & Subscribers" (People icon) - "Empl...
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...
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 - Add...
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 - Sentime...
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, Queu...
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, ...
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...
Hubungkan ke MediaService port 8443 untuk WebSocket
- Update Koneksi WebSocket untuk menggunakan media.kamocrm.com: 8443 - Melewati Traefik untuk WebSocket- hanya lalu lintas - Menggunakan koneksi HTTPS / HTTP1.1...
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 ...
Tambahkan rute proksi API bagi titik akhir WebRTC
- Ditambahkan / api / webrtc / config proxy ke MediaService - Tambahkan / api / webrtc / token proksi untuk otentikasi Janus - Ditambahkan / api / webrtc / call...
Lengkap peer- to-peer WebRTC memanggil dengan sinyal
- Menambahkan kait useWebRTC dengan dukungan sinyal penuh - Sinyal WebSocket terpadu (menawarkan, menjawab, calon ICE) - Tambahkan pemberitahuan panggilan masuk...
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...
Tambahkan integrasi Janus WebRTC untuk panggilan audio / video
- Ditambahkan kait useJanusWebRTC untuk manajemen panggilan WebRTC - Ditambahkan Komponen VideoCallPanel untuk tampilan video in- chat - Terintegrasi dengan Cha...
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...
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
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 s...
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...
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 conv...
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
Tambahkan galat terinci saat log untuk pembuatan sesi MediaService
- Log URL MediaService dipanggil - Tajuk respon log - Enhanced error logging with full error details - Sertakan URL dalam respon kesalahan untuk debug
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 MediaServ...
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 r...
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
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 creat...
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 dia...
Add detailed WebSocket connection logging
- Enhanced logging for WebSocket connection success/failure - Log connection frame details on successful connection - Log detailed STOMP error information - Hel...
Load 100 message history on chat open and determine message author correctly
Support two-member chat sessions and message pagination (default 100 messages)
Tambahkan dukungan paginasi untuk riwayat pesan dan findOrCreate Chating untuk dua obrolan anggota
Make chat boxes reposition when Team Members panel opens/closes, add retry logic for session creation
Migrate chat functionality from ChatSideBar to Team Members - add chat button to MemberItem, preserve member IDs, remove duplicate ChatSideBar
Tambahkan metode findByOrganiationId ke MemberRepositori
Access Level dropdown with icons and titles from ImageAccessLevelType
Pre-consume X-OTK via filter to avoid expiry on large uploads; use pre-auth session in ImagingController
Naikkan OTK TTL sampai 60an untuk mendukung upload multipart
Expose endpoints under /api/security/imaging to match gateway
Enable server.shutdown=graceful, spring.lifecycle timeout; add shutdown-aware TaskScheduler/TaskExecutor
Seperti apa yang Anda lihat pengiriman?
Semuanya tiba di ruang kerja Anda sendiri. Mulai dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
