KamoCRM

Mabadiliko ya Tabianchi

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

17,552
Mabadiliko ya Jumla
6,024
Features ya
5,294
Wa
30
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,552AIService258APIService174BillingService157ConversionService110DaemonService138DocsService223ESigService91EmailService581InitializerService329KBService151KlusterServices742MCPGatewayService255MediaService602RAGService79SecurityService1,857TranslateService62VOIPService249VectorService11kamo-apps26kamo-asterisk-support27kamo-capcha17kamo-capcha-widget4kamo-internal8,362kamo-login336kamo-marketing641kamo-nowww20kamo-register213kamo-shared-library1,667kamo-signer-monorepo56kamolos114
Filter ya aina
Aina zoteBuild16CI523Chore775Docs3,255Feature6,024Fix5,294Other994Performance165Refactor278Revert23Style42Test162Upgrade1
August 20, 2026
Fixkamo-internal

Every country flag in the app was a blocked image

Eight more screens had the defect found in the marketing visitor drawer. The app is served under img-src 'self' data: blob: https://theme.kamocrm.com https:/...

kamo·2mo ago
Fixkamo-internal

Flags are emoji, because the CSP blocks every flag CDN

The visitor drawer painted a broken-image glyph where each country flag should be. react-country-flag's `svg` mode reads like a self-contained component and is ...

kamo·2mo ago
Featurekamo-internal

Offer Company Name as a mappable import field

leadFields.ts is the list the mapping canvas draws from, and it must mirror the backend switch in LeadImportController — a path missing from either side is acce...

kamo·2mo ago
Featurekamo-internal

Retitle Modified to Converted and fix two tab icons

Both tabs wore an icon that already means something else in this grid: the Modify tab used GetApp, the row-level download button, and Converted used EditNote, t...

kamo·2mo ago
Fixkamo-internal

Clear the unread badge for a conversation the member is reading

The badge was fed by two unordered sources — the REST unread read and MediaService's unread topic — and applied whichever landed last, with nothing ever re-read...

kamo·2mo ago
Featurekamo-internal

Choose which page a tracking link lands on

A code is not tied to a page — the marketing site captures it site-wide — so the only real question when sharing one is where the visitor should land. The produ...

kamo·2mo ago
Fixkamo-internal

Show the code as a handle, not 36 characters of hex

Moving the token to a UUID left the grid rendering the whole thing, which is correct in a URL and useless in a table: it cannot be scanned, compared against the...

kamo·2mo ago
Featurekamo-internal

Build the shared link as ?discount=<uuid>

buildTrackingLink emits the new parameter, and the link strip highlights the ?discount= segment it used to highlight as ?mrt=. The token itself is now an opaque...

kamo·2mo ago
Featurekamo-internal

Show when a visitor's credit moved to another link

The timeline gains ATTRIBUTION_MOVED, in the warn tone — not a conversion and not a failure, but the moment this visitor stopped being this member's to earn fro...

kamo·2mo ago
Featurekamo-internal

Move Windows Desktop and Master Machine into Platform Admins

Both are Guacamole targets that share one credential between everybody, which makes them operator tooling rather than a member's own workspace. They were top-ba...

kamo·2mo ago
Fixkamo-internal

A popup with nowhere to dock now overlaps instead of not opening

A tool window — the email composer, a support conversation, a chat, the softphone — would sometimes simply not appear, and be fine after a reload. Three silent ...

kamo·2mo ago
Fixkamo-internal

Say which link the strip is offering

"Your tracking link" showed exactly one link while a member can hold any number of them, so the strip silently rendered whichever code the sort put first and ga...

kamo·2mo ago
Otherkamo-internal

Finish the details the first pass left rough

Nine small corrections, each with a visible symptom. The drawer opened on ~0.4s of blank panel: `loading` started false, so the first committed render fell thr...

kamo·2mo ago
Featurekamo-internal

Build out Tracking Codes in place of the referral placeholder

/marketing/discounts was a ComingSoon stub; it is now /marketing/tracking, a working workspace, with the old path kept as a client redirect so existing bookmark...

kamo·2mo ago
August 19, 2026
Featurekamo-internal

Shorten the empty-description hint

The Description column shows {No Description} in place of "No description provided..". The string was hardcoded English, so it now comes from the dictionary — w...

