Live Change Log

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

17,916
Total Changes
4,605
Features
4,536
Fixes
32
Projects
Filter by project
All Projects17,916AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService371InitializerService300KBService74KlusterServices545MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,573kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,321kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs226Feature4,605Fix4,536Other6,781Performance136Refactor274Revert23Style48Test69Upgrade1
September 12, 2026
Fixkamo-internal

A saved campaign reopens inside its template, and the From is always the bulk sender's

The body is saved between two comment markers inside the finished email, and reopening a campaign puts only that part back in the middle of the template, where ...

KamoΒ·33m ago
Fixkamo-internal

Review fixes for the bulk sender, warm-up and pacing banner

A pass over everything the bulk sender and warm-up screens are built from, fixing what it found: - a warm-up poll that started while a write was on the wire co...

KamoΒ·1h ago
Fixkamo-internal

Email settings redirect lists its hook dependencies

The rights check that sends a member without MANAGE_EMAIL_SETTINGS back to /settings ran in an effect that listed only `loading`, so the linter flagged the miss...

KamoΒ·1h ago
Fixkamo-internal

The bulk sender tab fills the width it is given

The tab sat in a 1120px column centred in the settings card, so on a wide screen most of the card was empty margin around a narrow form. The column is gone, alo...

KamoΒ·1h ago
Fixkamo-internal

A relay that never signs in counts as a configured bulk sender

/marketing/email let an organization send campaigns only once its bulk provider had a stored password. The platform relay listens on port 25 with no TLS and no ...

KamoΒ·3h ago
Fixkamo-internal

Recipient grid fills name, source and error from either row shape

The campaign recipient grid read name, sourceType and errorMessage from rows that only carried email, status, sentAt and lastError, so three of its five columns...

KamoΒ·3h ago
Fixkamo-internal

A missing mailing address no longer blocks sending

The preflight treated an org with no address on file as an error and kept Send and Schedule disabled. The address still goes in the footer when there is one; wh...

KamoΒ·3h ago
September 11, 2026
Fixkamo-internal

The campaigns grid read counts the API never sent

EmailService's CampaignDTO carries a campaign's counters flat (totalCount, sentCount, failedCount, suppressedCount, bouncedCount, queuedCount), but every screen...

KamoΒ·5h ago
Fixkamo-internal

The launch bar ends at the form column, clear of a docked chat window

On /network/create the readiness meter and the Launch organization button sat in a bar across the whole page, under the brand preview too - exactly where docked...

KamoΒ·7h ago
Fixkamo-internal

Binders and Uploads read as live buttons in the org's brand

The two tabs looked disabled because they were: a MUI Tab with no <Tabs> parent defaults to textColor="inherit", which draws the whole tab at 60% opacity unless...

KamoΒ·9h ago
Fixkamo-internal

The rim's lead current stays white-hot all the way round

Its gradient was pinned to the hexagon's box rather than travelling with the arc, so for a third of every lap the current was gold on the gold rim and simply va...

KamoΒ·1d ago
Fixkamo-internal

A window's scrollbars no longer show through the window on top of it

Maximizing a tool window left a column of scrollbar buttons from the window behind it floating in the middle of the pane, and two overlapping floating windows s...

KamoΒ·1d ago
Fixkamo-internal

MUI text is set in Geist, not Helvetica and Arial

I18nProviders handed the Geist font to createTheme as an overlay, and overlays are merged in after the theme is built. By then MUI has already written its Robot...

KamoΒ·1d ago
Fixkamo-internal

Every Chats sub-tab fits, with the same gap between each

The Interaction Center's Chats strip gave its seven tabs seven equal shares of the 550px pane, 78px each whatever they said. "Team Members" needs 91px, so it wa...

KamoΒ·1d ago
September 10, 2026
Fixkamo-internal

Stop a revoked executive's window; raise only chats waiting on the desk

- A MEMBER_REMOVED naming the viewer unsubscribes the transcript, empties it, disables the composer and says why. Revoking Exec2Exec Access used to leave th...

KamoΒ·1d ago
Fixkamo-internal

Raise the conversation when a customer writes, and on a reply

