KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

18,395
Total Changes
6,530
Features
5,537
Fixes
30
Projects
Filter by project
All Projects18,395AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService620InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,995TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,693kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,825kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,530Fix5,537Other1,001Performance174Refactor281Revert23Style45Test175Upgrade1
November 21, 2025
Fixkamo-internal

Improve Sub Status filter reactivity and hide filter icons with CSS

- Remove getStatusFilterValue dependency from useEffect to prevent stale closures - Add CSS rules to hide filter menu button icons for Lead ID, Contact, Status,...

snadjafinia·11mo ago
Fixkamo-internal

Properly enable Sub Status dropdown and remove all filter icons

- Add hasStatusFilter state to SubStatusFloatingFilter to track status filter changes - Add filterChanged event listener to immediately detect when Status filte...

snadjafinia·11mo ago
Fixkamo-internal

Properly enable Sub Status dropdown and remove filter icons

- Fix Sub Status dropdown to be enabled when Status filter is selected (removed options.length check from disabled condition) - Add menuTabs: [] to Lead ID, Con...

snadjafinia·11mo ago
Fixkamo-internal

Enable Sub Status dropdown when Status is selected and remove filter icons

- Fix Sub Status dropdown to be enabled when a Status filter is selected - Remove filter icons (suppressHeaderMenuButton) from Lead ID, Contact, Status, Sub Sta...

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

Resolve TypeScript type errors in DropdownFloatingFilter

- Change ExtendedParams to use intersection type instead of extending IFloatingFilterParams - Use type assertion for parentFilterInstance callback parameter - M...

snadjafinia·11mo ago
Fixkamo-internal

Resolve ESLint errors in DropdownFloatingFilter component

- Add displayName to FloatingFilterComponent - Remove unused ref parameter - Replace any types with proper TypeScript interfaces - Add ExtendedParams interface ...

snadjafinia·11mo ago
Fixkamo-internal

Change filter values from functions to arrays for dropdown display

- Change filterParams values from functions to direct arrays - AG Grid set filters require values as arrays, not functions - This should fix dropdown filters no...

snadjafinia·11mo ago
Fixkamo-internal

Align pinned rows with main list cells

- Add 50px padding-left to first cell (Lead ID) in pinned rows for account icon alignment - Compensate for 4px red border by moving pinned row left with marginL...

snadjafinia·11mo ago
Fixkamo-internal

Replace any type with proper LeadWithAccount interface

- Create LeadWithAccount interface extending Lead with optional accountId - Replace any type assertion with LeadWithAccount type - Fixes ESLint error: Unexpecte...

snadjafinia·11mo ago
Fixkamo-internal

Remove incorrect useMemo wrapper from ReportsPane component

- Remove erroneous }, []); closing bracket that was causing syntax error - ReportsPane is a regular function component, not wrapped in useMemo

snadjafinia·11mo ago
Fixkamo-internal

Remove unused activeReportTab state variable

snadjafinia·11mo ago
Fixkamo-internal

Add missing closing Box tag for AG Grid Container

snadjafinia·11mo ago
Fixkamo-internal

Correct JSX structure - add missing closing Box tag

snadjafinia·11mo ago
Fixkamo-internal

Prevent table row movement and redrawing on checkbox selection

- Disable animateRows to prevent visual movement when rows are selected - Batch state updates in onSelectionChanged using requestAnimationFrame - Memoize pinned...

snadjafinia·11mo ago
Fixkamo-internal

Change Grim status icon from raven.svg to raven.ico

- Update icon path from /icon/raven.svg to /icon/raven.ico - Keep red color filter (#ef4444) applied to icon - Icon size remains 18px to match other status icon...

snadjafinia·11mo ago
Fixkamo-internal

Ensure raven.svg icon is properly displayed for Grim status

- Verify path /icon/raven.svg correctly references public/icon/raven.svg - Add display flex to ensure proper rendering - CSS filter applied to make icon red (#e...

snadjafinia·11mo ago
Fixkamo-internal

Fix contact column vertical alignment and add checkboxes to pinned rows

- Add height: 100% and justifyContent: center to Contact column for vertical middle alignment - Manually add checkbox input to IdRenderer to ensure checkboxes a...

snadjafinia·11mo ago
Fixkamo-internal

Improve contact field spacing, status alignment, and pinned rows

- Reduce gap between name and email in Contact field from 0.25 to 0 (with lineHeight adjustments) - Vertically align status field content to middle with flex al...

snadjafinia·11mo ago
Fixkamo-internal

Vertically center urgent badge in Contact column

- Change alignItems from 'flex-start' to 'center' for vertical alignment - Remove mt: 0.25 margin-top as it's no longer needed with center alignment

snadjafinia·11mo ago
Fixkamo-internal

Resolve ESLint errors in LeadManager

- Change 'let filtered' to 'const filtered' (prefer-const) - Replace 'any' types with proper PinnedLead interface - Remove unused PushPin import - Add explicit ...

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

Restore connection dragging functionality between task items

- Fixed startConnection function to properly accept answerIndex parameter - Added SVG rendering for connection lines (both existing and dragging) - Connection l...

snadjafinia·11mo ago
Fixkamo-internal

Resolve TypeScript type error for react-draggable nodeRef

- Updated nodeRefs Map type to accept RefObject<HTMLDivElement | null> - Added type assertion when passing nodeRef to Draggable component - Fixes build error: T...

snadjafinia·11mo ago
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 16, 2025
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·Nov 15, 2025
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·Nov 15, 2025
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·Nov 7, 2025
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·Nov 6, 2025
FixMediaService

WebSocket persistent connection with aggressive keepalive

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

snadjafinia·Nov 6, 2025
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·Nov 6, 2025
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·Nov 6, 2025
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·Nov 6, 2025
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·Nov 6, 2025
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·Nov 6, 2025
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·Nov 6, 2025
Fixkamo-internal

Enable SockJS fallback transports for WebSocket connection

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

snadjafinia·Nov 6, 2025
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·Nov 6, 2025

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing