Live Change Log

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

17,967
Total Changes
4,633
Features
4,555
Fixes
32
Projects
Filter by project
All Projects17,967AIService112APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService384InitializerService300KBService74KlusterServices547MCPGatewayService43MediaService462RAGService61SecurityService1,526TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,589kamo-login319kamo-marketing588kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,325kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI523Chore670Docs228Feature4,633Fix4,555Other6,781Performance136Refactor274Revert23Style48Test71Upgrade1
September 4, 2026
Featurekamo-internal

Answer a readiness probe, and run two pods

This deployment had no readiness probe, so a pod counted as Ready the instant its container process started. With maxUnavailable 0 Kubernetes reads that as "the...

Kamo·1w ago
Featurekamo-internal

Choose a logo overlay for the sign-in and sign-up sites

A fourth and fifth surface beside the home page, loading screen and KamoMeets overlays, sharing their thirteen-token vocabulary and their live swatches. Both a...

Kamo·1w ago
Featurekamo-internal

Change your own address, and a platform tab for every account

Two surfaces, joined by one distinction the platform has never explained to anybody: a user account is the PERSON, and a member is one organization's relationsh...

Kamo·1w ago
Featurekamo-internal

"What happened?" fills the window, so maximizing enlarges it

Every other field on the report form is sized by its content. The description is the one somebody is actually writing in, so it now takes whatever height is lef...

Kamo·1w ago
Fixkamo-internal

Add the preStop hook the drain script was always missing

Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...

Kamo·1w ago
Featurekamo-internal

Public rides the SEND TO AI row, and arms the hand-off for god

The Publish control was a bordered block of its own further down the form, carrying two lines of hint under the switch. It is now a compact toggle on the headin...

Kamo·1w ago
Fixkamo-internal

Draw the Publish switch on god eligibility

Reported: "my user has god enabled, yet I still don't see the new publish field." The gate was isGodModeActive(), which is getIsGod() AND an open break-glass wi...

Kamo·1w ago
Fixkamo-internal

The SPF card had no proxy route, so it never reached the API

The card shipped calling /api/security/domains/{id}/spf, and every request 404'd at Next.js before SecurityService ever saw it — which the card reported as "We ...

kamo·1w ago
Featurekamo-internal

Ending a terminal takes its window and hexhead with it

Ending a terminal from the Interaction Center killed the shell and left the window behind, showing a red `closed` status over something that no longer exists. T...

Kamo·1w ago
Featurekamo-internal

Tell each domain what its SPF record actually needs

/setup/dns walked a customer through ownership, subdomains and SSL and then said nothing about the record that decides whether the mail we send for them is beli...

kamo·1w ago
Featurekamo-internal

Copy your referral link from any public role

Referrals are the highest-converting channel a job board has, and what stops them here is friction rather than unwillingness: the careers site answers on a diff...

Kamo·1w ago
Featurekamo-internal

Benefits, the public funnel, the network opt-in, and claiming an application

Five changes, all of them the workspace half of something the public careers site now does. - Benefits & perks on the posting editor. It reaches the public adv...

Kamo·1w ago
Featurekamo-internal

A Publish switch on a god-mode bug report

An operator with an open god-mode window filing a bug or enhancement now gets a Publish switch. It is off when the window opens and does not remember its last p...

Kamo·1w ago
Testkamo-internal

Guard the provider catalog's interpolated i18n keys

check-i18n-keys.mjs reads literal t('...') calls, and the catalog builds its keys by interpolation — **************** and oauthClients.field.${labelKey} — so no...

Kamo·1w ago
Fixkamo-internal

The navigator opened popups instead of switching

