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
August 5, 2026
FixKlusterServices

STUN answered on the wrong node, so kamocrm.com:3478 was dead

coturn is hostNetwork with no nodeSelector, so it was scheduled on k3m1 (public 47.181.8.87). Its own --external-ip, and every client's `stun:kamocrm.com:3478`,...

Kamo·2mo ago
FixEmailService

Stop classifying a multipart/related HTML root as an attachment

Every transactional email we send with an inlined org logo arrived in our own /messages viewer with a correct subject and a completely empty body. isAttachment...

Kamo·2mo ago
FixKlusterServices

Bridge advertised only private ICE candidates — no meet had media for 35 days

The bridge never completed a single ICE connection in the 35 days this pod has been up (0 successes, 18 terminations). Every conference joined over XMPP fine an...

Kamo·2mo ago
Featurekamo-internal

Show the agent's phone, toll-free and email on the preview

Each on its own line: a run-on of two numbers and an address reads as one string and gets dialled wrongly.

kamo·2mo ago
FeatureSecurityService

Resolve the agent's published contact details

Email comes from the member's primary mailbox rather than TeamMember.emailWork — that column is free text predating mailbox provisioning and routinely disagrees...

Kamo·2mo ago
Featurekamo-shared-library

Publish every way to reach the agent, not just a name

Name and title alone tell a customer who owns the quote but not how to ask about it. The block now carries email and phone, resolved by the caller — the primary...

Kamo·2mo ago
Featurekamo-shared-library

Extraction confidence on the catalog spine + auto sign-off basis

A price is only as trustworthy as the sheet it was assembled from, and nothing on the pricing path carried that signal: confidence existed ONLY on pre-promotion...

Kamo·2mo ago
FixSecurityService

Send the company line as text, not markup

Pairs with the template fix in kamo-shared-library. Per-org template rows are insert-only, so the rows seeded before the markup change still wrap this variable ...

Kamo·2mo ago
Fixkamo-shared-library

The opportunity templates own their own markup again

The company line was changed to arrive as a complete <p> element from the sender, so an absent company would not leave an empty paragraph. That was the wrong tr...

Kamo·2mo ago
FixSecurityService

An approver who files a request still gets the approver email

The actor was stripped from every audience, so an approver who raised a request was cut from their own notification about it — and in an organization with a sin...

Kamo·2mo ago
Featurekamo-internal

Quotes tab — every quote across the account's leads

A server-paged DataGrid beside Leads, with search over number and title, status, total range and created-date range. Filters share one debounce and collapse in...

kamo·2mo ago
FeatureSecurityService

GET /quotes/account/{uid} — paged, filtered, sorted

Dates arrive as ISO strings and parse leniently: a filter the client sends badly should narrow nothing rather than 400 the whole grid. A date-only "to" bound co...

Kamo·2mo ago
Featurekamo-shared-library

Page and filter an account's quotes in the database

An account view needs every quote across all its leads. Loading them to render a page degrades every month the account is in use, and any total shown would only...

Kamo·2mo ago
Featurekamo-signer-monorepo

Show the assigned agent on the customer's copy

Inalingana na muhtasari wa wafanyakazi: kichwa cha barua kinataja org, hii jina mtu kuuliza.

Kamo·2mo ago
Featurekamo-internal

Show the assigned agent on the preview

Jopo la "Mawasiliano Yako" juu ya footer - jina, cheo, simu na barua pepe - hivyo mteja Kujua nani kuuliza kuhusu gharama. Kukataa kabisa wakati uongozi haukuba...

kamo·2mo ago
FeatureSecurityService

Resolve the agent alongside the customer, from one lead lookup

Both blocks come off the same lead, so the controllers fetch it once and derive each from it rather than hitting the service twice per render. Still org-scoped ...

Kamo·2mo ago
Featurekamo-shared-library

Name the lead's assigned agent on the document

Kichwa cha barua hutambua org, lakini mteja aliye na swali kuhusu mahitaji ya bei mtu ambaye ana uhusiano. Orodha hiyo sasa inashikiliwa na maafisa wa usalama –...