An executive's message reached nobody at KamoCRM: nothing on the console read an Exec2Exec frame. Exec2ExecDeskOpener now raises that customer's window β€” named,...

KamoΒ·1d ago
Fixkamo-internal

The nudge the inviter could never send, and a chat invite that rejoins

**Nudge.** The rail hid the button unless it was the opponent's turn, which reads as a rule about fairness and is a rule about nothing β€” the server has never ha...

KamoΒ·2d ago
Fixkamo-internal

One "on" colour, and a retry that does not cascade

Two things left over from the categories table. The allow swatch was tinted by whether the setting is locked β€” primary for locked, a green for unlocked. The lo...

KamoΒ·2d ago
September 9, 2026
Fixkamo-internal

The envelope dashboard could not tell "not emailed" from "not opened"

The warning naming an undelivered invitation lives in the send response, so it is gone the moment the dialog closes. After that the dashboard is all there is β€” ...

KamoΒ·2d ago
Fixkamo-internal

The particles ran at the monitor's speed, and the chips were unreadable on two denominations

Two deferred things finished, both measured rather than eyeballed. THE PARTICLE LOOP IS TIME-STEPPED. `PixelParticles` advanced physics once per FRAME β€” every ...

KamoΒ·2d ago
Fixkamo-internal

Four things about the celebration only a browser could say

Measured in Chrome against the real component, not reasoned about. The headline was sized at a flat 13cqw, which is right for a number and wrong for a word: CH...

KamoΒ·2d ago
Fixkamo-internal

The opening effect's cancel guards were guarding nothing

`cancelled` was declared, read seven times, and never assigned β€” the effect returned no cleanup β€” so every `if (!cancelled)` in the load that opens a window was...

KamoΒ·3d ago
Fixkamo-internal

Early Bird and Twenty Doors read the laptop's clock, not the member's

`check-server-timestamps` was red on main: `rememberToday` bucketed the day with `new **************** which is the BROWSER's zone. The guard exists because tha...

KamoΒ·3d ago
Fixkamo-internal

The chips were on the table, not on the felt

A member reported that the player opposite them had chips half off the table. Measured in a browser: NINE of the ten piles were off the cloth. The reader's own ...

KamoΒ·3d ago
Fixkamo-internal

The computer's reply was silent against the quickest level

The four move cues carried an 80ms throttle. Each is raised once per published frame the board could prove it understood, and a frame is a move β€” so there was n...

KamoΒ·3d ago
Fixkamo-internal

Six the adversarial review upheld

Ten reviewers, three skeptics each. Twelve findings survived; most of the rest were refuted because they had already been fixed. Of the twelve, six were still r...

KamoΒ·3d ago
September 8, 2026
Fixkamo-internal

What an adversarial read of the whole thing found

Ten reviewers over the change, three skeptics per finding. These are the ones that survived, and most of them were in the wiring rather than in the parts that h...

KamoΒ·3d ago
Fixkamo-internal

Looking at an organization is not being in it

A workspace signed in to KamoCRM repainted itself as BluEleven - logo, colours, favicon, tab title, and the feature set driving the navigation - while every rec...

kamoΒ·3d ago
Fixkamo-internal

Three things a browser said and jsdom could not

The panels were built and tested entirely in jsdom, which can say a label is present and cannot say how wide it ended up. Rendering them at the widths ChessTool...

KamoΒ·3d ago
Fixkamo-internal

The chips in the middle are worth what the number says

A settled pot draws the CONTESTED total now, not everything that went in. `hand.pot` keeps every chip that entered the hand; `totalPot` reports what was played...

KamoΒ·3d ago
Fixkamo-internal

The Games icon appeared for organizations that have no Games app

Reported on harmonyhomeloans, whose owner saw the icon in the top bar for an app their organization does not have, cannot enable in Apps & Features, and whose c...

KamoΒ·3d ago
Fixkamo-internal

The reveal turned your own cards face down, and four more from review

An adversarial review of the choreography commit, verified against the code. Six defects, two of which only a browser could have shown. YOUR OWN CARDS. The sho...

KamoΒ·3d ago
Fixkamo-internal

The compact rail clipped a payout flag off the top of the window

The rail reserves a fixed strip above the pucks so a label does not make the strip taller and move the board β€” but it reserved room for ONE row and the showdown...

KamoΒ·3d ago
Fixkamo-internal

The table list had nothing between it and the lobby header

The lobby's scroll container carried `px` and `pb` and no `pt` at all, so the first table's top border sat exactly on the container's edge, flush against the he...

KamoΒ·3d ago
Fixkamo-internal

The wedge is yellow, and it stops depending on the tenant's brand

`/icon/cheddar.svg` was five paths of pure #000000 β€” a black cheese wedge, which on the nav bar's dark ground was very nearly nothing at all. It is a real chedd...

KamoΒ·3d ago
Fixkamo-internal

Four defects only a real browser could show

Rendered the felt, the compact layout, the lobby and the action bar in headless Chrome against a fabricated table and MEASURED them. Four things were wrong, and...

KamoΒ·3d ago
Fixkamo-internal

The two mode plates were clipped by their own scroller, at every size

The selected plate lifts 2px and carries a 1px ring, and it is the first child of an `overflow-y: auto` column β€” so its top border sat 3px above the clip edge a...

KamoΒ·4d ago
Fixkamo-internal

The proxy could still be walked out of, because a dot is not encoded

The catch-all re-encodes each segment, and the comment claimed that meant it could only ever address the chess API. `encodeURIComponent('..')` is `'..'` β€” dots ...

KamoΒ·4d ago
Fixkamo-internal

The error test did not typecheck, and next build runs tsc

`await promise.catch((e: Error) => e)` does not give you an Error. The catch handler's return type unions with the promise's resolve type, so the result is `Che...

