KamoCRM

Mabadiliko ya Tabianchi

Kila kipengele, kurekebisha na kuboresha, posted kama meli. Hakuna kitu kilichofichwa kwa ajili ya uzinduzi.

17,500
Mabadiliko ya Jumla
5,986
Features ya
5,284
Wa
30
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,500AIService251APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService576InitializerService329KBService151KlusterServices740MCPGatewayService251MediaService602RAGService79SecurityService1,847TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,349kamo-login335kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,657kamo-signer-monorepo56kamolos114
Filter ya aina
Aina zoteBuild16CI523Chore774Docs3,254Feature5,986Fix5,284Other994Performance165Refactor278Revert23Style42Test160Upgrade1
April 26, 2026
Featurekamo-internal

Split AV settings into Audio/Video/Ringtones subtabs

Reorganizes the Audio/Video tab into three internal subtabs and lays each one out horizontally so settings fit within the viewport without the wall of vertical ...

kamo·6mo ago
Featurekamo-internal

Add Audio / Video Settings tab and wire into softphone

Adds a per-device AV preferences store (localStorage, machine-specific, not roaming) plus a fully-featured tab on /settings/member/<id> for configuring and test...

kamo·6mo ago
Featurekamo-internal

Always-on SIP session with auto-popup + ringtone on inbound calls

The softphone used to register only while the popup tool window was open — close it and inbound calls were silently missed. Lift the session into a SoftphonePro...

kamo·6mo ago
Fixkamo-internal

Dialpad digits now register on touch devices

The dialpad buttons called e.preventDefault() in both onTouchStart and onTouchEnd. That stops the browser from firing the synthetic click event that follows a t...

kamo·6mo ago
Featurekamo-internal

Use org short name and description in HTML head

DynamicMetaLoader now sets document.title to siteNameShort (was siteName) and writes the org description into the meta description tag. Static layout.tsx fallba...

kamo·6mo ago
Fixkamo-internal

Separate globe presence for marketing live chat vs members

