Resolve TypeScript build error in LeadManager component
- Fixed Chip icon prop type error by changing ReactNode to ReactElement - Removed unused imports and props - Fixed useMemo dependency warning by wrapping IdRend...
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...
Auto-scroll chat to bottom on load and new messages
Track previous message count and scroll smoothly when new messages arrive; scroll immediately on initial load or when un-minimizing
Frontend WebSocket persistence - match backend timing and faster reconnect
Heartbeat: 4s -> 20s to match backend, reconnect delay: 5s -> 1s, add 30s connection timeout
Unified header design spanning both chat and softphone panels
REMOVED: Status bar from softphone (wifi, signal, time - unnecessary for web app) SHARED HEADER: Title bar now spans both softphone and chat when expanded LAY...
Optimize softphone to fit all content without scrolling at 680px height
CHATBOX HEIGHT: 550px -> 680px (optimal balance) PHONE DISPLAY: Reduced minHeight (100/75 -> 85/65), padding (14/16 -> 12/14) CALL CONTROLS: All 9 buttons - p...
Reduce ChatBox height to more comfortable 550px
Changed from 85% viewport (750-850px) to fixed 550px for better UX WebRTC call controls remain fully intact and functional
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...
Make softphone fully visible without scrolling - comprehensive compact layout
CHATBOX HEIGHT: - Changed from fixed 600px to 85% of viewport height - Uses Math.floor(window.innerHeight * 0.85) for responsive sizing - Provides much more ver...
Eliminate horizontal scrollbars and increase softphone visibility
LAYOUT FIXES: - Increase DOCKED_HEIGHT from 480px to 600px for better vertical space - Add explicit width constraints (minWidth, maxWidth) to SoftphonePanel roo...
Elevate softphone to enterprise-grade with premium features
ENTERPRISE FEATURES: - Call Recording with visual indicator and pulsing animation - Call Transfer functionality for seamless handoffs - Call Notes with expandab...
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, ...
Remove connected check and add debug logging for STOMP activation
STOMP client was not activating because connected check was preventing it. Added debug logs to diagnose.
Activate STOMP client only after SockJS opens
Critical bug fix: STOMP client was being activated before SockJS opened, causing immediate disconnect. Now waits for SockJS onopen event before activating STOMP...
Enable SockJS fallback transports for WebSocket connection
Cho phép xhr-streaming và xhr-poling như hậu phương nếu nâng cấp WebSoet thất bại.
Enhance ChatBox with dynamic color system and increased height
- Increase message viewing area by 33% (DOCKED_HEIGHT: 360 -> 480) - Create ChatBoxStyles.tsx with dynamic CSS variable-based color system - Apply primary color...
Hiện đại hóa thiết kế ChatBux với độ đánh bóng chuyên nghiệp
- Nền màu trắng sạch với màu xám tinh tế - Thêm thanh cuộn tự chọn - Tăng cường bong bóng thông điệp với nền dốc và biên giới đối xứng - Hiện đại hóa trường nhậ...
Gỡ bỏ mục « hoạt động » không hợp lệ trong việc sử dụngChatWebSet
Kiểu khách hàng từ@stomp/ sompjs không có tài sản hoạt động. Đã gỡ bỏ bộ kiểm tra không hợp lệ từ khi trình khách tắt () được gọi ngay sau khi trình khách tạo.
Đợi SockJS mở cửa trước khi kích hoạt trình khách STOMP
- Sửa điều kiện đua mà khách hàng STOMP đã kích hoạt trước khi kết nối SockJS sẵn sàng - Di chuyển khách hàng. kích hoạt () đến SockJS khi gọi lại mở - Điều này...
Đường dẫn đến cổng 8443
- Cập nhật tất cả các lộ trình WebTEC API để sử dụng phương tiện truyền thông.{ dmain}:8443 - Không còn sử dụng Traefik cho điểm kết thúc WebTEC - Khớp mạng và ...
Đường dẫn yêu cầu tới cảng 8443 (thường xuyên Traefik)
- Cập nhật mọi phương tiện truyền thông để sử dụng phương tiện truyền thông. - Không còn dùng Traefik cho MediaService - Cả API và WebSocket đi thẳng đến cảng 8...
Kết nối đến cổng 8443 (bên ngoài) mà tuyến tới số 30843
- Bộ chỉ huy hướng ra ngoài 8443 đến k1m1 Node Port 30843 - Trình duyệt sử dụng phương tiện truyền thông.kamocram.com: 88443 - Cổng nội bộ là 30843
Kết nối tới cổng MediaService 8443 cho WebSet
- Cập nhật kết nối WebSocket để sử dụng phương tiện truyền thông.kamocram.com: 88443 - Thông qua Traefik để truy cập mạng - Dùng kết nối trực tiếp HTTPS/HTTP1. ...
Bỏ
- Bộ duyệt webSocket API không hỗ trợ HTTP/2 (RFC 8441 chưa được thực hiện) - Mạng nội địa yêu cầu HTTP/1. 1 Nâng cấp thất bại trên HTTP/2 - Hãy để SockJS tự độ...
Dùng phương tiện di chuyển chỉ ổ cắm Mạng (có khả năng thăm dò XHR)
- Thay đổi vận chuyển SockJS từ [websoet, xhr-streaming, xhr-polling] đến [webret] - Gỡ bỏ hậu quả của việc bỏ phiếu bầu cử của XHR - Lực lượng thuần túy WebSoc...
Kết nối
- Hoàn nguyên với cách tiếp cận gốc: kết nối với truyền thông.* subdomain trực tiếp - Loại bỏ sự phức tạp không cần thiết giống nhau - Loại bỏ/w vượt qua từ phầ...
Gỡ bỏ tham chiếu không gian tên khỏi dịch vụ kamowsmedia
- Cả hai dịch vụ đều có tên như nhau (kamo) - Không cần phải tham chiếu vùng tên ngầm - Tránh các vấn đề về không gian chéo tiềm năng
Bỏ Config (được Traefik điều khiển)
- Đã gỡ bỏ kế.js viết lại cho các đường /ws - Mạng định vị bây giờ được xử lý ở cấp độ Traefik InpagRoute - Traefik tuyến đường nội bộ.kamocram.com/ws -> Vật ch...
Đường /ws yêu cầu trực tiếp tới MediaService thông qua Traefik
- Thêm con đường dành riêng cho những con đường dài - Các tuyến đường nội bộ.kamocram.com/ws -> Vật chứa - Dùng cùng máy chủ Transport như là sự hỗ trợ của các ...
Cho phép/ws WebSSocket endpoints mà không cần chuyển tiếp điềm
- Thêm đường đi qua phần mềm giữa - SockJS cần kết nối tới /w/info mà không cần chuyển hướng - Kết nối ổ cắm Mạng vẫn sẽ có *** cookie - Sửa lỗi thời gian kết n...
Thay đổi kết nối ổ cắm mạng thành cùng một kiểu
- Thay đổi từ phương tiện truyền thông.kamocram.com sang cùng một nguồn gốc. - Tránh các vấn đề kết nối qua mạng - Thêm.js viết lại quy tắc cho ủy nhiệm /ws tới...
Thêm đường dẫn ủy nhiệm cho điểm kết thúc WebTEC
- Thêm /api/webrtc ủy nhiệm cho MediaService - Thêm /api/webrtc/tken ủy nhiệm xác thực Janus - Thêm /api/webrtc/ call/initiate, câu trả lời, kết thúc ủy quyền -...
Gỡ bỏ tài sản lập trình không hợp lệ khỏi getDis PlayMdia
- Dùng video đơn giản: đúng cho việc chia sẻ màn hình - Xây dựng bây giờ nên thành công
Giải quyết lỗi xây dựng - Thay thế điện thoại bằng CallEnd
- Biểu tượng tắt điện thoại không tồn tại trong tài liệu@mii/ imons - Sử dụng CallEnd đó là biểu tượng MUI chính xác - Gỡ bỏ các tập tin sao chép không sử dụng ...
Hoàn toàn đồng đẳng webTEC gọi với tín hiệu
- Thêm sử dụngWBTC móc với hỗ trợ tín hiệu đầy đủ - Tôi kết hợp các tín hiệu trên mạng. - Thêm thông báo cuộc gọi tới với nút trả lời/ bộ phân giải - Cập nhật C...
Thêm sự kết hợp của Janus WebTC cho các cuộc gọi âm thanh/video
- Được thêm vào sử dụngJanusWebTTC móc cho quản lý cuộc gọi WebTEC - Thành phần truyền hình Gọi điện cho trình chiếu phim - Tôi kết hợp với ChatBux cho kinh ngh...
Phục hồi phương tiện WebSocket ở SockJS
- Hoàn nguyên để sử dụng các thiết bị truyền tải web (không được bỏ phiếu) - Các ổ cắm mạng là chuẩn và nên làm việc đúng cách - Tập trung vào việc sửa chữa vấn...
Bỏ qua phương tiện truyền tải Web Sổ tay ở SockJS để tránh vấn đề HTTP/2
- Sử dụng xhr-streaming và xhr-poling phương tiện giao thông thay vì websoet - Những phương tiện này hoạt động với cả 2 phương tiện HTTP/1.1 và HTTP/2 mà không ...
Cấu hình các thiết lập cache ở đây. Name
- Siêu dữ liệu - Nâng cấp Web HTTP/2 có thể thất bại, vì vậy SockJS sẽ tự động đi ngược lại HTTP/ 1. 1 - Tùy chọn này nên giải quyết thời hạn kết nốiSocket Mạng...
Đường dẫn tin nhắn bảo mật được nhận diện bởi Tiếp theo.js
- Thêm gỗ để xác minh lộ trình đang bị tấn công - Hồ sơ lộ trình tồn tại và cấu trúc là đúng đối với tiếp theo.js 15
Gỡ bỏ tài sản hoạt động không tồn tại của STOMP Đăng nhập khách
- STOMP Khách hàng không có tài sản hoạt động - Chỉ kiểm tra tài sản « kết nối » là chỉ thị trạng thái đúng
Gỡ bỏ không được hỗ trợ trên WebSocketError từ trình khách STOMP
- trên Web SoetError không phải là một tài sản hợp lệ trong khách hàngOptions - Trình quản lý lỗi SockJS (trong phòng khủng bố, gần gũi) đã cung cấp lỗi xử lý
Thêm toàn bộ lỗi ổ cắm và ghi nhật ký
- Thêm các bộ quản lý lỗi SockJS (trên, trên khủng bố, gần) để bắt lỗi kết nối - Phát hiện thời hạn kết nối (10 giây) để xác định lỗi im lặng - Thêm vào trang w...
Bỏ
- Những thay đổi hoàn nguyên đã vượt qua chứng nhận hợp lệ - Chứng nhận được phát hành bởi dịch vụ tự động (Hãy mã hóa) chứ không phải tự ký kết. - Cần phải điề...
Dùng HTTPS với tác nhân chấp nhận chứng nhận tự ký
- Hoàn nguyên để luôn dùng HTTPS (không phải HTTP) - Tác nhân HTTPS bị từ chối: sai cho cert tự ký - Tùy chọn này cho phép các tuyến kế tiếp.js kết nối đến http...
Dùng tên dịch vụ Kubernetes cho MediaService để tránh vấn đề mật khẩu SSL
- Bên cạnh máy chủ, đường đi tiếp theo.js bây giờ sử dụng * - Điều này tránh lỗi chứng nhận tự ký khi kết nối đến https vội vàng.kam.com - Yêu cầu bên khách hàn...
Loại bỏ các yêu cầu chặn trước cũ / api/ Security/media/ tuyến
- Các tuyến đường cũ đã được chuyển tới APIService mà không còn có điểm kết thúc phương tiện truyền thông - Tất cả các yêu cầu truyền thông nên đi qua /a/media ...
Như những gì anh thấy vận chuyển?
Tất cả những thứ đó đều đến trong không gian làm việc của anh. Bắt đầu với kế hoạch miễn phí và đọc lại trang này trong một tháng.
