Use hostPort instead of NodePort for 8443
- NodePort range is 30000-32767, cannot use 8443 - Use hostPort to bind directly to host port 8443 - Removed service-websocket.yaml
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...
Hapus WebSocket-hanya pembatasan transport untuk kompatibilitas HTTP / 2
- Browser WebSocket API tidak mendukung HTTP / 2 (RFC 8441 tidak diimplementasikan) - Native WebSocket membutuhkan HTTP / 1.1 Upgrade yang gagal melewati HTTP /...
Restore HTTP/2 for WebSockets (RFC 8441 support)
- WebSockets CAN work over HTTP/2 via RFC 8441 - Removed TLSOption (not needed) - Removed ServersTransport reference (let HTTP/2 work) - Restored simple domain-...
Use explicit Host() for /ws route to enable TLSOption
- Changed /ws route from HostRegexp to Host(media.kamocrm.com) - TLSOption can only be applied to explicit hosts (not regex) - ALPN negotiation happens during T...
Force HTTP/1.1 for MediaService ONLY via TLSOption
- Created media-tls-http1 TLSOption with alpnProtocols: [http/1.1] - Referenced ONLY in media-route IngressRoute - Does not affect other Traefik routes - Fixes ...
Revert "fix(traefik): disable idle timeout for WebSocket connections"
This reverts commit ****************
Separate /ws route for WebSocket, keep HTTP/2 for API
- Added two routes: /ws for WebSocket (higher priority), rest for API - Only /ws uses media-websocket-transport (HTTP/2 disabled) - API routes can use HTTP/2 fo...
Use Host() instead of HostRegexp() for media-route
- Simplified to Host(media.kamocrm.com) - Avoids regex escaping issues with backticks - Tests show route is working with simple Host match
Force HTTP/1.1 via TLSOption for WebSocket compatibility
- Created TLSOption to disable HTTP/2 ALPN negotiation - Forces browsers to use HTTP/1.1 for media.kamocrm.com - WebSocket upgrades require HTTP/1.1 protocol - ...
Disable idle timeout for WebSocket connections
- Added idleTimeout=0 to websecure entrypoint - Prevents Traefik from closing WebSocket connections due to inactivity - Fixes SockJS WebSocket timeout issues
Gunakan WebSocket-only transport (non-aktifkan TPS XHR)
- Diubah Transport SockJS dari [websocket, xhr-streaming, xhr-polling] ke [websocket] - Hapus mundur ke TPS XHR - Kekuatan koneksi WebSocket murni - Gagal cepat...
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 ...
Hubungkan WebSocket langsung ke media.kamocrm.com
- Dikembalikan ke pendekatan asli: terhubung ke media. * subdomain secara langsung - Dibuang sama - asal kompleksitas - Dihapus / ws bypass dari middleware (tid...
Hapus referensi namespace eksplisit dari layanan kamowsmeaa-
- Kedua layanan berada dalam namespace yang sama (kamo) - Referensi namespace explisit tidak diperlukan - Menghindari potensi masalah antar-ruang nama
Hapus / ws menulis ulang dari berikutnya. config (ditangani oleh Traefik)
- Removed Next.js rewrite for / ws paths - WebSocket routing sekarang ditangani di tingkat Traefik IngressRoute - Rute traefik proprial.kamocrm.com / w - > Medi...
Route / ws meminta langsung ke MediaService via Traefik
- Ditambahkan rute berdedikasi untuk jalur / ws di IngressRoute - Routes provenal.kamocrm.com / w - > MediaService secara langsung - Gunakan ServersTransport ya...
Ijinkan / w Endpoints WebSocket tanpa redirect auth
- Alamat ditambahkan / ws ke bypass middleware - SockJS perlu menyambung ke / w / info tanpa mengarahkan - Koneksi WebSocket akan tetap memiliki cookie * * - Ma...
Ubah koneksi WebSocket ke asal-same-
- Diubah dari media.kamocrm.com ke asal yang sama (convenal.kamocrm.com) - Menghindari masalah sambungan WebSocket - Ditambahkan aturan reply Next.js ke proxy /...
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...
Remove @kubernetescrd suffix from serversTransport reference
- Traefik error: cross-namespace format not allowed when crossnamespace disabled - IngressRoute and ServersTransport are in same namespace (kamo) - Use simple n...
Hapus properti koder tidak valid dari getDisplayMedia
- Menggunakan video sederhana: benar untuk berbagi layar - Membangun sekarang harus berhasil
Resolve build error - menggantikan PhoneOff dengan Callen
- Ikon PhoneOff tidak ada dalam material @ mui / icons- - Menggunakan Callen End yang merupakan ikon MUI yang benar - Menghapus berkas duplikat yang tak terpaka...
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
Split port ranges to avoid conflicts
- Coturn relay: 52000-65535 (13,536 ports) - Avoids: Janus RTP (10000-49151) and WireGuard (51820-51821) - No overlap between services
Adjust relay port range to avoid WireGuard/VPN ports
- Changed max-port from 65535 to 51800 to avoid conflicts - Avoids WireGuard on UDP 51820 and other VPN services on 51821 - Provides 2,649 ports (49152-51800) f...
Resolve CrashLoopBackOff by fixing probes and config
- Replace netstat-based health probes with TCP socket checks (netstat not available in coturn/coturn:latest Alpine image) - Remove conflicting no-stdout-log dir...
Use full Kubernetes CRD provider name for ServersTransport reference
Traefik requires the @kubernetescrd suffix when referencing CRD resources like ServersTransport.
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...
Simplify MediaService WebSocket IngressRoute configuration
Remove media-websocket-upgrade middleware that was forcing headers and causing WebSocket handshake issues. Traefik automatically handles WebSocket upgrade when ...
Kembalikan transportasi WebSocket dalam SockJS
- Revert untuk menggunakan transport websocket (bukan polling) - WebSockets adalah standar dan harus bekerja dengan baik Fokus untuk memperbaiki isu koneksi Web...
Lewati transportasi WebSocket dalam SockJS untuk menghindari masalah HTTP / 2
- Gunakan xhr-streaming dan xhr-polling transportasi bukan websocket - Transportasi ini bekerja dengan baik HTTP / 1.1 dan HTTP / 2 tanpa membutuhkan upgrade We...
Add end anchor to WebSocket path regex pattern
- Add $ to end of PathRegexp to ensure exact match - Fixes regex parsing error in Traefik - /ws/info is now working (200 OK) but WebSocket upgrade route needs p...
Only apply WebSocket upgrade middleware to actual WebSocket paths
- Change route match from PathPrefix(/ws/) to **************** - /ws/info is a regular HTTP request, not a WebSocket upgrade - Adding Upgrade header to /ws/info...
Add Connection: Upgrade header to WebSocket upgrade middleware
- Add Connection: Upgrade header along with Upgrade: websocket - Both headers are required for proper WebSocket upgrade handshake - This ensures HTTP/2 Extended...
Add separate route for WebSocket paths with upgrade middleware
- Create separate route matching /ws/** paths with media-websocket-upgrade middleware - This ensures Upgrade: websocket header is added for WebSocket upgrade re...
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...
Use ServersTransport to disable HTTP/2 for WebSocket connections
- Create ServersTransport resource with disableHTTP2: true - Reference ServersTransport in IngressRoute service configuration - Remove invalid disableHTTP2 fiel...
Nonaktifkan HTTP / 2 bagi koneksi backend MediaService
- Tambahkan disableHTTP2: true untuk memaksa HTTP / 1.1 untuk koneksi backend - HTTP / 2 Extended CONNECT tidak benar mengubah header Upgrade - Upgrade WebSocke...
Atur skema layanan IngressRoute bagi dukungan WebSocket
- Set skema: http untuk memastikan penanganan HTTP / 1.1 yang benar untuk peningkatan WebSocket - HTTP / 2 Extended CONNECT membutuhkan konversi yang tepat ke h...
Hapus penanganan jabat tangan tak valid dan perbaiki konfigurasi SockJS
- Hapus penimpaan HandshakeHandler yang tidak valid (metoda tidak ada) - Hapus panggilan setSupressCors tidak valid (metoda tidak ada) - Jauhkan HttpSessHandsha...
Add WebSocket handshake logging and SockJS configuration
- Add handshake handler and interceptor logging to diagnose WebSocket connection issues - Configure SockJS to suppress CORS (handled by Spring Security) and dis...
Atur transportasi SockJS untuk menangani masalah peningkatan WebSocket HTTP / 2
- Secara eksplisit mengatur urutan transportasi SockJS untuk lebih menyukai WebSocket, kemudian mundur ke xhr-streaming / xhr-polling - HTTP / 2 Upgrade WebSock...
Seperti apa yang Anda lihat pengiriman?
Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.