Public Chat widget tickets keep org placeholder as requestorId; use only media session presence for those rows. Internal and other tickets use member presence (...

kamo·6mo ago
Otherkamo-internal

Pipe sip.js init steps to server log via beacon

The browser-side SDK init failure is currently invisible — the popup just says "Phone SDK failed to initialize" with no message, the WebSocket never opens, and ...

kamo·6mo ago
Fixkamo-internal

Globe uses media session presence for marketing visitors

Request public-chat session GUIDs in presence snapshot; treat online if either session or requestor member is connected. Handle snapshot envelope and sessionGui...

kamo·6mo ago
Refactorkamo-internal

Ticket requestor presence via WebSocket only

kamo·6mo ago
Otherkamo-internal

Surface SIP.js init/transport errors to browser console

Empty "Phone SDK failed to initialize" messages were hiding the actual failure from sip.js. Turn on logBuiltinEnabled so the library writes its transport / regi...

kamo·6mo ago
Featurekamo-internal

Add includeCompany to market popup and companyName to leads

Market add/edit popup (LeadMarketManager): - Radio control "Track Company Name" / "Individual Only" (required) - Defaults to unset on new market; pre-fills on e...

kamo·6mo ago
Fixkamo-internal

Show provider name in view mode + own extension in edit dropdown

Two bugs on **************** 1. View mode dumped the raw UUID — "Instance 32f520b0-347a-…" — because the instance list was only loaded inside handleVoipEdit...

kamo·6mo ago
Featurekamo-internal

Show sales type path in Add Lead subtitle

Append the market's Sales Type and Sub-Type to the "Adding to" line so the form mirrors the labels used in the Edit Market popup at **************** Renders as ...

kamo·6mo ago
Refactorkamo-internal

Move Create Lead action into header, drop sticky bar

Replace the top-right Cancel button with the primary Create Lead action and remove the bottom sticky action bar entirely. Add a back IconButton to the left of t...

kamo·6mo ago
Fixkamo-internal

Scope Add Lead scroll and footer to its content area

The form was using minHeight: 100vh inside a parent that's already calc(100vh - 56px), forcing an outer scrollbar even when content fit. The action bar also use...

kamo·6mo ago
Featurekamo-internal

Unified PhoneSdk supporting RingCentral + sip.js (FreePBX)

The softphone hook used to instantiate ringcentral-web-phone unconditionally, which threw on any FreePBX credential shape because that SDK is hard-coded to Ring...

kamo·6mo ago
Fixkamo-internal

Smart multi-column layout for Add Lead form

Restructure the page into a top-level grid so sections compose horizontally instead of stretching individual fields: - Market & Assignment uses a 3-col interio...

kamo·6mo ago
Fixkamo-internal

Use /api/security/members/names for assigned-member name resolution

The by-department endpoint filters to active TeamMembers only, missing assignments to base Members or inactive members. Switch to /names which returns all membe...

kamo·6mo ago
Refactorkamo-internal

Make Best Contact Time a free-text field

Replace the Morning/Afternoon/Evening dropdown on the Add Lead and Lead View edit forms with a plain text input so members can describe specific windows (e.g., ...

kamo·6mo ago
Fixkamo-internal

Full-width Add Lead form and clearance for sticky footer

Drop the 1200px max-width on /leads/new so the form spans the page area, and bump bottom padding so the sticky action bar no longer overlaps the last form secti...

kamo·6mo ago
Featurekamo-internal

Single-lead Add Lead form at /leads/new

Refactor Add Lead from an in-page multi-tab pane into a dedicated route at /leads/new so it can be linked directly. The current market is passed through as ?mar...

kamo·6mo ago
Fixkamo-internal

Probe master model endpoint and fix appliedModel org ID

- Replace appliedModel.source-based gate with a direct probe of /api/security/master-model on mount; r.ok=false (409) means the org is governed by a branch ...

kamo·6mo ago
Fixkamo-internal

Gate censorship tab options by applied model constraints

- Hide EDIT MASTER MODEL button when org is governed by a branch type (use appliedModel.source instead of unreliable org context branchTypeID) - Hide ATF fiel...

kamo·6mo ago
Featurekamo-internal

Persist active mailbox in URL query params

Switching mailboxes now updates the URL (?mailboxType, ?mailboxId, ?mailbox) so refreshing the browser restores the same mailbox. MessageBrowser reads window.lo...

kamo·6mo ago
Fixkamo-internal

Mark-as-read and message fetch for shared/member mailboxes

Classic mode now loads shared mailbox messages via the correct /messages/{folder} endpoint (was calling the non-existent /conversations endpoint). Fetching a fu...

kamo·6mo ago
Featurekamo-internal

Show accurate provider connection status from isConnected field

Replaces the old logic that showed "Connected" for any provider with no sync error (including brand-new providers that were never tested). New three-state badg...

kamo·6mo ago
Featurekamo-internal

Wire Available/Unavailable switch to backend and fix OFFLINE presence bug

- Rename Paused/Active chip to Available/Unavailable in NavTop - Fetch initial availability on mount and persist toggles via new me/availability API - Add isAva...

kamo·6mo ago
Fixkamo-internal

Pass selectedFolder to ThreadDetailView so email:folder-changed fires with a valid folder

conversation.folder is always undefined because the Java ConversationEntity has folderIds (text[]) not a folder string field. This caused loadThread to call mar...

kamo·6mo ago
Fixkamo-internal

Sync mailbox dropdown to primary mailbox on load

Dropdown defaulted to first list item because selectedMailbox initialized without a mailboxId, causing currentValue to resolve to bare 'personal' which matched ...

kamo·6mo ago
Fixkamo-internal

Surface HTTP errors so upload failures are visible

Replaced silent console.warn with a thrown Error on non-OK status, so the user sees the actual failure reason (status + response body) instead of silently proce...

kamo·6mo ago
Fixkamo-internal

Trust backend pendingCount, drop client offsets

Backend pendingCount is now unread-based (counts SUPPORT_TICKET sessions with messages newer than the owner's lastViewed). When the agent opens a ticket, markAs...

kamo·6mo ago
April 25, 2026
Fixkamo-internal

MarkAsRead after agent send so lastViewed advances

On support tickets, both visitor and agent messages are stored under the same systemMember, so the unread-count query is member-agnostic and relies entirely on ...

kamo·6mo ago
Featurekamo-internal

Add media subdomain to required DNS aliases

kamo·6mo ago
Otherkamo-internal

Add logging to upload-background proxy route

Log org/index, file name/size/type, and upstream response status to diagnose why background uploads are not reaching APIService.

kamo·6mo ago
Featurekamo-internal

Add Location column to ticket datagrid

Reads **************** straight off the SupportTicketDTO (now snapshot on the ticket entity at creation time — no extra round trip). Renders flag + city/region/...

kamo·6mo ago
Fixkamo-internal

Pass folder to loadThread retry button

loadThread takes (threadId, folder); the error-state retry button only passed threadId, breaking the kamo-internal build. Match the call to the signature.

kamo·6mo ago

Je, unaona nini kuhusu usafiri?

Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.

Kuwa Huru MileleMtazamo wa bei