Live Change Log

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

17,845
Total Changes
4,566
Features
4,508
Fixes
32
Projects
Filter by project
All Projects17,845AIService110APIService138BillingService132ConversionService85DaemonService107DocsService189ESigService78EmailService347InitializerService299KBService73KlusterServices539MCPGatewayService43MediaService459RAGService61SecurityService1,515TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,546kamo-login318kamo-marketing580kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,319kamo-signer-monorepo50kamolos102
Filter by type
All TypesBuild24CI522Chore669Docs226Feature4,566Fix4,508Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 9, 2026
Refactorkamo-internal

Stop forking the signing surface, and offer the whole signed record

kamo-internal carried a hand-copied fork of the external signer app β€” fifteen files under app/lib/esign, app/stores/esign and app/components/esign/signing, each...

KamoΒ·1d ago
Refactorkamo-internal

One table per game, and drop the cast the union forced

Follow-up polish on the Games entitlement gate. No behaviour change; the tests that pin it are unchanged and still pass. **************** was typed `GamesOrgan...

KamoΒ·2d ago
September 8, 2026
Refactorkamo-internal

Move the balance out of the top bar and into the Games menu

The bar is fixed chrome and already crowded β€” greeting, branches, availability, the compliance clock, the bell, chat, language, account β€” and a balance is not s...

KamoΒ·3d ago
RefactorMediaService

The frame stops carrying an archive nothing renders

The window's notation panel is gone β€” the captured pieces have that space β€” so `moveList` and `fenHistory` came off the published view. `fenHistory` alone was s...

KamoΒ·3d ago
Refactorkamo-internal

Drop aiThinking from the client mirror too

It was always false on the wire and nothing rendered it. Removed alongside the server field so the two shapes stay identical β€” a mirror that keeps a field the s...

KamoΒ·3d ago
RefactorMediaService

Drop a field that was always false and a statement that did nothing

`aiThinking` was on every published board and was never once true β€” the AI answers inside the request that provoked it, so the window that asked already knows i...

KamoΒ·3d ago
September 6, 2026
RefactorVOIPService

Delete the Telnyx code nothing calls

Three methods I added that no caller reaches, removed while the reason is still fresh β€” this feature's worst bug was TelnyxProvider.provision() being defined an...

KamoΒ·4d ago
Refactorkamo-internal

One module owns the link from the plan page to the billing tab

Every action on /myplan is a link into Plans & billing, and it has to land on the right sub-tab or "Payment and invoices" opens on Subscriptions and looks broke...

KamoΒ·4d ago
Refactorkamo-internal

The launcher machinery is a context, not a prop

KamoΒ·5d ago
September 5, 2026
RefactorVOIPService

Keep "is this member connected" in one place

RingCentralMemberOAuthService had its own hasConnection and connectedExtensionNumber, and both answered only for the sign-in half. A member can hold either cred...

KamoΒ·6d ago
September 4, 2026
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
September 3, 2026
RefactorKlusterServices

The reaper used `su` too β€” runuser, and no shell anywhere

Dropping su from the exec path left it in reap_idle, which runs on every terminal connect. Same three objections, and the last one is the one that bites: `su - ...

KamoΒ·1w ago
RefactorVOIPService

Say plainly why every JustCall agent reads as ACTIVE

The user listing decided its status with "available is Yes or No -> ACTIVE, else UNKNOWN", which is a roundabout way of asking whether JustCall answered at all,...

KamoΒ·1w ago
September 2, 2026
Refactorkamo-shared-library

Expose repricing as a static so a backfill can reuse it

Quote money columns are written, not computed on read, so an engine correction leaves existing rows carrying the old arithmetic until something saves them. A mi...

KamoΒ·1w ago
RefactorRAGService

Drop a @Transactional that never applied

loadCatalogue is reached from catalogue() on the same bean, and self-invocation does not pass through the proxy, so the annotation was decoration. The query is ...