kamo·2mo ago
Featurekamo-internal

Reorder and retitle the document tabs

The strip now reads Originals | Modify (n) | Modified | Binders | Common | Uploads, and Common trades the gear icon for a library one now that it no longer says...

kamo·2mo ago
Fixkamo-internal

Stop opening a note from overwriting it with a blank body

The editor seeded its buffer with `note.content || ''`, then compared that '' against the incoming null and concluded the member had unsaved edits. Two seconds ...

kamo·2mo ago
Fixkamo-internal

Paint the knowledge console in the org's colour, not a fixed purple

The rebuild took its chrome from --accent-knowledge, which globals.css declares as #8b5cf6. That variable does not move with an organization's brand, so every c...

kamo·2mo ago
Featurekamo-internal

Rebuild the knowledge base as a console

The four knowledge-base screens were the last in the app still wearing the old look, and three of them stated things that were not true. /kb showed "Pinned Art...

kamo·2mo ago
Fixkamo-internal

Nobody with a login is the anonymous web-chat visitor

A widget ticket names the org's SYSTEM member as its requestor because the visitor has no member record — and that member is the org owner, usually the person a...

kamo·2mo ago
Fixkamo-internal

Stop the inbox claiming email is unset while it works it out

Opening /messages showed the "email isn't available / you have no mailbox" panel for a moment on nearly every visit, then replaced it with the member's real inb...

kamo·2mo ago
Refactorkamo-internal

Drop the masthead stat rail, move the filter to the bar

The five counted tiles are gone from the header. It now states what the page is and gives the rest of its width to the primary action. They were also the only ...

Kamo·2mo ago
Featurekamo-internal

Rebuild /hr/attendance as a payroll console

Eight flat tabs over eight panels that each drew their own heading, table, skeleton, error line and Snackbar — and had drifted. The overhaul is three things at ...

kamo·2mo ago
Featurekamo-internal

Rebuild the network page as an operations console

The page was the last screen still wearing the old look — a flat gradient bar, white cards, a centred spinner, alert() for every failure — while the rest of the...

Kamo·2mo ago
Featurekamo-internal

Rebuild /hr/legal-compliance as the legal registry

The surface was a MUI tab strip over two AG Grids. Packages rendered as seven columns of counts and an actions cell of six unlabelled icon buttons, three of whi...

kamo·2mo ago
Featurekamo-internal

Rebuild /hr/training as a training console

The tab was two AG Grids under a tab bar: accurate and mute. It now opens on the org's whole training obligation and lets an admin act on the gaps. - A masthea...

kamo·2mo ago
Fixkamo-internal

Let a note pinned from its sticky reach the launchpad band

The home band fetched the pinned list once on mount, so a note pinned from its floating sticky afterwards was in no list it held. Closing the sticky then left t...

kamo·2mo ago
Chorekamo-internal

Rebuild to pick up the Start Group Chat/Meeting labels

The image bakes messages/ from kamo-translation-dictionary at build time, so the dictionary push alone left the deployed bundle on the old copy.

kamo·2mo ago
Fixkamo-internal

Hold the token's int64 ids as digits, not as numbers

