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 8, 2026
Fixkamo-internal

Remember "display external images" per message

The unblock choice lived in the renderer's local state, but switching messages unmounts/remounts the iframe renderer (the reading pane shows a loader between me...

kamo·3mo ago
Fixkamo-internal

Treat ACTIVE status as connected in OAuth provider configs

The Microsoft 365 / Google Workspace / Zoho config views gated their connected state on providerStatus === 'CONNECTED', but the backend EmailProviderStatus enum...

kamo·3mo ago
FixEmailService

Persist selected OAuth provider on callback so it stops reverting to KamoMail

Switching an org to Microsoft 365 (or Google Workspace / Zoho) never stuck: the OAuth callback stored tokens and only flipped status on a pre-existing provider ...

Kamo·3mo ago
FixEmailService

Resolve welcome-email logo from the org theme host, not the apex

Header/footer logos in system emails (welcome/verification) were built as **************** — an apex path that only exists on the Kamo marketing site, so for cu...

Kamo·3mo ago
Fixkamo-internal

Source home from the nav registry, add nav cross-highlight, fix settings scroll

The home page was rendering a stale, separately-maintained feature list (Clubhouse, Feed, Reports, Tasks, Network) that isn't even in the nav registry, so it ex...

kamo·3mo ago
Fixkamo-shared-library

Suluhisho la wakati wa muda ni pamoja na madirisha ya SuperSEDED (masuluhisho ya kihistoria ya ufanisi)

All three effective-version resolvers (rate-sheet, guideline, lock-policy) queried only status=ACTIVE, then window-filtered. But supersession flips the prior ve...

Kamo·3mo ago
FixDocsService

Bounds-check assoc-type ordinal lookups (fixes Materials list 500)

DocsService was running a shared-lib built before ImageAssocType.MATERIALS (ordinal 11) was added, so listDocuments' ImageAssocType.values()[11] threw ArrayInde...

Kamo·3mo ago
FixKlusterServices

Move data dir off MinIO FUSE mount to local disk

rspamd's /var/lib/rspamd was hostPath-backed by the rclone FUSE mount of the MinIO shared-files bucket. Every hyperscan recompile / map refresh rewrote files th...

Kamo·3mo ago
FixMediaService

Endelea bendera zilizopangwa za kidole kupitia update iliyopangwa

Same detached-entity orphanRemoval issue as the conversion pipeline: the headless sweep held a detached ImgDat and save()/merge() cascaded into the images colle...

Kamo·3mo ago
FixConversionService

Persist thumb flags via targeted update, not detached save

Picha / video / PDF hatua thumbnail kuweka bendera thumb juu ya ImgDat detached na kuitwa kuokoa(), ambayo inaunganisha na cascades katika ukusanyaji wa picha z...

Kamo·3mo ago
Fixkamo-shared-library

Kukataa mapato mabaya / mali / dhima kiasi katika sehemu ya kuokoa

