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, WebSocket bağlantı bağlantı bağlantıları için geri dönüyor
WebSocket yükseltme başarısız olursa xhr-streaming ve xhr-polling'e izin verin.
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...
ChatBox tasarımı profesyonel parla
- İnce gri gradients ile beyaz arka plan uygulayın - Birincil renk planı ile entegre edilmiş özel kaydırmabar stili ekleyin - gradient arka planları ve asimetri...
UseChatWebSocket kullanımında geçersiz ‘aktif' mülk kontrolü
@stomp/stompjs'tan gelen müşteri türü, ‘aktif’ bir mülke sahip değildir. Müşteri kuruluşundan hemen sonra geçersiz kontrol kaldırıldı.activate().
STOMP müşterisini aktive etmeden önce SockJS için bekleyin
- STOMP müşterisinin SockJS bağlantısının hazır olduğu yarış durumunu düzeltmek hazır -Müşteriyi hareket ettirin() to SockJS onopen callback - Bu, gerçek zamanl...
Route ALL WebRTC API istekleri 8443
- Medyayı kullanmak için tüm WebRTC API rotalarını güncelle.{domain}:8443 Artık WebRTC uç noktaları için Traefik kullanmıyor - Eşler medya API ve WebSocket yapı...
Route ALL MediaService 8443 (bypass Traefik)
- Medyayı kullanmak için tüm medya API rotalarını güncelle.{domain}:8443 - Artık MediaService için Traefik kullanmıyor Hem API hem de WebSocket limana doğrudan ...
NodePort 30843'e giden 8443 numaralı limana bağlanın
-VPN dış 8443 ila k1m1 NodePort 30843 - Browser medya kullanıyor.kamocrm.com:8443 - İç NodePort 30843 (Kubernetes geçerli aralığı)
MediaService port 8443 for WebSocket
- Media.kamocrm.com kullanmak için WebSocket bağlantısı:8443 - WebSocket için Traefik - MediaService ile doğrudan HTTPS/HTTP1.1 bağlantı kullanın API aramaları,...
WebSocket-sadece HTTP/2 uyumluluğu için ulaşım kısıtlamasını çıkarın
- Browser WebSocket API, HTTP/2'yi desteklemiyor (RFC 8441 uygulanmadı) - Yerli WebSocket HTTP/1.1 gerektirir Hangisi HTTP/2'den başarısız oldu - Let SockJS oto...
WebSocket-sadece ulaşım (özellikle XHR anket) kullanın
Değişmiş SockJS [websocket, xhr-streaming, xhr-polling]'den [websocket] geçer. - XHR anketine geri döner - Kuvvetler saf WebSocket bağlantısı - WebSocket'in deg...
WebSocket doğrudan medya.kamocrm.com
- Orijinal yaklaşıma geri döndü: medyaya bağlanmak.* subdomain doğrudan - Aynı-origin karmaşıklığını ortadan kaldırdı - Kaldırılmış / ayaklar ortadan atılır (ya...
Camowsmedia-service'dan açık bir isim referansı
- Her iki hizmet aynı isim alanında (kamo) - Explicit namespace referansı gerekli değil - Potansiyel çapraz-isimspace sorunlarından kaçının
Kaldır /ws bir sonraki yazıyı yeniden yaz. Yapı (Alled by Traefik)
- Rewrited Next.js rewrite for /ws ways - WebSocket şimdi Traefik IngressRoute seviyesinde ele alındı - Traefik rotalar iç.kamocrm.com/ws -> MediaService doğrud...
Rota /ws doğrudan Traefik aracılığıyla MediaService'a talep ediyor
- IngressRoute /ws yollarında özel rota eklendi - İç rotalar.kamocrm.com/ws -> MediaService doğrudan - WebSocket desteği için medya-route olarak aynı ServersTra...
İzin /ws WebSocket uç noktaları auth yönlendirme olmadan
- Ortaware'e ek /ws yolu - SockJS, yönlendirmeden /ws /info'ya bağlanmak zorundadır - WebSocket bağlantıları hala sahip olacak - kurabiye - Fixes WebSocket bağl...
WebSocket bağlantısını aynı-origin ile değiştirin
- medya.kamocrm.com'dan aynı kökenine (internal.kamocrm.com) - Cross-origin WebSocket bağlantı sorunlarını önlemek - Next.js, MediaService'a / proxy'lere yenide...
WebRTC uç noktaları için API rotalarını ekleyin
- MediaService'a /api/webrtc / yapılandırın - Janus doğrulama için /api /webrtc /token proxy eklendi - eklendi /api/webrtc/call/initiate, cevap, end proxy - Ayn...
TakeDisplayMedia'dan geçersiz kodlayıcı mülk
Basit video kullanmak: ekran paylaşım için gerçek - Yapı şimdi başarılı olmalı
Resolve hatası inşa edin - CallBit ile TelefonOff
- PhoneOff icon @mui/icons-matery'de mevcut değildir - CallBit'i kullanmak doğru MUI i i i ikonudur - Kullanılmamış dosyaları (WebRTC, VideoCallView,JanusWebRTC...
Tamam a-to-peer WebRTC sinyallendirme ile çağrı
-WebRTC kancasını tam sinyal desteği ile eklendi - Entegre WebSocket sinyali (çalışanlar, cevaplar, ICE adayları) - gelen çağrı bildirimleri cevap/decoder düğme...
Janus WebRTC audio/video aramaları için entegrasyon
- WebRTC çağrı yönetimi içinJanusWebRTC kancasını eklendi - In-chat video ekran için VideoCallPanel bileşeni eklendi - ChatBox ile bütünleştirilmiş çağrı deneyi...
WebSocket'i SockJSocket'te geri yükleme
- Websocket taşımasını (görüntüleme) kullanmaya çalışın WebSockets standarttır ve düzgün çalışmalıdır - Gerçek WebSocket bağlantı sorununu düzeltmeye odaklanın
WebSocket SockJS'de HTTP/2 sorunlarından kaçınmak için
- Websocket yerine xhr-streaming ve xhr-polling taşımalarını kullanın - Bu taşımalar, WebSocket yükseltmelerini gerektiren her iki HTTP/1.1 ve HTTP/2 ile çalışı...
Configure SockJS, HTTP/2 WebSocket yükseltme sorunlarını çözmeye çalışır
- WebSocket'i tercih etmek için SockJS nakliye siparişini açıkça yapılandırın, sonra xhr-streaming/xhr-polling /xhr-polling HTTP/2 WebSocket yükseltmeleri başar...
Gerekli mesajlar rotası Sonraki tarafından kabul edilir.js
- rotayı doğrulamak için ek kayıt sayısı vuruldu - Yol dosyası var ve yapısı Next.js 15 için doğru
STOMP'den var olmayan 'aktif' mülk Müşteri Girişi
- STOMP Müşteri ‘aktif’ bir mülke sahip değildir - Sadece doğru devlet göstergesi olan ' bağlantılı' mülk kontrol edin
WebSocketError handler üzerinde STOMP istemcisinden desteklenmez
-WebSocketError, MüşteriOptions'te geçerli bir mülk değildir - SockJS hatası eller (terör, son zamanlarda) zaten hata işlemesi sağlar
Kapsamlı WebSocket hata işleme ve giriş
- SockJS hatası eller (hazırda, terörle, yakın) bağlantı başarısızlıklarını yakalamak için eklendi - sessiz başarısızlıkları tanımlamak için bağlantı zamanı tes...
Yanlış HTTPS ajanı işten çıkar
- Verilen sertifikayı doğrulayan değişiklikler Sertifikalar oto-cert servisi tarafından verilir (Ha's Encrypt), kendi kendini imzalamaz - Sertifika doğrulamanın...
Kendi kendine imzalanmış sertifikaları kabul eden ajan ile HTTPS kullanın
- HTTPS'yi her zaman kullanmaya devam etti ( HTTP değil) -Ücretsiz HTTPS ajanı ekledi: kendini imzalayan lves için yanlış - Bu, sunucunun bir sonraki.js rotalar...
SSL cert sorunlarından kaçınmak için Kubernetes servisini kullanın
- Server-side Next.js rotaları şimdi **************************** - Bu, http://media.kamocrm.com'a bağlandığında kendi imzalı sertifika hatalarından kaçınır. - ...
İstekleri ele geçirilen eski /api/güvenlik/media / rotaları kaldır
- Eski rotalar artık medya uç noktalarına sahip olmayan APIService'a ilerliyordu - Tüm medya talepleri doğrudan MediaService /media / rotalar üzerinden geçmelid...
MediaService seans oluşturma için ayrıntılı hata girişi ekleyin
- Log MediaService URL çağrılı - Log yanıt başlıkları - Tam hata ayrıntılarıyla gelişmiş hata kaydı - Debugging için hata yanıtını URL'yi ekleyin
Diğer Sonraki projelerini eşleştirmek için eylemleri/checkout@v4'e geri dön
- Taklitlere neden olan karmaşık el kontrol mantığını çıkarın - Camo-login ve kamo-roll gibi standart eylemler / checkout@v4 kullanın - Simplify Docker, var olm...
Takılmayı önlemek için zaman içinde sığ klon kullanın
- Kullanımı - daha hızlı klonlama için derinlemesine 1 - Saat ekleyin (120s for sığ, 300s for full) - sığ başarısız olursa tam klona geri dönmek - Net klondan s...
Çalışan dizi hatasından kaçınmak için klonlamadan önce doğrulama
- /tmp veya / kaldırma / çalışma alanı kaldırmadan önce - Sadece var olup olmadığını gözden geçirin ama bir geri dönüş değil - Mevcut çalışma dizinin hatasını o...
Sertcoded repository URL kullanın ve GITHUB WORKSPACE env var
DNS/hostname kararlarından kaçınmak için doğrudan havuz URL kullanın - Daha sonraki adımlar için GITHUB WORKSPACE çevre değişkeni ayarlayın - Docker'de var olan...
Use git clone directly instead of relying on empty workspace
- Clone repository using git directly with repository URL - Handle both fresh clone and existing repository cases - Use working-directory for Docker build actio...
Simplify all checkout steps - remove git operations that hang
- Remove git fetch/reset/clean from deploy jobs - Forgejo runner already has code checked out - Just verify GITHUB_WORKSPACE is valid
Simplify checkout step - remove git clone that was hanging
- Remove git clone logic that was causing 20+ minute hangs - Forgejo runner already has code checked out, just verify directory - Remove unnecessary git fetch/r...
Improve checkout and Docker build context handling
- Add proper repository cloning if not already checked out - Verify Dockerfile exists before building - Use absolute paths for Docker build context - Fix workin...
Replace actions/checkout with manual git checkout to avoid DNS issues
- Replace actions/checkout@v4 with manual git checkout commands - Forgejo runner already has code checked out, just need to ensure clean state - Fixes DNS looku...
Kargoyu gördüğünüz gibi?
Tüm bunlar kendi başına iş alanınıza geliyor. Ücretsiz plana başlayın ve bu sayfayı bir ay içinde tekrar okuyun.
