KamoCRM

Mabadiliko ya Tabianchi

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

17,594
Mabadiliko ya Jumla
6,048
Features ya
5,310
Wa
30
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,594AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService582InitializerService329KBService151KlusterServices744MCPGatewayService261MediaService602RAGService79SecurityService1,864TranslateService62VOIPService250VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,377kamo-login339kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,674kamo-signer-monorepo56kamolos114
Filter ya aina
Aina zoteBuild16CI523Chore775Docs3,257Feature6,048Fix5,310Other994Performance165Refactor278Revert23Style42Test162Upgrade1
August 10, 2026
ChoreMediaService

Rebuild against shared-library @Lob LONGVARCHAR fix

Hibernate's PostgreSQL dialect read @Lob String columns as OIDs via getLong(). Affects notes, contacts, calendar, OAuth tokens, IMAP passwords, email campaign b...

Kamo·2mo ago
FeatureMediaService

Point at YugabyteDB and use PostgreSQLDialect

CockroachDB has been replaced by YugabyteDB. Connection strings move from cockroachdb-public:26257 to yb-tserver-service:5433, and the Hibernate dialect from **...

Kamo·2mo ago
August 9, 2026
StyleMediaService

Restore CRLF endings in KSessionService

The previous commit rewrote the file with LF, turning a 15-line change into a 577-line whole-file diff. Content is unchanged; this puts the endings back so the ...

Kamo·2mo ago
FixMediaService

Stop renewing the shared *** TTL for idle users

This service keeps its own copy of KSessionService, and it slid the TTL on every read. Gating SecurityService alone therefore fixed nothing: kamo-internal point...

Kamo·2mo ago
PerformanceMediaService

Accept a BLAKE3-only claim so dedup is faster than uploading

The link endpoint demanded both hashes. A browser has no fast SHA3-256, so proving it already had a 358 MB file took ~20 seconds against an 18.8 second upload —...

Kamo·2mo ago
FeatureMediaService

Attach an already-stored file without uploading it again

Forwarding a 2 GB video to three colleagues cost three full uploads. Storage deduplicated them into one object, but only after each transfer had completed and b...

Kamo·2mo ago
August 8, 2026
FixMediaService

Fail a dead upload in minutes instead of holding it for an hour

connectionUploadTimeout is the tolerated SILENCE between reads, not a budget for the whole transfer. Setting it to an hour to 'match Traefik' confused the two: ...

Kamo·2mo ago
FixMediaService

Stop Tomcat's 60s connection timeout killing a long upload

A 2 GiB chat attachment failed after nearly four minutes of successful transfer with MultipartException wrapping a bare SocketTimeoutException, and the member w...

Kamo·2mo ago
FeatureMediaService

Accept 3 GiB attachments by streaming them to storage

file.getBytes() cannot represent an upload this large — a Java array stops just above 2 GiB — so every attachment past that died on an OutOfMemoryError regardle...

Kamo·2mo ago
August 7, 2026
FixMediaService

Catch OptimisticLockException, the type 40001 actually wraps as

Round 3 review fix: hibernate-core's **************** tests LockAcquisitionException (what SQLState 40001 converts to) against four specific types in order, non...

Kamo·2mo ago
FixMediaService

Catch the exception type the claim conflict actually throws

Round 2 review fix: the statement-level 40001 (the common case, detected inside executeUpdate() rather than at commit) surfaces as **************** via Hibernat...

Kamo·2mo ago
CIMediaService

Mirror Maven Central and retry, so one bad byte stops killing the build

The startup fix could not ship: the build died resolving byte-buddy with "Tag mismatch", which reads like a missing artifact but is a download corrupted mid-tra...

Kamo·2mo ago
FixMediaService

Return 409 on every lost claim race, add manager claim path