Kamo·2mo ago
FixKlusterServices

Liveness probe could never pass — cause of 920 restarts in 35 days

Root cause: the liveness probe was `tcpSocket: port 10000`, but Scylla's REST API binds to api_address 127.0.0.1 (its default) while a tcpSocket probe dials the...

Kamo·2mo ago
Featurekamo-internal

Reassign the agent holding an opportunity

The approver's dialog gains an agent picker, drawn from the same pool the backend validates against. The grid's Agent column now shows who HOLDS the opportunity...

kamo·2mo ago
FeatureSecurityService

Reassign the holding agent, and email everyone it affects

An approver can now hand an opportunity to a different agent. The requester is never rewritten — applyPrimaryAgent records the move as its own history row with ...

Kamo·2mo ago
FeatureEmailService

Preview samples for the nine opportunity notifications

Without an arm here the admin Email Templates editor renders every placeholder blank, so anyone customising these nine would be editing an empty skeleton. One ...

Kamo·2mo ago
FeatureInitializerService

Reassignable primary agent on a reserved opportunity

PRIMARY_AGENT_MEMBER_ID is who holds the opportunity now; REQUESTED_BY_MEMBER_ID is left untouched forever. Nullable with no backfill on purpose — null means "n...

Kamo·2mo ago
Featurekamo-shared-library

Reassignable primary agent, and nine notification templates

An approver can hand an opportunity — and the commission with it — to a different agent. PRIMARY_AGENT_MEMBER_ID is who holds it now; REQUESTED_BY_MEMBER_ID is ...

Kamo·2mo ago
August 4, 2026
Fixkamo-internal

Stop rounding the lead id through a JS number

Number("1189175700550025222") is 1189175700550025200 — lead ids are unique_rowid() values above Number.MAX_SAFE_INTEGER. The quotes pane converted the route par...

kamo·2mo ago
Featurekamo-internal

Overall commission, market defaults, and no pre-picked units

Three changes to how commission is captured. Nothing is pre-selected any more. Percent/Amount and One-time/Recurring both start unset on every commission split...

kamo·2mo ago
FeatureSecurityService

Agree an overall commission at approval, seeded from the market

The approver now records what the organization pays on the sale to the requesting agent and their group. Omit it on approve and the lead's market default applie...

Kamo·2mo ago
FeatureInitializerService

Commission columns for reserved opportunities and market defaults

Six nullable columns: the overall commission agreed on a reserved opportunity, and the market default that pre-fills it at approval. NUMERIC(19,4) to match the ...

Kamo·2mo ago
Featurekamo-shared-library

The overall commission on a sale, and market defaults for it

Fursa iliyohifadhiwa sasa inarekodi kile ambacho shirika hulipa nje ya uuzaji Kikundi cha maombi na kikundi ambacho wanashirikiana nao - sufuria ya per-colleagu...

Kamo·2mo ago
Fixkamo-shared-library

Kubeba vitambulisho vya kuongoza kama kamba - idadi ya JS inawapotosha kimya

Alama zinazoongoza ni thamani ya CockroachDB ya kipekee rowid () hapo juu. Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ... 1189175700550222222 inakuwa 11891...

Kamo·2mo ago
CIKlusterServices

Manage ScyllaDB through deploy-services instead of by hand

scylladb/ held complete manifests but had no deploy step — the comment said it was "deployed MANUALLY after the 16TB drive swap" because the data dir /mnt/backu...

Kamo·2mo ago
FixKlusterServices

Resync drifted manifests with live before enabling full reconciles

Auditing what a full reconcile would apply turned up two manifests that had drifted far enough from the cluster that re-applying them would have caused an outag...

Kamo·2mo ago
RefactorKlusterServices

Rename cluster ratestack-scylla -> kamo-scylla, correct ownership docs

This instance is kamo's: it backs the `kamouniverse` keyspace (read/written by **************** through the scylladb-direct ExternalName) and the `audit` keyspa...

Kamo·2mo ago
Featurekamo-internal

Render the client's details on the preview, from the lead

Removing the quote's own addressee fields left "Prepared for" blank, because customerName only ever came from a linked Account and lead-raised quotes have none....