KamoΒ·1w ago
Refactorkamo-internal

Drop the container ref nothing reads

containerRef was declared and attached to MessageBrowser's root element, but containerRef.current is never read anywhere in the file β€” it has been dead since it...

KamoΒ·1w ago
August 28, 2026
Refactorkamo-internal

Rename Copilot Mobile App to KamoMobile

The mobile app is KamoMobile now. This renames every reference to it in this repo β€” the strings members read, the route, the i18n namespace, the components, the...

KamoΒ·2w ago
August 27, 2026
Refactorkamo-shared-library

The per-plan allowance is per seat, and says so

Rename only β€” PlanStorage.gbPerUser is private to this class and the three call sites are all in it. The comment above it was the misleading half: the allowance...

KamoΒ·2w ago
Refactorkamo-internal

Eight clinical reasons were being collected by window.prompt

Stopping a medication, closing an order loop, cancelling an appointment, merging two patients, declaring two records not a match, withdrawing portal access, dec...

kamoΒ·2w ago
Refactorkamo-internal

The tab's own session names its organization; `?org=` leaves the URL

Builds directly on 05ff51b3, which established the right source of truth β€” the tab asks its own session which workspace it is in, over a call the per-tab token ...

kamoΒ·2w ago
RefactorSecurityService

One request-body parser, not three

The three clinical write controllers each grew their own string/uuid/integer/ date helpers within a week of each other β€” identical except for which ones each fi...

KamoΒ·2w ago
August 26, 2026
Refactorkamo-internal

One window per session, and the shared column

AI chat was the only tool deriving "maximized" from a ResizeObserver threshold instead of reading the flag every other tool reads, and the only one switching co...

kamoΒ·2w ago
Refactorkamo-internal

Render the shared pane, and widen to 550

NavTopPanel's Chats tab now renders ConversationsPane instead of the old ChatsList, keeping its own search field and passing **************** so members keep th...

kamoΒ·2w ago
Refactorkamo-shared-library

Lift the free/busy engine out of the webinar feature

The interval arithmetic β€” expand, restrictionMask, candidateStarts, and the whole of AvailabilityInterval β€” was never webinar-specific. All the coupling sat in ...

KamoΒ·2w ago
RefactorMediaService

Use the shared availability engine

MemberAvailabilityService keeps the CRUD and becomes a BusySource; the arithmetic it used to own now lives in kamo-shared-library. Call sites are unchanged β€” th...

KamoΒ·2w ago
RefactorSecurityService

Map the account timeline beside the account's other things

Everything belonging to an account already lives under **************** β€” its leads, orders, members, notes and history. Communications was the one at a plural ...

KamoΒ·2w ago
Refactorkamo-internal

The settings tab opens the calendar's editor

Sharing the day picker was the half-measure. It left two forms that still had to agree with each other about recurrence, times, effective range, note, save sema...

kamoΒ·2w ago
Refactorkamo-internal

Rebuild the console on the house design language

The first pass was wrong and it was wrong in a way that should have been obvious before a line was written: I built Tailwind divs, MUI Tabs and hardcoded rgba c...

kamoΒ·2w ago
August 25, 2026
Refactorkamo-shared-library

Retire Sent to AI, and store the status by name

Removing SENT_TO_AI is not a one-line enum edit. It sat at ordinal 3, and system_bug.status was an ORDINAL column: dropping it shifts AWAITING_INFO onto 3, CANN...

KamoΒ·2w ago
August 24, 2026
RefactorSecurityService

Separate the credential check from org authorization

Signing in was two questions fused into one query. "Are these credentials good" is answered by the users row -- the password lives there, so it was never org-sc...

KamoΒ·2w ago
August 23, 2026
Refactorkamo-internal

Lift the wallpaper and widget shortcuts above the media pod

The profile header band laid "My Wallpapers", "My Widgets" and the media chrome out as one wrapping row, so the two shortcuts read as a fourth switch sitting al...

