Live Change Log

See what we're building, in real-time. Every feature, fix, and improvement shipped across the platform.

17,978
Total Changes
4,641
Features
4,556
Fixes
32
Projects
Filter by project
All Projects17,978AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService385InitializerService301KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,527TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,596kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,326kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs230Feature4,641Fix4,556Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
September 3, 2026
Fixkamo-internal

Drop the scope line above the Communication View timeline

"Every call, text, e-mail, note and chat message with the 9 leads matching these filters." — the filter bar sits directly above this timeline and already says w...

Kamo·1w ago
Featurekamo-internal

Communication View — the whole filtered book as one timeline

Three changes to /leads. Quick search moves into the hero, above the CRM Settings links. In the filter row it was the last control on a line of eleven dropdown...

Kamo·1w ago
Fixkamo-internal

Static CSS in the overlay — 19 interpolations were hanging every build

kamo-internal has been unable to produce an image since b08f3b34. `next build` did not fail, it HUNG: no output, no error, no timeout. `.next` frozen at 1.3 MB ...

Kamo·1w ago
Featurekamo-internal

Add JustCall as a phone server type

Adds JustCall to the picker at **************** with its API key and secret, a contacts-import toggle, credential status on the providers tab, and the logo. Th...

Kamo·1w ago
CIkamo-internal

Reap superseded builds unconditionally — the sha check protected the orphan

The reaper added in 199e367e compared each container's commit against github.sha and KEPT the matches, on the theory that a matching sha meant "this run". That ...

Kamo·1w ago
CIkamo-internal

Reap builds orphaned by cancel-in-progress — they were starving the real one

Builds had gone from 8 minutes to 30+. I blamed the heap and was wrong. Reading the runner instead of the numbers found it: THREE `next build` processes at 213%...

Kamo·1w ago
Performancekamo-internal

Stop the inline image toolbar re-rendering on every scroll frame

measure() runs on each scroll and resize event and built a fresh state object every time, so the toolbar re-rendered whether or not anything about the image had...

Kamo·1w ago
Fixkamo-internal

The Desktop size tooltip no longer covers its own options

The Tooltip wrapped the whole TextField, so it anchored to the same box the select's option list opens over — at the default bottom placement it landed directly...

Kamo·1w ago
Buildkamo-internal

Give next build 8 GB, it has been thrashing against 4

Builds went from 7-9 minutes to 30+ a few commits ago and nobody had a reason why. Measured on the runner rather than guessed: `next build` sat at exactly 4.39 ...

Kamo·1w ago
Fixkamo-internal

The upgrade offer no longer chases comped organizations

The pill suppressed itself for coverage.source === 'PAID' and nothing else, so a comped organization was shown "33% off your plan" — a discount on a price it do...

Kamo·1w ago
Featurekamo-internal

A paper colour per block, and blocks that fit their text

BLOCKS NOW FIT THEIR CONTENT. The reader's blocks were all 200px tall whatever they held, because richTextExtension configures the editor with minHeight: 200px ...

Kamo·1w ago
Featurekamo-internal

Add the JustCall provider logo

The VOIP logo folder had FreePBX, Microsoft and RingCentral but no JustCall mark, so any surface listing JustCall as a provider had nothing to render.

kamo·1w ago
Fixkamo-internal

The order wizard must name the organization it entitles

The wizard collected a customer and never a target organization, so every order it wrote carried target_org_id NULL. On approval provisionCompSubscription falls...

Kamo·1w ago
Fixkamo-internal

Never send a cid: the message is not carrying

Completes the inline-image work that landed inside b08f3b34, whose message describes only the KB and sales-scripts fix it was committed alongside. extractInlin...

Kamo·1w ago
Fixkamo-internal

ReadOnly now actually stops you typing

REPORTED: the script blocks in the Interaction Center are editable. They were, and so is every other "read-only" rich-text surface in the app. `readOnly` on Kb...

Kamo·1w ago
Stylekamo-internal

The org's colour, not indigo, and a real scrollbar