Inaongeza ulinzi wa dharura (tayari kwa kiasi cha mkopo + thamani ya mali) Kwa pembejeo za msingi za DTI / Asset katika Huduma ya Kukopa: mapato ya ajira [TD="w...

Kamo·3mo ago
FixConversionService

Stop uploads hanging on 'Converting...' — route NATS progress + direct image thumbnails

The conversion-progress publish used NatsMessageService.publish(), which asserts expectedStream=<this service's stream>. The subject **************** resolves t...

Kamo·3mo ago
Fixkamo-internal

Add Marketing to the security-model app editor

The model editor's app list (SERVICE_TYPES) is a hand-maintained mirror of ServiceType.java and was missing MARKETING — so Marketing had no row in the apps tab,...

kamo·3mo ago
FixMCPGatewayService

Constant-time internal-auth secret compare (timing oracle)

Replace String.equals with MessageDigest.isEqual so response latency cannot leak the X-Internal-Auth shared secret byte-by-byte. Fleet-wide sweep of the copy-pa...

Kamo·3mo ago
FixTranslateService

Constant-time internal-auth secret compare (timing oracle)

Replace String.equals with MessageDigest.isEqual so response latency cannot leak the X-Internal-Auth shared secret byte-by-byte. Fleet-wide sweep of the copy-pa...

Kamo·3mo ago
FixVOIPService

Constant-time internal-auth secret compare (timing oracle)

Replace String.equals with MessageDigest.isEqual so response latency cannot leak the X-Internal-Auth shared secret byte-by-byte. Fleet-wide sweep of the copy-pa...

Kamo·3mo ago
FixEmailService

Constant-time internal-auth secret compare (timing oracle)

Replace String.equals with MessageDigest.isEqual so response latency cannot leak the X-Internal-Auth shared secret byte-by-byte. Fleet-wide sweep of the copy-pa...

Kamo·3mo ago
FixKlusterServices

/dev/shm 2Gi (mahitaji ya kichwa cha Chrome > = 2GB + kikomo cha 6Gi mem)

Jibri's 10-config init mimba na '/dev/shm lazima angalau 2GB' wakati shm ni 512M, vunja rekodi ya rekodi. Weka tmpfs kwa 2Gi na kikomo cha kumbukumbu 6-Kufanya ...

Kamo·3mo ago
FixSecurityService

Include both desktops in every SSO token, deep-link to the chosen one

Each token carried only its own connection, so the browser's reused json session lacked the other one -> opening Windows after Linux gave 'connection does not e...

Kamo·3mo ago
FixSecurityService

Route borrower submit through the pipeline so it fires **************** (audit #3)

mkopaji wa patchLoanFile kuwasilisha (DRAFT->APPLICATION TAKEN) sasa simu Kwa mfano, *** Badala ya update Orodha ya majina, hivyo Kuwasilisha hutoa hatua ya bom...

Kamo·3mo ago
FixMediaService

Wrap recording upload so MediaService compiles

MinIOStorageService.upload throws a checked Exception that ingest() neither caught nor declared — build break on top of the isGuest fix. Wrap it and rethrow as ...

Kamo·3mo ago
FixMediaService

MeetingParticipant.isGuest() (was getGuest, won't compile); repoint transcribe to generic endpoint

MeetingParticipant exposes isGuest() (primitive boolean getter), not getGuest(). Also point the summary transcribe call at the shared /api/conversion/transcribe...

Kamo·3mo ago
FixKlusterServices

Correct Guacamole branding manifest version field

Ilani ilitumia guacManifestVersion:1.0; upanuzi wa vifungu hutumia guacamoleVersion. Eneo baya lilimfanya Guacamole kukataa upanuzi wa alama ('hauwezi kusoma' y...

Kamo·3mo ago
Fixkamo-internal

Stop double-appending ?target in the SSO proxy route

kwa hiyo, ni lazima tuilinde barabara hiyo ili iweze kujiendesha yenyewe. Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .........................................

kamo·3mo ago
July 7, 2026
FixSecurityService

Resolve session from X-***-Token header in CallerSessionResolver

The kamo-internal -> APIService BFF path forwards the session as the X-***-Token header, but the resolver only read the X-OTK attribute or the *** cookie — so B...

Kamo·3mo ago
FixSecurityService

PatchLoanFile is no longer a status backdoor; unblocking a condition needs the underwrite right; clear cascades

**************** status changes are the pipeline state machine's job (POST /transitions enforces legal arrows + per-arrow role gate + open-blocking-condition ga...

Kamo·3mo ago
Fixkamo-shared-library

Hali ya sehemu PATCH haiwezi kufuta kimya bendera ya kuzuia; template kuzuia default kuheshimiwa; kuchapisha baada ya kufanya

[TD="width: 456"] a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a ...

Kamo·3mo ago
FixSecurityService

Inject KamoDesktop SSO env directly + wire guac-sso into tracked k8s deployment

@Value inasoma KAMO GUAC SIGNING KEY / DESKTOP PASSWORD kutoka env moja kwa moja (runtime) matumizi.yml ni configmap-mounted, hivyo mali isiyohamishika bila kum...

Kamo·3mo ago
FixKlusterServices

Move guacd to pod network (MTU fix) + unicast WoL

guacd on hostNetwork (k1m1 eno49 MTU 1500) vs guacamole pod on cilium overlay (MTU 1420): RDP connected but large frames were dropped across the boundary -> 'Gu...

Kamo·3mo ago
Fixkamo-internal

Sign invited members into meetings via click-time OTK join links

Invite links (chat + email) previously embedded a bare meet-room URL, so recipients landed as anonymous guests instead of themselves. An OTK can't be pre-embedd...

kamo·3mo ago
FixMediaService

Persist invited participants, enforce MANAGE_MEET_SETTINGS, drop double-invite path

- createMeeting: invited members are numeric snowflake IDs, not UUID strings — route them through longToUUID like the creator. Previously UUID.fromString th...

Kamo·3mo ago
FixKlusterServices

Angalia eneo la desktop kwa IngressRoutes

desktop.kamocrm.com IngressRoute anaishi katika desktop ns, lakini CRD ya Traefik Picha zote na Wizara ya Mambo ya Ndani ya Nchi. .................................

Kamo·3mo ago
FixKlusterServices

Uagizaji wa VM disk kama mfumo wa faili, sio kuzuia

CDI's block importer crashlooped: 'blockdev: cannot open /dev/cdi-block-volume: Permission denied' — it can't access the raw Longhorn block device. Filesystem v...

Kamo·3mo ago
FixSecurityService

Borrower submit fires the Application-Taken side effects (doc checklist + notify)

Mpokeaji wa barua pepe ni mpokeaji wa barua pepe. operator /transitions mwisho mahali ambapo Maombi-kuchukuliwa madhara kuishi - hivyo mkopaji kuwasilisha yanay...

Kamo·3mo ago
Fixkamo-shared-library

Reject negative loan amount / property values on section saves

updateLoan and updateProperty now reject a negative monetary amount on the LTV inputs (loan amount, estimated/purchase/appraised value) via requireNonNegative —...

Kamo·3mo ago
FixKlusterServices

Correct KubeVirt VM cloud-init field + modernize spec

- cloudInitNoCloud userdata secret field is 'secretRef' (not userDataSecretRef); KubeVirt v1.8.4 pruned the wrong field -> 'must have at least one userdatasou...

Kamo·3mo ago
Fixkamo-nowww

Never prepend www to subdomains, only to the bare apex

The catch-all redirected ANY non-alias host to https://www.<host>, which is correct for the bare apex (kamocrm.com -> www.kamocrm.com) but wrong for a subdomain...

Kamo·3mo ago
FixSecurityService

Borrower cannot escalate loan-file status or edit the URLA after submission

Two related borrower-authorization holes on the self-service app endpoints: - Privilege escalation (#2): patchLoanFile applied any statusId with no caller-ri...

Kamo·3mo ago
Fixkamo-shared-library

Loan-file status accessor for borrower edit-lock, borrower-delete cascade, gift-recipient app scoping

**************** orgId): read helper backing the borrower post-submission edit lock (a borrower may only edit the URLA while the file is DRAFT). **************...

Kamo·3mo ago
Fixkamo-internal

Show member avatars in the Chats tab

MediaService returns chat-session member avatarUrl=null by design (avatars are resolved on the frontend), but the Chats tab never resolved them, so it always fe...

kamo·3mo ago
FixSecurityService

Borrower self-create idempotency + orphan compensation; don't relay an empty checklist as success

MortgageAppController.create() borrower self-create branch: - Idempotency (#2): resume an existing owned DRAFT via findOwnedDraft instead of minting a duplica...

Kamo·3mo ago
Fixkamo-internal

Readiness banner refreshes with the Refresh button and never shows an empty market name

Two follow-ups on the MLOS default-lead-source readiness banner: - Refresh (IconButton) now also calls loadMlosReadiness(), so surfacing a newly-created marke...

kamo·3mo ago
Fixkamo-shared-library

Idempotent borrower self-create draft + deterministic active lead-market resolution

**************** memberId): resolves the member's existing in-progress DRAFT application so a repeated borrower self-create (double-click / reload / second tab ...

Kamo·3mo ago
Fixkamo-internal

Explain why the MLOS default-lead-source control is hidden instead of silently dropping it

Juu ya wachuuzi-bidhaa tab "designate default kuongoza bidhaa" udhibiti ni Imefungwa juu ya utayari wa mikopo-vertical - POS enabled, MORTGAGE kazi soko la bias...

kamo·3mo ago
Fixkamo-shared-library

DbNow (kwa sasa) kutumia CAST (kama timestamp), si sasa (:timestamp)

:::timestamp shorthand ni mangled na Hibernate ya asili-query parser (inasomeka) a a a a a a a a a a a a a a a a a a a a a a a a a a a...

Kamo·3mo ago
Fixkamo-internal

Kuacha duplicate chat popups kwa ajili ya mazungumzo hayo

Chombo-window dedup tu exact-matched moja userId muhimu dhidi ya WindowsRef, kwa hivyo mazungumzo ya 1: 1 yalifunguliwa mara mbili: - mtumiaji Id kutoka mstari...

kamo·3mo ago
Fixkamo-internal

Show all enabled-app permission groups in job title & department editors

JobTitleManager and DepartmentManager only ever rendered two permission groups — General and CRM — so **************** rights were invisible and uneditable ther...

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