KToken could not verify a real token. The four ids it carries are int64s, and the Java signer (kamo-shared-library KToken#canonicalForMac) appends each as a raw...

kamo·2mo ago
Fixkamo-internal

Market filters were comparing a UUID against a number

Both market filters were dead, in different ways, and neither said so. Leads: a market tab matches a lead either by marketId or by the market's vendor products...

kamo·2mo ago
Fixkamo-internal

Stop rounding int64 ids on the way back to the server

Sweep of the client half of the int64 id work. Each of these took an id the server had sent intact and put it through Number()/parseInt(), which rounds anything...

kamo·2mo ago
Docskamo-internal

Record the SecurityService unauthenticated-endpoint triage

Three fixed, the rest explained. The headline number needed narrowing three times and the first two attempts were wrong the same way — enumerating helper names ...

kamo·2mo ago
August 16, 2026
Fixkamo-internal

Let the colour palette take clicks again

The sticky's palette was a child of the title bar. Header and writing surface are siblings on the same layer, so the body — later in the DOM — paints over the h...

kamo·2mo ago
August 15, 2026
Featurekamo-internal

Gate the Linux desktop icon on a provision, not on god

The icon now appears exactly when the connection behind it will work — the SSO endpoint enforces the same rule, so the two cannot disagree. Windows and Master s...

kamo·2mo ago
Featurekamo-internal

Dev Machine dialog on the administrator card

Keeps three states apart that one toggle would collapse: never provisioned (needs a password), provisioned but locked (needs only the switch), and failed (needs...

kamo·2mo ago
Featurekamo-internal

Client module and proxy routes

*** is forwarded explicitly — buildForwardHeaders sets X-OTK but not the session token, and the dev-machine endpoints resolve the caller from it. The action seg...

kamo·2mo ago
Fixkamo-internal

Stop parsing the org id straight back into a rounded number

SecurityService now sends ids past Number.MAX_SAFE_INTEGER as strings so they survive JSON.parse. That was being undone one line into the client: OrganizationDT...

kamo·2mo ago
Fixkamo-internal

Stop sending an address field the server no longer has

A department's contact address is derived from the assigned mailbox server-side, and `email` was dropped from the create and update requests when the mailbox po...

kamo·2mo ago
Fixkamo-internal

The result screen answers to the logo overlay too

The success/error screen shown briefly before redirect was the one logo in the sign-in flow still rendering untouched. It kept its own design rather than joinin...

kamo·2mo ago
Docskamo-internal

Record the ProxyHmacFilter rollout and what it does not cover

Two ordered steps, the checks that made the second one safe, and the reason the order matters: kamo-internal had to be signing before KamoLOS started validating...

kamo·2mo ago
Refactorkamo-internal

One loading screen instead of four, all on the full logo

There were four copies of the same full-screen loading markup — the navigation screen, both of /validate's pre-result screens, and /logout — identical down to t...

kamo·2mo ago
Featurekamo-internal

Sign the proxy identity headers — step 1 of enabling ProxyHmacFilter

KamoLOS trusts X-Org-Id and X-Member-Id from this proxy. ProxyHmacFilter exists to prove those headers really came from here, but it is disabled in production: ...

kamo·2mo ago
Docskamo-internal

Correct the record — KamoLOS is deployed, and has been for 78 days

§12 concluded that KamoLOS had no deployment and that gating it was therefore free, and the LOS proxy repeated the claim in a comment. Both are wrong. The servi...

kamo·2mo ago
Fixkamo-internal

Restore the CRLF endings of the two files the last commit reflowed

3bfe883c rewrote PublicProvider.tsx and the org route wholesale — 1919 and 121 lines for what was a one-line addition to each. The content was intact; the endin...

kamo·2mo ago
Featurekamo-internal

A logo overlay for the KamoMeets pre-meeting screen

Third and last surface, offered next to the other two — same thirteen options, its own setting, default No Overlay. Hidden unless the org can actually reach th...

kamo·2mo ago
Fixkamo-internal

16 unenforced becomes 13 — reports and dashboard deleted, tasks kept

VIEW_DASHBOARD, VIEW_REPORTS and EXPORT_REPORTS are gone from the mirror, both parent maps, the pinned counts and useUserInfo's enumeration, and app/dashboard a...

kamo·2mo ago
Featurekamo-internal

App icons on the wizard's Apps & Features step

The create-network wizard drew each app as the first letter of its name, so the same app was a storefront on Settings -> Features and an "S" here. The icons alr...

kamo·2mo ago
Featurekamo-internal

A solid-colour overlay for the loading screen logo too

Adds "Loading Screen Logo Overlay" directly under the home page one on **************** with the same thirteen options, applying to the logo on the screen shown...

kamo·2mo ago
Fixkamo-internal

17 unenforced becomes 16 — support topic creation takes its own right

POST /support/topics was gated on MANAGE_SUPPORT, the parent, so the child right looked dead while being the thing checked. It now takes CREATE_SUPPORT_TOPICS, ...

kamo·2mo ago
Fixkamo-internal

18 unenforced becomes 17 — bulk email campaigns are gated

VIEW_BULK_EMAIL and MANAGE_BULK_EMAIL now cover the campaign and provider surfaces in EmailService, which checked nothing, joining the recipient resolver in Sec...

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