KamoCRM

บันทึกการเปลี่ยนแปลงชีวิต

ทุกคุณสมบัติ แก้ไขและปรับปรุง โพสต์เป็นเรือ ไม่มีอะไรยึดเหนี่ยวไว้ สําหรับการเปิดตัว.

17,604
เปลี่ยนแปลงทั้งหมด
6,054
คุณสมบัติต่าง ๆ
5,312
แก้ไข
30
โครงการ
กรองโดยโครงการ
ทุกโครงการ17,604AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,867TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,383kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,675kamo-signer-monorepo56kamolos114
กรองตามประเภท
ทุกประเภทBuild16CI523Chore775Docs3,257Feature6,054Fix5,312Other996Performance165Refactor278Revert23Style42Test162Upgrade1
November 19, 2025
Fixkamo-internal

Resolve findDOMNode error on tasks page for React 19 compatibility

- Added nodeRef prop to react-draggable components to avoid deprecated findDOMNode - Created ref map to store refs for each draggable item - Added cleanup logic...

snadjafinia·11mo ago
November 18, 2025
Fixkamo-internal

Correct button layout and make side buttons twice as wide

- Moved clear button to the right of call button - Backspace button remains on the left - Both side buttons (backspace and clear) are now twice as wide - Double...

snadjafinia·11mo ago
Fixkamo-internal

Remove duplicate onMouseLeave prop in dial pad buttons

- Combined duplicate onMouseLeave handlers into single handler - Fixes build error: No duplicate props allowed

snadjafinia·11mo ago
November 16, 2025
Fixkamo-internal

Resolve build errors in pipeline components

- Fixed Grid component usage: changed from Grid item xs={12} to Grid size={{ xs: 12 }} (MUI v6 Grid2 API) - Fixed invalid icon imports: replaced Package with In...

snadjafinia·11mo ago
Fixkamo-internal

Simplify getDisplayName to use userInfo.usernameAlias directly

- Removed unnecessary fallback logic and error checks - Use userInfo.usernameAlias directly from *** session data - Only show ROFL if userInfo is missing or use...

snadjafinia·11mo ago
Fixkamo-internal

Resolve "Welcome back" user name display issue in NavTop

- Fixed getDisplayName() to only show "ROFL" on actual errors, not during loading - Added loading state handling to show "Welcome back..." while fetching user i...

snadjafinia·11mo ago
FixSecurityService

Use pre-authenticated session from OTKPreAuthFilter in getMyNetworks

- Fixed 401 error by checking for pre-authenticated session from OTKPreAuthFilter first - OTKPreAuthFilter already validates and consumes OTK, so controller sho...

snadjafinia·11mo ago
Fixkamo-internal

Prevent automatic logout on 401 errors in network page

- Changed 401 error handling to show error message instead of immediately redirecting to /logout - Added retry button to error alert for easier recovery - Users...

snadjafinia·11mo ago
Fixkamo-internal

Remove invalid onWebSocketClose and onWebSocketError from ClientOptions

- Removed onWebSocketClose and onWebSocketError handlers as they are not valid ClientOptions properties - WebSocket close and error events are already handled i...

snadjafinia·11mo ago
Fixkamo-internal

Move onWebSocketClose and onWebSocketError to Client constructor options

- Moved onWebSocketClose and onWebSocketError from property assignment to Client constructor options - These handlers should be defined in ClientOptions, not as...

snadjafinia·11mo ago
Fixkamo-internal

Remove invalid 'active' property check from STOMP Client

- Removed clientRef.current.active check which doesn't exist on Client type - Using only clientRef.current.connected which is the correct property

snadjafinia·11mo ago
Fixkamo-internal

Replace StompSubscription with Subscription from @stomp/stompjs

- Changed import from StompSubscription to Subscription (correct export name) - Updated all type references to use Subscription instead of StompSubscription

snadjafinia·11mo ago
November 15, 2025
Fixkamo-internal

Remove invalid connectionTimeout property from STOMP ClientOptions

- Removed connectionTimeout property which is not part of ClientOptions type - Connection timeout is already handled manually via connectionTimeoutRef

snadjafinia·11mo ago
Fixkamo-internal

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...

snadjafinia·11mo ago
November 7, 2025
Fixkamo-internal

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

snadjafinia·11mo ago
November 6, 2025
Fixkamo-internal

Frontend WebSocket persistence - match backend timing and faster reconnect

Heartbeat: 4s -> 20s to match backend, reconnect delay: 5s -> 1s, add 30s connection timeout

snadjafinia·11mo ago
FixMediaService

WebSocket persistent connection with aggressive keepalive

Idle timeout set to 0, heartbeat 20s, disconnect delay 30s, match frontend timing

snadjafinia·11mo ago
Fixkamo-internal

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...

snadjafinia·11mo ago
Fixkamo-internal

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

snadjafinia·11mo ago
Fixkamo-internal

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...

snadjafinia·11mo ago
Fixkamo-internal

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...

snadjafinia·11mo ago
Fixkamo-internal

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.

snadjafinia·11mo ago
Fixkamo-internal

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...

snadjafinia·11mo ago
Fixkamo-internal

Enable SockJS fallback transports for WebSocket connection

Allow xhr-streaming and xhr-polling as fallback if WebSocket upgrade fails.

snadjafinia·11mo ago
Fixkamo-internal

Remove invalid 'active' property check in useChatWebSocket

The Client type from @stomp/stompjs doesn't have an 'active' property. Removed the invalid check since client.activate() is called immediately after client crea...