THE PURPLE WAS A HARDCODED ACCENT. Every tinted surface in the panel and the Sales Scripts pane drew from --accent-comms (#6366f1), so a white-labelled org got ...

Kamo·1w ago
Fixkamo-internal

The composer is a sub-page, and collapsing no longer eats your text

Four reported problems, one of them destructive. COLLAPSING A PART DESTROYED IT. Collapse UNMOUNTED the editor, and KbArticleEditor is seeded once from a value...

Kamo·1w ago
Fixkamo-internal

Impersonate was disabled on every row

Gated on canEnterOrg, which is the VIEWER's own membership — and a platform operator has no membership in the organizations impersonation exists for. So the but...

Kamo·1w ago
Fixkamo-internal

Archived is a SUB-TAB of Sales Scripts, and pad the page

Two bugs, both mine. ARCHIVED WAS A PEER TAB. Active Scripts and Archived Scripts are two views of one screen, not two screens, and they belong as sub-tabs the...

Kamo·1w ago
September 2, 2026
Featurekamo-internal

Impersonate, so an operator can open an org as one of its members

Shown beside Enter on every /network view for a platform administrator holding the new IMPERSONATE right. A different right from SYSTEM_USER and deliberately no...

Kamo·1w ago
Fixkamo-internal

The owner can see the tab that grants the right

REPORTED: "I am also an admin and I don't see the new Sales Scripts tab under /settings/features/crm." Correct, and it was invisible to EVERY organization, not ...

Kamo·1w ago
Fixkamo-internal

Un-skip the parity guards, and pin without blocking the page

TWO PARITY TESTS HAVE NEVER RUN. Both resolved RoleRightType.java through **************** — that is ~/Java/kamo-shared-library, while the checkout is *********...

Kamo·1w ago
Fixkamo-internal

Price every line against the seat count, everywhere it is shown

The row Amount under 'What you are quoting' was still previewLineTotal, so the quantity cell showed the quote's seat count while the Amount beside it priced the...

Kamo·1w ago
Fixkamo-internal

Reprice the live totals when the seat count changes

A line that opts into the quote's shared 'Seats / units' driver is priced against it, not against its own quantity. The editor's live rail summed the lines with...

Kamo·1w ago
Fixkamo-internal

Putting a script back into use should not need a password

ConfirmationDialog always makes you type a challenge word. That is right for archiving — the script leaves every agent's panel mid-shift — and right for deletin...

Kamo·1w ago
Fixkamo-internal

Mirror the two rights, and parent MANAGE on VIEW client-side

checkRight matches plain strings, so the gates worked without this — but the security role editor cascades grants through RIGHT_PARENT, and with the pair missin...

Kamo·1w ago
Featurekamo-internal

Author scripts in CRM settings, read them on a call

Two CRM settings tabs behind MANAGE_SALES_SCRIPTS — the live scripts and the archive — plus a Sales Scripts tab in the Interaction Center behind VIEW_SALES_SCRI...

Kamo·1w ago
Fixkamo-internal

Move a message's controls to the side facing the conversation

The hover rail sat on the message's outer edge — right for your own messages, left for everyone else's. It now sits on the inner side, the one facing the middle...

Kamo·1w ago
Featurekamo-internal

Make the rectangle tool something you can hide things with

The rectangle tool has been in the annotation toolbar all along, but it drew an outline: fill="none" in every renderer. There was nothing to hide anything with,...

Kamo·1w ago
Fixkamo-internal

Print the whole quote, not just its first page

The print stylesheet reset the Dialog's container and its Paper to static flow but left the Dialog ROOT alone — the element this component labels quote-print-po...

Kamo·1w ago
Featurekamo-internal

Link the articles a draft names

The authoring convention is to name a sibling article by putting its title in italics — "Read *Security Roles Explained* before building them". 181 spans across...

Kamo·1w ago
Fixkamo-internal

Save the Primary Contact country, state and time zone

The Primary Contact card's country, state and time zone are top-level Lead fields — neither members of primaryContact nor of addressMailing — and the two wire b...

Kamo·1w ago
Fixkamo-internal

Read either address shape so the block cannot go blank

Reading only the new addressLines made the address disappear from the printed quote outright, because this shipped ahead of the API that sends it and a server s...

Kamo·1w ago
Fixkamo-internal

Print the address as the lines it is written on

Splitting the suite into its own field left the street and the city still sharing a line, with the unit printed beneath them. The address now arrives already sp...

Kamo·1w ago
Featurekamo-internal

A setup fee on a single-price quote, and the suite on its own line

The setup fee existed only on multi-option quotes, so 'One price' had no box for one — on the form or on the printed page. It now sits beside Shipping, appears ...

Kamo·1w ago
Featurekamo-internal

Print the full line on the quote, and stop losing work at the mode switch

Two things a quote could not do. The printed line items inside an option card showed a name and an amount, nothing else — no quantity, no unit label, no rate, ...

Kamo·1w ago
Featurekamo-internal

Re-issue a share link from its row, and stop losing the one-time URL

The Share links list offered no way to view or copy a link, and nothing explained why. Nothing can reveal an existing one — only the token's SHA-256 is stored, ...

Kamo·1w ago
Fixkamo-internal

Re-derive the rail's hover-peek instead of trusting two events

The collapsed rail's peek state was written by exactly two things, pointerenter and pointerleave on the rail itself, and nothing ever re-derived it from where t...

Kamo·1w ago
Fixkamo-internal

Send MUI's styles with the markup that needs them

internal.kamocrm.com was serving a 1.34 MB document containing 123 `css-xxxx` class names — `MuiBox-root css-e26q24` among them — and not one rule for any of th...

kamo·1w ago
Fixkamo-internal

A reopened conversation is the one you were having

A member started a chat about KB articles, minimized it to its hexhead, went to their mail and brought the window back to a blank conversation — "having to star...

Kamo·1w ago
Fixkamo-internal

Read a new lead's phone number against the country it is in

The New Lead form asks which country the lead is in, then ignored the answer when reading their phone number. Both PhoneField instances and the validator fell t...

Kamo·1w ago
Fixkamo-internal

Do not follow a protocol-relative link in-app

"//example.com" starts with a slash but is another origin. The in-app branch matched it and would have handed router.push an off-site destination; it belongs in...

Kamo·1w ago
Fixkamo-internal

Mirror the monthly-rate reading in the editor preview

previewOption divided the line-item sum down to a monthly figure the same way the server did, so the card and the print preview showed one month of any term. A ...

Kamo·1w ago
Fixkamo-internal

Follow a link without losing the conversation

Reported alongside the KB links all pointing at one article: "when it is fixed and they will work, please let the AI chat still hover on top so you don't have t...

Kamo·1w ago
Fixkamo-internal

Fix the Reports tab's folder heading nesting

The per-folder count Chip sat inside the heading Typography. MUI renders subtitle1 as an h6, which takes phrasing content, and a Chip is a div — so the count wa...

Kamo·1w ago
Fixkamo-internal

Give the annotation tools their tooltips back

The five annotation tools in the PDF designer built their tooltip key by interpolating the tool type onto a "tool_" prefix, but the dictionary names those same ...

Kamo·1w ago
Featurekamo-internal

Ask whether the guests should be told, and how

Adding a guest to an event did not tell them, and the dialog never said so. The only thing that ever wrote to a guest was a reminder — which reaches a colleague...

Kamo·1w ago
Fixkamo-internal

A committed term is worth what it commits to

The card led with the recurring rate whatever the term, so a 36-month commitment priced at $100 a month showed $100. The deal is $3,600. Where the contract run...

Kamo·1w ago
Fixkamo-internal

Keep a grid's popups opaque when its body is see-through

Opening Page Size in the doc manager under My Team Member Profile showed the rows reading straight through the open menu. It looks like a z-index bug, and was r...

Kamo·1w ago
Fixkamo-internal

Give the Reports tab the console's own layout

It shipped as a bare unpadded Box, so the content sat flush against the container edge while every sibling tab pads its root with p:{xs:2,sm:3}. That was the vi...

Kamo·1w ago

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing