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
July 7, 2026
Fixkamo-shared-library

Resolve member rights as a true waterfall instead of NUKE-always-wins

Effective rights were computed by folding every source (roles, department, job title, member) into one map where NUKE always won. That meant a member holding bo...

Kamo·3mo ago
FixSecurityService

Revert securityProvider to self-pointing; self-heal member applied rights

Mambo mawili ya kuzingatia kuhusu mabadiliko ya tabianchi: Kuingia-kama-mfumo-Member alishindwa na "Hakuna uanachama katika shirika" huduma ya afya kwa kila mt...

Kamo·3mo ago
Fixkamo-internal

Refresh provider status when OAuth popup closes

The provider now redirects to the api-gateway callback (a different origin), so its postMessage may not pass the opener origin check. Re-fetch real provider sta...

kamo·3mo ago
FixDocsService

Serve e-sign editor PDF for any converted doc, incl native PDFs

The e-sign editor (DocumentEditor → PdfCanvas / PageThumbnailSidebar) opens any converted document, not only files uploaded through the sig-template flow. It fe...

Kamo·3mo ago
Fixkamo-internal

My Docs uses MY_DOCS ordinal (3), not enum id (4)

The backend resolves ImageAssocType via `values()[assocType]` (ordinal index) and persists it @Enumerated(ORDINAL). Every imaging surface passes the ordinal, bu...

kamo·3mo ago
FixConversionService

Convert deduplicated documents so e-sign edit is enabled

When an uploaded file's bytes matched an existing ImgDat, the dedup path (register-existing) reused that dat verbatim and never ran the conversion pipeline. If ...

Kamo·3mo ago
FixVOIPService

Return 200 allFalse for unconfigured org capabilities

GET /api/voip/capabilities threw ProviderNotConfiguredException (422) when an org had no phone provider, logging a red console error on every page load for phon...

Kamo·3mo ago
Fixkamo-internal

Stop 404/422 console errors for un-customized nav and phone-less orgs

Read the ui-preferences collection endpoint (always 200) for the initial navLayout load instead of the single-key GET, which 404s when a member has never custom...

kamo·3mo ago
FixKlusterServices

Proactively provision browser-only aliases (media.*)

The log-scan discovery mechanism can never bootstrap the `media` alias: it is only ever contacted by the browser over a WebSocket/XHR subresource (SockJS /ws/in...

Kamo·3mo ago
FixSecurityService

Interpret lock LAST EDIT AT kama UTC kwa epoch-millis expiry

dbNow() sasa inarudi saa ya ukuta wa DB-UTC (sasa: timestamp), kwa hivyo urejeshe kabisa. Haraka na toInstant (UTC) badala ya eneo la default la JVM - huhifadhi...

Kamo·3mo ago
Fixkamo-shared-library

DbNow() cast now()->::timestamp (TIMESTAMPTZ->Instant broke LocalDateTime)

SELECT now() returns TIMESTAMPTZ, which Hibernate materializes as java.time.Instant and cannot cast to the declared LocalDateTime return type — throwing ClassCa...

Kamo·3mo ago
July 6, 2026
Fixkamo-internal

Agent filter inaonyesha jina la mwanachama + ugani wa simu, si barua pepe

Wakala wa kushuka alama kila mchezaji na barua pepe yao kwa sababu mzigo Soma Mwanzo / Mwisho Jina la uwanja wa vita haliko mbali. Jina la kwanza / la mwisho / ...

kamo·3mo ago
Fixkamo-shared-library

Correct inverted parent-shared topic query

The child-org topic query filtered on assignToOwnOrg=TRUE (own-org-only) when it should return topics SHARED with child orgs (assignToOwnOrg=FALSE). Rename the ...

Kamo·3mo ago
Fixkamo-register

Send the registrant's hostname in the body so the account lands under the right org

The resolved org was available on the client but never sent to the backend — the org was conveyed only implicitly via X-Forwarded-Host, which the ingress rewrit...

Kamo·3mo ago
FixSecurityService

File new accounts under the org of the domain, not kamocrm

/register bound the new member's org to the request Host, but the org signal never survived the hop: kamo-register proxies every signup to the shared api.kamocr...

Kamo·3mo ago
Fixkamo-shared-library

Resolve org-by-domain with a deepest-label alias fallback

Add **************** exact domain match, then drop the deepest label once (register.optionone.com -> optionone.com) so a per-org register/branding subdomain res...

Kamo·3mo ago
Fixkamo-login

Stop viewport shaking on browsers with classic scrollbars

On machines whose Chrome uses layout-consuming (non-overlay) scrollbars, the login/recover pages fidgeted with both scrollbars flickering. Root cause: the root ...

Kamo·3mo ago
Fixkamo-internal

Remove "Not available to you" section

Stop surfacing nav features a member lacks access to. The Navigation Layout page listed every hidden nav option as locked chips; dropped the block along with th...

kamo·3mo ago
FixDocsService

Generic byte endpoints refuse MLOS per-party docs (vault/loan)

The generic imaging byte endpoints (download / stream / bulk-download / thumbnail) and the binder aggregation authorized only on org + a numeric clearance ceili...

Kamo·3mo ago
Fixkamo-internal

Center the vendors-products status snackbar at top

Kidonge cha hali ya kuokoa / update kilitumia nanga ya default ya MUI (bottom-kushoto, hakuna Na kwa upande wake, Kinana amefafanua kuwa katika Bonyeza kwenye T...

kamo·3mo ago
Fixkamo-shared-library

CreatePair is idempotent for the primary pair (stops duplicate BorrowerPairs)

createPair's sole caller is the wizard's 'ensure primary borrower', but it unconditionally inserted a new pair every call, so a concurrent autosave + explicit S...

Kamo·3mo ago
FixDocsService

Don't serve soft-deleted documents on /stream and /bulk-download

getDocumentMetadata (used by the stream + bulk-download byte paths) does not filter trashed rows the way downloadDocument does, and a soft delete leaves the Min...

Kamo·3mo ago
Fixkamo-internal

Add missing Next.js proxy routes for MLOS default-product + readiness

Ukurasa wa bidhaa za wauzaji ulitupa 'kushindwa kuweka bidhaa default:' kwa sababu Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ................................

kamo·3mo ago
Fixkamo-internal

Dawa sahihi ya muda wa majaribio (ilikuwa 20644d)

Wakati NavPri ilikuwa rewritten dakika-tick ilikuwa iliyopita kutoka tarehe.now () kwa kuanza saa 0, na kwamba counter ilipitishwa kama hoja 'sasa' Uendelezaji ...

kamo·3mo ago
Fixkamo-internal

Weka kifungo katika safu ya kichwa (haki) + maudhui kamili

- "Reset to Standard" now sits on the same row as the "Navigation Layout" heading, right-aligned, with the heading left-aligned (moved out of the footer). - T...

kamo·3mo ago
Fixkamo-shared-library

PublishRouted so los.pipeline.* events land in LOS_PIPELINE, not rejected

NatsMessageService.publish() pins expectedStream=CHAT_MESSAGES; a los.pipeline.* subject is owned only by the LOS_PIPELINE stream, so the server rejected every ...

Kamo·3mo ago
FixSecurityService

Mahitaji ya mkopo wa Scope kwa chama chake

Mahitaji ya nyaraka / nyaraka zilizoingizwa zinasoma mamlaka ya chama chochote kwenye programu na Kila mmoja atimize wajibu wake, kwa hiyo, kwa mkopo wa pamoja,...

Kamo·3mo ago
FixSecurityService

Per-party vault authorization + per-party notification routing

Akaunti ya kuba ilikuwa na nyaraka kwa kila-PARTY (pamoja binadamu) lakini iliidhinishwa Upatikanaji kwa kila-ACCOUNT - kasoro mbili kubwa za kibinadamu kwa mko...

Kamo·3mo ago
Fixkamo-internal

Responsive trial pill + tighten remaining oversized hero headers

- NavPri trial pill: when the rail is expanded it becomes a full-width pill with the fully-qualified label centered ("Trial — 4d 7h 9m left"); collapsed it st...

kamo·3mo ago
Fixkamo-shared-library

Gate intake @Component beans behind mlos.intake.enabled (opt-in)

BorrowerScenarioProfileService and ProductDiscoveryGate are shared-lib @Component/@Service beans that inject **************** / mlos.config repos. With blanket ...

Kamo·3mo ago
Fixkamo-internal

Tighten oversized vertical padding on page title headers

The gradient page-title headers had far more top/bottom padding than the horizontal inset where the title text starts, wasting vertical space. Bring the vertica...

kamo·3mo ago
Fixkamo-internal

Kutumia umeme-bolt icon kwa Leads mechi /leads UI

Chaguo la viongozi lililotumiwa AccountTreeIcon; vitendo vya "Leads Available" Picha zote na Wizara ya Mambo ya Ndani ya Nchi. ....................................

kamo·3mo ago
Fixkamo-internal

Deslop iliyobaki Quick Tips maudhui + kufanya inaongoza tips collapsible

- security, operations, account, and CRM settings help columns: removed all emoji (💡 🚫 ⏳ ✅ 🌍) and rainbow-coloured bullets; every list marker is now one ...

kamo·3mo ago
FixSecurityService

Mradi wa Bomba la Transaction wavunjika

TransactionSummaryDTO.loanUids carried LOAN-FILE uids, but the pipeline console keys rows on the APPLICATION uid — so grouping silently fell back to one row per...

Kamo·3mo ago
Fixkamo-shared-library

**************** (the doc-requirement key)

Surfaces the backing LoanFile.uid so the pipeline can map an app row to its document requirements.

Kamo·3mo ago
Fixkamo-internal

Settings topics are expand-only, not links

Settings topics (Essential Setup, CRM, Security, …) are group headers with no page of their own — only their sub-topics are real destinations. Drop the topics' ...

kamo·3mo ago
FixSecurityService

Member-vault upload was broken (access_level NOT-NULL)

The account-level imaging path had never actually run (0 vault Imgs in prod): uploadDocument was passed accessLevel=null. Pass CONFIDENTIAL for borrower PII (ID...

Kamo·3mo ago
Fixkamo-shared-library

Stop party fragmentation — enrich the stamped party in place

Live E2E showed a single loan producing 4 parties for 2 humans (an empty placeholder was created at borrower-create before identity, then a 2nd party at identit...

Kamo·3mo ago
Fixkamo-internal

Clean rail alignment, uniform top-bar tiles, and replace Settings slide-out with a sub-option menu

- NavPri logo: the 56px tile made the top of the rail wider than the 44/48px options below it, and collapsed options rendered left-aligned. The logo now sha...

kamo·3mo ago
FixInitializerService

Mlos requirement single-live index keyed per-human (borrower_uid)

Drop the party-only **************** (it would reject a legitimate 2nd co-borrower requirement); create **************** on **************** Already applied to ...

Kamo·3mo ago
FixSecurityService

Satisfy-across confused-deputy IDOR + account party self-heal

- HIGH: satisfy-across gated on the path partyId but fanned out over the DOCUMENT's own party downstream; verify the document belongs to the authorized party ...

Kamo·3mo ago
Fixkamo-shared-library

Party-link cross-human leak + account-level backfill

Adversarial-review fixes: - HIGH: drop the memberId dedup that conflated the loan's isPrimary borrower with the account OWNER — a member self-creating a loan ...

Kamo·3mo ago
FixSecurityService

Viungo vya kibinafsi kabla ya mahitaji ya utajiri

listDocumentRequirements calls ensurePartyLinks so requirement rows always carry an accountBorrowerPartyId (the borrower upload/satisfy target).

Kamo·3mo ago
July 5, 2026
Fixkamo-internal

Vendors-products — white-label default-product terminology, dialog option, FFA header

- Rename 'KamoMLOS' → 'Borrower Origination Web Portal' everywhere in the vendors-products UI (star tooltip, snackbars) — this is a white-label multitenant pr...

kamo·3mo ago
FixSecurityService

Default-product set failed — HQL bulk UPDATE disallows the vendor→org join

setDefault used a bulk 'update LeadVendorProduct ... where p.vendor.id in (subquery)' — Hibernate bulk updates reject the implicit association join, so the call...

Kamo·3mo ago
Fixkamo-shared-library

CreateBlank must persist the app graph before bootstrapBorrower

bootstrapBorrower seeds a Declarations/HMDA shell whose NOT-NULL borrower FK requires the Borrower to be persistent; createBlank called it BEFORE the cascading ...

Kamo·3mo ago
FixSecurityService

Borrower self-create = createBlank then stampOwnershipAndGet (two txs)

Sequence the borrower ownership stamp as a separate service call after createBlank commits, so the new borrower/declarations graph is flushed before the account...

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