snadjafinia·11mo ago
Fixkamo-internal

Wait for SockJS to open before activating STOMP client

- Fix race condition where STOMP client activated before SockJS connection was ready - Move client.activate() to SockJS onopen callback - This should fix immedi...

snadjafinia·11mo ago
FixMediaService

Hardcode SSL settings in ConfigMap for production

- Removed environment variable placeholders - Hardcoded port 8443, SSL enabled, keystore path - Fixes Spring Boot not resolving env vars correctly

snadjafinia·11mo ago
FixMediaService

Correct Spring Boot SSL environment variable names

- Changed SSL_ENABLED to SERVER_SSL_ENABLED - Changed SSL_KEY_STORE to SERVER_SSL_KEY_STORE - Changed SSL_KEY_STORE_PASSWORD to SERVER_SSL_KEY_STORE_PASSWORD - ...

snadjafinia·11mo ago
Fixkamo-internal

Route ALL WebRTC API requests to port 8443

- Updated all WebRTC API routes to use media.{domain}:8443 - No longer using Traefik for WebRTC endpoints - Matches media API and WebSocket configuration

snadjafinia·11mo ago
Fixkamo-internal

Route ALL MediaService requests to port 8443 (bypass Traefik)

- Updated all media API routes to use media.{domain}:8443 - No longer using Traefik for MediaService - Both API and WebSocket go direct to port 8443 - internal....

snadjafinia·11mo ago
November 5, 2025
FixMediaService

Use SSLHostConfig API for Tomcat SSL configuration

- Use SSLHostConfig and SSLHostConfigCertificate (correct Tomcat API) - Configure certificate via **************** - Fixes compilation errors with setAttribute/...

snadjafinia·11mo ago
FixMediaService

Use setProperty on protocol handler

snadjafinia·11mo ago
FixMediaService

Use setAttribute for Tomcat SSL configuration

- Changed from setKeystoreFile/Pass/Type/Alias to setAttribute - Tomcat 10+ uses setAttribute for SSL properties - Fixes compilation errors

snadjafinia·11mo ago
FixMediaService

Run MediaService on BOTH ports 80 (HTTP API) and 8443 (HTTPS WebSocket)

- Reverted service.yaml and ingressroute.yaml to use port 80 - Removed forced SERVER_PORT and SSL_ENABLED env vars - Added DualPortConfig to programmatically ad...

snadjafinia·11mo ago
Fixkamo-internal

Connect to port 8443 (external) which routes to NodePort 30843

- Router forwards external 8443 to k1m1 NodePort 30843 - Browser uses media.kamocrm.com:8443 - Internal NodePort is 30843 (Kubernetes valid range)

snadjafinia·11mo ago
FixMediaService

Use NodePort 30843 instead of hostPort for WebSocket

- hostPort may be blocked by firewall rules - NodePort 30843 is in valid range (30000-32767) - Browser connects to external port 8443 - Router forwards 8443 -> ...

snadjafinia·11mo ago
FixMediaService

Add SSL configuration to k8s ConfigMap

- ConfigMap was missing SSL config from application.yml - Added server.ssl settings with environment variable support - Matches local application.yml configurat...

snadjafinia·11mo ago
FixMediaService

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

snadjafinia·11mo ago
Fixkamo-internal

Remove WebSocket-only transport restriction for HTTP/2 compatibility

- Browser WebSocket API doesn't support HTTP/2 (RFC 8441 not implemented) - Native WebSocket requires HTTP/1.1 Upgrade which fails over HTTP/2 - Let SockJS auto...

snadjafinia·11mo ago
FixMediaService

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...

snadjafinia·11mo ago
FixMediaService

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 ...

snadjafinia·11mo ago
FixMediaService

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...

snadjafinia·11mo ago
FixMediaService

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

snadjafinia·11mo ago
FixMediaService

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 - ...

snadjafinia·11mo ago
FixKlusterServices

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

snadjafinia·11mo ago
Fixkamo-internal

Use WebSocket-only transport (disable XHR polling)

- Changed SockJS transports from [websocket, xhr-streaming, xhr-polling] to [websocket] - Removes fallback to XHR polling - Forces pure WebSocket connection - F...

snadjafinia·11mo ago
Fixkamo-internal

Remove explicit namespace reference from kamowsmedia-service

- Both services are in same namespace (kamo) - Explicit namespace reference not needed - Avoids potential cross-namespace issues

snadjafinia·11mo ago
Fixkamo-internal

Remove /ws rewrite from next.config (handled by Traefik)

- Removed Next.js rewrite for /ws paths - WebSocket routing now handled at Traefik IngressRoute level - Traefik routes internal.kamocrm.com/ws -> MediaService d...

snadjafinia·11mo ago
Fixkamo-internal

Route /ws requests directly to MediaService via Traefik

- Added dedicated route for /ws paths in IngressRoute - Routes internal.kamocrm.com/ws -> MediaService directly - Uses same ServersTransport as media-route for ...

snadjafinia·11mo ago
Fixkamo-internal

Allow /ws WebSocket endpoints without auth redirect

- Added /ws path to middleware bypass - SockJS needs to connect to /ws/info without redirect - WebSocket connections will still have *** cookie - Fixes WebSocke...

snadjafinia·11mo ago

เหมือนที่คุณเห็นการขนส่ง?

ทั้งหมดของมันมาถึง ในที่ทํางานของคุณเอง เริ่มที่แผนฟรี และอ่านหน้านี้อีกครั้งในเดือน.

เริ่ม เป็น อิสระ ตลอด ไปแสดงพริ้นซ์