Round 1 review fixes for the accept-popup claim endpoint: - an ordinary lost race (loser's isClaimableBy already false post-commit) now raises TicketAlreadyCl...

Kamo·2mo ago
FixMediaService

Scan the email repositories DepartmentService now needs

MediaService CrashLooped on every pod since shared-lib 1.5.0: DepartmentService is a @Service, so the wildcard @ComponentScan("com.kamo") builds it here whether...

Kamo·2mo ago
FeatureMediaService

Report the caller's claimable ticket queue

Kamo·2mo ago
FeatureMediaService

GET /types/{typeId}/slots so the settings editor can list slots

The settings UI has always fetched this path, but only POST/PUT/DELETE were mapped, so the Availability Slots tab got a 405 and rendered empty. Unlike /slots/av...

Kamo·2mo ago
FixMediaService

Accept the timeline provider filter as repeated params

The web client sent ?providers=facebook,x as one CSV value. A comma in a query VALUE has to travel as %2C, and a hop that re-encodes turns that into %252C; we d...

Kamo·2mo ago
FixMediaService

Send missed-message emails to the user account, not the org mailbox

The notice existed to say "you have a message waiting, sign in and read it", and it was being delivered to the mailbox this organization assigned the member — w...

Kamo·2mo ago
August 6, 2026
FixMediaService

Kutoa kila wakala kuishi badge badala ya mmiliki mmoja kuhesabu

The nav badge and /support?tab=tickets answered different questions. The page lists every ticket in the org; the badge counted unread chat messages belonging to...

Kamo·2mo ago
FixMediaService

Drop client SENDs to guarded topics, and repair the build at HEAD

TWO THINGS, both of which stop MediaService main from shipping. 1. main does not compile. MediaController:1361 calls **************** which does not exist: ...

Kamo·2mo ago
FeatureMediaService

Relay the legal-package count and guard per-member SUBSCRIBEs

legal.packages.> -> **************** core NATS, no stream — the same shape SupportStompRelayController and PlatformStompRelayController already use. topicFor is...

Kamo·2mo ago
FixMediaService

Announce a message once, when it is whole

Both callers that finish building a message after the row is saved now tell createMessage not to announce it: MediaController attaches the images and publishes ...

Kamo·2mo ago
FixMediaService

Store attachments through the dedup pipeline instead of one object per upload

Attachments wrote their own "<imgId>/<fileName>" object on every upload, bypassing the content-addressed store entirely — the same logo-draft.png attached three...

Kamo·2mo ago
ChoreMediaService

Rebuild for the unified imaging bucket

Picks up kamo-shared-library 3045cc3: ImageAssocType.getBucket() now returns the single "imaging" bucket for every association, so a deduplicated file is stored...

Kamo·2mo ago
FeatureMediaService

Relay SecurityService platform events onto STOMP

SecurityService owns the platform-admin surface — system configuration, DNS provisioning, commerce sync — but has no WebSocket endpoint, so every screen backed ...

Kamo·2mo ago
August 5, 2026
ChoreMediaService

Rebuild against kamo-shared-library 8f3c1ec

Picks up the intake-pool fix: LeadService.createLead now flags unowned leads with requiresAssignment so imported leads are counted by countAssignablePool and ca...

Kamo·2mo ago
FeatureMediaService

Kupata demo kuongoza kabla ya hatua booking

The marketing site's demo form collected name, email, company, company size, industry and a message, then advanced to scheduling without telling anyone. Lead cr...

Kamo·2mo ago
FeatureMediaService

Meeting provider abstraction with Zoom and Microsoft Teams

Meetings were Kamo Meets by construction — MeetService persisted a Meet room name and nothing else. This introduces the abstraction and two remote providers beh...

Kamo·2mo ago
August 3, 2026
FeatureMediaService

Endelea Huduma ya Vyombo vya Habari PHI upatikanaji wa njia ya phi access log

Chat message reads were recorded through the Slf4j default writer, which puts the §164.312(b) trail in a 14-day log stream against a six-year retention obligati...

Kamo·2mo ago
FixMediaService

Scan the shared MFA repositories

MfaEnrollmentService is a @Service in kamo-shared-library, so the wildcard @ComponentScan("com.kamo") in this application constructs it whether or not this serv...

Kamo·2mo ago
FeatureMediaService

Record chat message reads on the endpoints that return bodies

Sending a message left a row; reading one left nothing. Every chat, support and social thread on the platform renders from a handful of endpoints here, and none...

Kamo·2mo ago
ChoreMediaService

Commit outstanding work in progress

Staged and committed as-is so nothing is left uncommitted in the working tree. 3 files changed, 353 insertions(+), 4 deletions(-)

Kamo·2mo ago
FixMediaService

Harden the kubectl download against flaky egress [skip ci]

dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...

Kamo·2mo ago
July 22, 2026
FixMediaService

Mount the live per-host cert instead of the expired wildcard secret

Chombo cha ndani cha cert-converter kilijenga ghala lake la msingi la PKCS12 kutoka kwenye ghala lake. wildcard-kamocrm-com, urithi wa siri ya multi-SAN ambayo ...

Kamo·3mo ago
July 19, 2026
FeatureMediaService

Carry the AI conversation into the human thread on handoff

Creates or reuses the support session, copies the AI transcript in as one system event, routes it, and tells the visitor honestly what happens next. Confidenti...

Kamo·3mo ago
FeatureMediaService

Kukubali kuingizwa kwa wakala katika thread ya kufungua

Simu ya mpokeaji wa AIService. Bila ya yote haya Njia ya nje imefungwa imefungwa imefungwa katika 404 iliyorekodiwa - lango liliruhusu kugusa, Ujumbe uliandikwa...

Kamo·3mo ago
FixMediaService

Kukataa mawakala wa mauzo ya msalaba-org; Widen bootstrap cache busting

salesAgentId was persisted from the request body unchecked, so a cross-org or dangling agent id could be stored on a WebChatIntegration. It failed safe only bec...

Kamo·3mo ago
July 18, 2026
FeatureMediaService

Tuma wakala wa mauzo kwa kituo + ripoti LO upatikanaji

- WebChatIntegration CRUD nyuzi mauzoAgentId (null wazi kazi) -Utangulizi sasa unarudisha upatikanaji wa wanachama pamoja na mtandao, hivyo widget inaweza kuony...

Kamo·3mo ago
FeatureMediaService

Angalia ishara ya routing, endelea leadUid, reassign chat juu ya hoja ya kuongoza

- createSupportSession takes a signed routingToken (not preferredAgentMemberId); verified via ChatRoutingTokenCodec + cluster internal.auth.secret, enforces ...

Kamo·3mo ago
July 17, 2026
FixMediaService

Exclude non-ACTIVE members from chat participation & routing

A non-ACTIVE **************** member must not appear as, or be targeted as, a live chat participant. Gate every chat path on the shared-lib **************** pre...

Kamo·3mo ago
July 16, 2026
FeatureMediaService

Snapshot mtandao-chat ushirikiano id juu ya msaada mgeni + tiketi

Resolves the WebChatIntegration by creatingKeyHash (enabled-filtered, consistent with bootstrap()/AI-prompt resolution) once in createSupportSession and stamps ...

Kamo·3mo ago
FeatureMediaService

Chaguo la bootstrap config

Adds an internal GET **************** that resolves a WebChatIntegration by X-Public-Chat-Key-Hash and returns its resolved design/behavior config (default-fill...

Kamo·3mo ago
ChoreMediaService

Wire optional mediaservice-push secret for FCM/APNs credentials

Mounts the FCM service-account JSON + APNs .p8 from an optional `mediaservice-push` secret at /etc/kamo/push and sets the APNs key-id/team-id from the same secr...

Kamo·3mo ago
FeatureMediaService

WebChatIntegration CRUD (mints key + integration, org-scoped)

Org-facing management API for the Phase-2 web-chat settings tab. On create, mints the underlying PublicChatApiKey (same key-gen approach as PublicChatKeyControl...

Kamo·3mo ago
July 15, 2026

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