kamo·2mo ago
Featurekamo-signer-monorepo

Show the client's details on the customer's copy

Company heads the block when there is one — a quote to a business is addressed to the business, with the contact named beneath it. Matches the staff preview exa...

Kamo·2mo ago
FeatureSecurityService

Resolve the addressee lead for both the staff and customer views

Org-scoped in both places. On the public page the scope comes from the share link's own organization, so a token can never surface a lead belonging to another t...

Kamo·2mo ago
Featurekamo-shared-library

Put the client's details on the document, read off the lead

Dropping the quote's own addressee fields left the document with nothing to say about the client: customerName only ever came from a linked Account, which lead-...

Kamo·2mo ago
ChoreKlusterServices

Scale ratestack MySQL to 0 and suspend its backup job

The ratestack estate has been torn down to free cluster resources for kamocrm. The cluster-services MySQL instance serves ratestack only (kamo and mail each run...

Kamo·2mo ago
Fixkamo-internal

Line the commission-split controls up with the text fields

The Percent/Amount and One-time/Recurring toggles rendered at MUI's default toggle height while the member picker and the share amount beside them come out at 4...

kamo·2mo ago
Fixkamo-internal

Pane owns its spacing and scroll; drop the addressee fields from the form

The lead view's content card is overflow:hidden with no padding — every pane supplies its own, as Details and History do. The quotes pane supplied neither, so t...

kamo·2mo ago
Featurekamo-internal

Move quotes out of commerce and onto the lead

Quotes sat in the commerce pipeline, beside orders and carts rather than beside the client they are for. They now live on the lead: a Quotes tab directly after ...

kamo·2mo ago
ChoreInitializerService

Weka orodha ya wapokeaji

Kiongozi anashikilia jina la mteja, anwani na simu; akihesabu kwenye nukuu Kurekodi rekodi iliyohaririwa mahali pengine. Vifungu vilikuwa na muda mfupi tu na ha...

Kamo·2mo ago
FeatureSecurityService

Expose per-market quote settings; enforce the terms grant

uhakiki wa soko sasa unaelezea mtazamo wa kuongoza ikiwa kutoa tab ya nukuu na ni nini kinachosema quote mpya huanza na, na mwisho wa soko pande zote mbili. Mi...

Kamo·2mo ago
Featurekamo-shared-library

Quotes belong to leads, configured per market

Quotes were a commerce-pipeline artifact, which put them beside orders and carts rather than beside the client they are for. They now hang off the lead: the mar...

Kamo·2mo ago
Fixkamo-internal

Review findings on the reserved list and split editor

Five defects an adversarial review confirmed against the first cut: - The page rendered "You don't have access" on every load. checkRole returns false while ...

kamo·2mo ago
FeatureSecurityService

Reserve, approve and audit lead opportunity claims

REST surface behind /leads/opportunities/reserved and the Reserve Opportunity control in the lead header, plus the service that owns the invariants. Rights, en...

Kamo·2mo ago
FeatureInitializerService

Tables for lead opportunity reservations

Mirrors LeadOpportunityReservation, LeadOpportunityCommissionSplit and **************** in kamo-shared-library. ddl-auto:update would create them from the entit...

Kamo·2mo ago
Featurekamo-shared-library

Entities for time-boxed lead opportunity reservations

An agent stakes an exclusive claim on closing a lead for a bounded window; an approver grants, edits or denies it, and colleagues can be offered a share of the ...

Kamo·2mo ago
Featurekamo-internal

Address the quote to a person; summary stops costing header height

Kuchukua sufuria kwa kupikia ukubwa wa kulia, tuma mboga kwao. Bonyeza chini ya jina. Kwa sasa kuna pengo ambalo limekuwepo kati ya jina na Hatua za haraka, kwa...

kamo·2mo ago
Featurekamo-shared-library

Tuma barua pepe kwa mtu ambaye bado si akaunti

The addressee was derived solely from a linked Account, so any quote raised for a prospect — which is most of them — printed a blank "Prepared for" line and the...

Kamo·2mo 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