kamoΒ·2w ago
August 22, 2026
RefactorDocsService

Open the one modified record, whichever layer asked

getOrCreateClassic and getOrCreateFormFillable collapse into getOrCreateModified: "open this for editing" means the same thing whichever editor asked, and the a...

KamoΒ·2w ago
Refactorkamo-shared-library

One modified record with two layers, not two records

A document had up to two derived rows β€” CLASSIC for edited bytes, FORM_FILLABLE for fields β€” and something had to decide which was based on the other, repointin...

KamoΒ·2w ago
RefactorKBService

Stop seeding a palette colour on the org master note

Both master notes are painted from the ORGANISATION's brand now β€” primary for "Our Master Note", secondary for "My Master Note", each as a pastel β€” so a stored ...

KamoΒ·2w ago
Refactorkamo-internal

Hand the editor what it needs instead of re-asking

DocumentEditor fired POST /api/docs/form-fillable/{id} on every mount purely to read classicEditable β€” a write used as a query, re-deriving a row the call that ...

kamoΒ·2w ago
Refactorkamo-internal

Make the Modify rules testable, and drop a dead field

Both rules the Modify menu encodes have shipped wrong once β€” form fillable was disabled on the rows whose fields are meant to stay editable, and it was offered ...

kamoΒ·2w ago
August 21, 2026
RefactorSecurityService

Delegate AvatarObjectPaths to the shared library

MediaService now names avatar objects too β€” the support chats list shows the requestor's photo, and a support requestor is in somebody else's organization, so n...

KamoΒ·3w ago
August 19, 2026
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Β·3w ago
August 15, 2026
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Β·3w ago
August 14, 2026
Refactorkamo-internal

The player is a module singleton, not a React value

Firing a sound read a context, which made every call site's POSITION IN THE TREE part of its correctness. A component rendered above SoundProvider got a no-op a...

kamoΒ·3w ago
Refactorkamo-internal

Sign inside the app shell, behind one page header

The wizard opened as a fullScreen MUI Dialog, so signing a package threw the member out of the product: NavTop and NavPri were covered, there was no rail and no...

kamoΒ·4w ago
Refactorkamo-internal

Fold the back arrow and book icon into the header title

The /kb body repeated the gradient header title verbatim. Drop the duplicate, move its book icon onto the h1 and park the back arrow to the right of it.

kamoΒ·4w ago
August 13, 2026
Refactorkamo-internal

Drop the speed dial heading

The tab is reached by its own icon and the rows say what they are, so a title and a sentence of explanation above them only cost vertical space in a panel that ...

kamoΒ·4w ago
Refactorkamo-internal

One Plans & Billing screen instead of two that each answered half

The platform had two billing screens. /settings/account?tab=billing answered what the organization pays; Plans & Billing on the member profile answered what a p...

kamoΒ·4w ago
August 12, 2026
Refactorkamo-internal

One strip β€” filter and refresh beside the sub-tabs

The controls sat in a second full-width row under the tab strip holding three short words and an icon, spending a whole band of the pane on what fits in the spa...

kamoΒ·4w ago
August 11, 2026
RefactorSecurityService

Follow the subscription finder rename

**************** is gone from the shared library. Its Optional return depended on a unique constraint that no longer exists, so once one account holds both a pe...

KamoΒ·4w ago
August 10, 2026
Refactorkamo-internal

One writer of the *** TTL, and it is the activity tracker

/api/user-info wrote the session TTL straight to Redis, bypassing every service-side rule β€” and useUserInfo polls it every five minutes forever, so that one lin...

kamoΒ·4w ago
RefactorConversionService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

KamoΒ·4w ago
RefactorDocsService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

KamoΒ·4w ago
RefactorMediaService

Reading a session no longer renews it

The expiration on the Redis record IS the session; when it lapses the member is signed out. This service holds its own copy of KSessionService against that SHAR...

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