KamoΒ·4d ago
Fixkamo-internal

The BFF route that was never written, and an error that was a megabyte of HTML

Pressing Start game returned 1,529,239 bytes of markup. `/api/media/*` is not a proxied prefix β€” every path under it is a hand-written Next route and there is n...

KamoΒ·4d ago
Fixkamo-internal

AppType hid two live apps, and the guard could not see the place they were hidden

The Java app enum is mirrored into TypeScript twice, and only one of the two was guarded. AppType.ts β€” the mirror Organization's app getters actually read β€” had...

KamoΒ·4d ago
Fixkamo-internal

A black piece on the Kamo board was the colour of the square under it

Only a browser found this. The Kamo scheme derived its piece colours from `--color-primary` as well as its squares, and both mixed the same token into similar d...

KamoΒ·4d ago
September 7, 2026
Fixkamo-internal

Dial the detail dialog's tel: through the shared normaliser

The dialog built `tel:${action.tel}` by hand because telHref() was not on main when it landed β€” it was in a concurrent branch, and importing it then would have ...

KamoΒ·4d ago
Fixkamo-internal

One formatter, and one dialable link, for every number on screen

Follow-on to the lead-view country-code fix, closing the places that still answered the same question their own way. `NumbersTab` kept a private US-only format...

KamoΒ·4d ago
Fixkamo-internal

Light the bell, and make a click mean something

Three defects behind one report: the browser tab alerted for an unread notification while the bell stayed dark, and clicking rows on /notifications went to the ...

KamoΒ·4d ago
Fixkamo-internal

Two more deadlines a background tab cannot meet

Swept the app for the failure the notification deck's repeat turned out to be: work whose correctness depends on a timer firing while nobody is looking. Chrome ...

KamoΒ·4d ago
Fixkamo-internal

A bulk action announces the folder changed, like opening one message does

`email:folder-changed` is what the nav badge listens for while it is not being pushed a count β€” a socket that never came up, or one that came up and relays noth...

KamoΒ·4d ago
Fixkamo-internal

The nav badge follows a message being read, instead of waiting for a reload

The badge treated the STOMP socket being UP as proof that counts were being pushed to it, and those are two different questions. EmailService relays the count f...

KamoΒ·4d ago
Fixkamo-internal

A lead outside the US lost its number's country code

The lead view read "+373 606208888" back as "606208888". `formatPhoneDisplay` chose between national and international form by comparing the number's calling co...

KamoΒ·4d 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