Clicking a row beside a maximized terminal opened a small window over the top of it. It was a launcher, not a switcher. `openConversation(row, { maximized: tru...

Kamo·1w ago
Featurekamo-internal

Force KamoMobile Logout on a member's account activity

Force Logout deletes sessions, which ends a browser. It does not end a phone: KamoMobile holds a durable device token and mints a fresh session from it immediat...

Kamo·1w ago
Fixkamo-internal

Handing back to Kamo's app writes only the switch

Choosing "use Kamo's application" sent the whole form with the disable, so an edit the member had typed and not saved was persisted by a choice they would not h...

Kamo·1w ago
Refactorkamo-internal

Drop the unused dense prop from OrgOAuthAppSection

No call site passed it, and all eight embeds want the full header. A prop kept for a caller that does not exist is API surface someone has to reason about later...

Kamo·1w ago
Featurekamo-internal

A switch per platform registration, and bring-your-own on the org side

Each OAuth2 card on Platform Configuration → Advanced gets an enable/disable switch in its top-right corner. It writes only the enabled flag, is unavailable unt...

Kamo·1w ago
Featurekamo-internal

Start one from the Interaction Center tab

The tab listed terminals and gave a member no way to open one — the only starting points were the Linux Desktop submenu and the navigator's header, neither of t...

Kamo·1w ago
Fixkamo-internal

Read the theme folder from the host on a white-label workspace

orgSlug reached DynamicMetaLoader only when the organization was named via ?org=, so on internal.<customer domain> - where the host names exactly one organizati...

Kamo·1w ago
Featurekamo-internal

Publish an advert externally, and pick the candidate back up

Three changes, all in service of the new public job board at careers.<apex>. The posting editor gains "list on our public careers site". It sits with status an...

Kamo·1w ago
September 3, 2026
Fixkamo-internal

The tab strip declared minHeight twice, so the build never type-checked

Adding icons to the panel tabs appended a second `minHeight` to the same `& .MuiTab-root` literal instead of replacing the old one. TypeScript rejects a duplica...

Kamo·1w ago
Featurekamo-internal

Footer Badges — a row of images under the signature

The Content tab's 'Footer Image' was one picture chosen from three fixed sources and sized by a percentage. It is now 'Footer Badges': the same three plus anyth...

Kamo·1w ago
Featurekamo-internal

Add the VOIP_CALL_EVENTS scope

Lets an org issue kamo-asterisk-support a key for reporting ringing extensions, separately from VOIP_RECORDING_UPLOADS. Uploading a recording after the fact and...

Kamo·1w ago
Featurekamo-internal

Send to AI opens the terminal it runs in, and the tabs get icons

A dispatch now comes back naming a terminal, and the console opens it. That is not a courtesy view of something already underway — the hand-off is PREPARED on t...

Kamo·1w ago
Fixkamo-internal

Apply in one request, and say why a role cannot be applied to

Follow-up to a review of my own commit. Six real findings. APPLYING IS NOW ONE REQUEST. The résumé used to upload after the application was created, and a fail...

Kamo·1w ago
Fixkamo-internal

The navigator had no surface of its own, so it was transparent

ChatNavigatorPanel draws no background — it is a positioned, animated shell, and the column inside it is what makes it opaque. ChatSwitcherColumn supplies `bg-w...

Kamo·1w ago
Featurekamo-internal

Jobs Available on /hr, and a Careers tab for every member

Two surfaces over one feature. /hr/careers is where HR writes the adverts and reads who applied; **************** is the internal board an employee browses and ...

Kamo·1w ago
Featurekamo-internal

A list of your live shells, in the panel and beside the window

Terminals joins the Interaction Center to the right of Sales Scripts, gated on a provisioned dev machine — the same gate as the Linux Desktop nav option, read o...

Kamo·1w ago
Fixkamo-internal

Composed mail broke lines mid-word, for every recipient

Quill 2's getSemanticHTML() -- the value react-quill-new hands to onChange, and so every byte of body a member types -- ends its text conversion with .replaceAl...

Kamo·1w ago
Featurekamo-internal

A "why can't I accept?" override on the filter bar

Right-aligned on the /leads filter bar, wearing the Leads nav icon with the same prohibited emblem — so the thing on the nav that says "you are blocked" and the...

Kamo·1w ago
Featurekamo-internal

A password shortcut in the hero, and a narrower gate

Two halves of the same subject. The shortcut. Changing your password was three rooms deep behind the rail — the one thing the room layout made genuinely harder...

Kamo·1w ago
Fixkamo-internal

A new terminal could reattach to an old shell after a refresh

The shell was keyed on the tool window's id, and @kamo/tool-core builds those as `${toolId}-${++idCounter}` from a counter that RESETS on every page load. So th...

Kamo·1w ago
Featurekamo-internal

Prohibited nav emblem, Assign to Myself, and obfuscated contact masking

**The Leads nav icon says when you cannot accept.** A member who holds leads they have not worked gets a red block emblem over the Leads icon and a tooltip nami...

Kamo·1w ago
Featurekamo-internal

Flags on languages, and stop copying platform lists

Completes c20bac57. Languages now carry their flag, the same one the NavTop switcher shows and from the same source — the closed value as well as every row in ...

Kamo·1w ago
Docskamo-internal

Record what the Remote Terminal deploy actually taught

Three defects, all the same shape: present in the tree, absent from the thing that serves requests — an IngressRoute in a directory nothing applies, a client pa...

Kamo·1w ago
Fixkamo-internal

The ticket request had no route behind it

The window fetched **************** and nothing served it. There is no catch-all under /api/security — every area is proxied by a route file of its own, and the...

Kamo·1w ago
Fixkamo-internal

A custom-rendered field can be edited again

Completes c20bac57. Field's `renderValue` was returning in place of the whole read view, which included the button that opens the editor. So any field that ren...

Kamo·1w ago
Featurekamo-internal

Rebuild My Profile as a hero and five rooms

**************** was one 1,999-line component rendering thirteen identical cards down a single column. One SectionCard helper gave all of them the same radius, ...

Kamo·1w ago
Featurekamo-internal

A real Linux terminal in a tool window, and a submenu to reach it

The Linux Desktop nav option becomes a menu instead of a launch — Remote Desktop with its sizes, Remote Terminal — exactly as the softphone owns call, voicemail...

Kamo·1w ago
Featurekamo-internal

A fourth window state — float, drag to detach, drag to reorder

A popup tool window has had three states: docked in the row along the bottom, maximized over the viewport, or minimized to a chat head. This adds FLOATING — det...

Kamo·1w ago
Fixkamo-internal

Name a company by its company, with the contact as the qualifier

A record that is both an organisation and a person is now labelled "Harmony Home Loans (Nickolas McGarry)" everywhere one string has to stand for it. Company on...

Kamo·1w ago
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

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