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 10, 2026
TestMediaService

Parse the desk's audience query at test time

findHolderMemberIdsOf lives in the shared library, so nothing in this package parsed it β€” and a mistyped path there crash-loops MediaService at boot, every endp...

KamoΒ·1d ago
September 9, 2026
Testkamo-internal

Cover the topInset the maximized window already honours

ToolWindowShell has taken a topInset since the tab strip landed β€” it starts the window below the strip and stops it short by the same amount, or the strip is dr...

KamoΒ·1d ago
TestESigService

Prove submit actually writes the signature date, and ignores the wire

The unit tests around this cover the pieces β€” the format, the type predicate, the required-field exclusion β€” and none of them can see the wiring. A signature_da...

KamoΒ·1d ago
Testkamo-internal

The motion guard matched a form, and longhand opted out of it

The reduced-motion walker scanned for the `animation:` shorthand. Writing the same animation as `animationName:` plus longhand properties β€” the first refactor a...

KamoΒ·2d ago
Testkamo-internal

Prove the chat window's menu consults the entitlement too

The companion to the MediaService endpoint test, at the second door. The chat games menu had the entitlement hole independently of the nav icon β€” it asked for t...

KamoΒ·2d ago
Testkamo-internal

The ramp-order fallback was a branch no test took

The invariant added in 80aee0ee falls back to the whole allowance when `clockStages` reports no critical boundary β€” which happens when the clock opens critical ...

KamoΒ·2d ago
Testkamo-internal

The two clock ramps are independent, but not unordered

The colour and the sound escalate on deliberately different beats β€” a rate and a state are different vocabularies, and each says something the other cannot. Tha...

KamoΒ·2d ago
TestMediaService

Prove the endpoints actually CONSULT the entitlement, not just that it works

GamesEntitlementTest proves the gate answers correctly. Nothing proved the three controllers ask it β€” and that distinction is the entire defect this change set ...

KamoΒ·2d ago
Testkamo-internal

Stop pinning setThemeSlug's argument list in a source assertion

`tabOrgResolution` was red on main. It asserts on the SOURCE of app/validate/page.tsx and required the literal text `setThemeSlug(orgRef)`, so `f9bd7621` β€” whic...

KamoΒ·2d ago
September 7, 2026
Testkamo-internal

Pin the storage meter to white, and ship the fix past a dead runner

A source-level guard rather than a rendered assertion, because none of what went dark is visible to a rendered one. Three of the four faults were dark for only ...

KamoΒ·4d ago
Testkamo-internal

Fail the build on a character the bitmap font cannot draw

A codepoint Press Start 2P lacks does NOT render as tofu. The browser silently falls back to a system font, so the character appears, correctly shaped, and mere...

KamoΒ·4d ago
TestMediaService

Parse every declared query, not the two somebody remembered

The three queries this feature added were never parsed by anything. That matters more than a wrong predicate would: Spring Data validates every @Query while it ...

KamoΒ·4d ago
September 6, 2026
Testkamo-internal

The /myplan to console journey, end to end

The preselect landed across two sessions and two files, so the thing worth pinning is the journey rather than either half: a plan chosen on /myplan arrives sele...

KamoΒ·4d ago
Testkamo-internal

Pin KamoCRM's own sales details, and that no org can change them

The address and number are constants a single edit away from becoming a tenant lookup, which would route a customer asking about a KamoCRM plan back to their ow...

KamoΒ·4d ago
Testkamo-internal

Type the nav-option fixture the shelf tests hand the launcher

The helper took { id: string }[], so every fixture with a kind, an href or a toolKey on it was a type error the test run never saw and tsc did.

KamoΒ·4d ago
TestConversionService

Assert the contract the service actually has

**************** asserted that an image already inside the box comes back byte-identical to what went in. It has been failing since afee6fd in July, and the cod...

KamoΒ·5d ago
TestMediaService

Pin which support queue a stranger's chat lands in

resolveTopic decides where a visitor from a customer's website reaches a person, and every way it can go wrong goes wrong silently β€” a chat filed under a plausi...

KamoΒ·5d ago
September 5, 2026
Testkamo-internal

Pin the right-click to one menu

The handler itself is already in β€” swept into 734f68cb by a concurrent commit in a shared checkout, under an unrelated message. This is the test it was written ...

KamoΒ·5d ago
Testkamo-internal

Cover the arrangement the Gmail sidebar actually asks for

The classification is tested in folderTargets; this is the call the sidebar makes with it. None of Gmail's well-known folders is a root and none is named anythi...

KamoΒ·6d ago
TestEmailService

Pin the two rules that let an OAuth grant and typed-in DAV credentials share a row

An org-level ContactIntegration holds either a typed-in DAV URL and password or an OAuth grant, and the CalDAV/CardDAV tab writes to that one row from two indep...

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

Wire the accept-gate mock into the FFA spend test

acceptNextLead consults LeadAcceptEligibilityService before it reaches any of the credit logic these cases are about, and the test builds the service by reflect...

KamoΒ·1w ago
TestKlusterServices

Drive a real PTY and a real socket through the terminal pump

The existing tests pin argv and framing in isolation; these four prove the pieces actually move bytes. A shell is forked under a genuine pty.fork and pumped ove...

KamoΒ·1w ago
September 2, 2026
TestSecurityService

Hold withTermsUnchanged to carrying every field

The method rebuilds UpdateQuoteRequest positionally, so a field added to that record and forgotten here is dropped from every save by a member without EDIT_QUOT...

KamoΒ·1w ago
Testkamo-shared-library

Pin the quote letter's dotted templateKey, as the HR family already is

The constant is not the templateKey. CanonicalTemplateLoader.load derives only the FILENAME from the constant (QUOTE_SENT -> quote-sent.json) and reads template...

KamoΒ·1w ago
Testkamo-internal

Guard the confirmation on a single-message delete

A member reported deleting the wrong email from /messages: the row's trash icon fired straight through to the API, so one stray click on the right edge of a row...

KamoΒ·1w ago
TestSecurityService

Pin the status-label body an org sends to drop a label

The two shapes that used to fail: an empty list, which is what clearing the last remaining label sends and what the handler rejected as malformed, and an entry ...

KamoΒ·1w ago
August 27, 2026
TestMediaService

Pin the attachment sniff to real encoder output

The existing cases build a header by hand, which tests the code against my belief about the format rather than against the format. These sixty-four-byte prefixe...

kamoΒ·2w ago
TestKlusterServices

Match the SIP status code, not the reason phrase

sip-probe.py required the literal string "200 OK". 2600Hz's Kamailio config answers OPTIONS with "200 Rawr!!", so the probe reported a healthy, correctly config...

KamoΒ·2w ago
TestKlusterServices

Probe SIP for real, and assert the white-label holds on the wire

A TCP connect to 5060 proves almost nothing β€” it succeeds against anything listening, and on UDP it cannot fail at all. That ambiguity is exactly what led me to...

KamoΒ·2w ago
TestSecurityService

Fail the build on a @Transactional Spring cannot advise

Two shapes get no transaction advice at all, and neither is visible at a call site or in a unit test: a non-public method, which the proxy cannot intercept, and...

KamoΒ·2w ago
Testkamo-internal

Pin the reason dialog, and let app/patients be tested at all

app/patients/** was in no vitest include pattern, so a test written beside the clinical console's own kit was collected by nothing and would have passed by neve...

kamoΒ·2w ago
Testkamo-internal

Pin the two form rules that fail silently

Both decide what NOT to send, which is the half of a form with no visible symptom when it goes wrong. A blank remittance line must not become a zero. Every lin...

kamoΒ·2w ago
August 26, 2026
Testkamo-shared-library

Actually exercise the terminal guards

The test that shipped with them asserted only that an ACCEPTED quote reports itself terminal β€” true before the guards existed and still true if both were delete...

KamoΒ·2w ago
Testkamo-internal

Pin toSessionType and backendCategoryFor

Neither had a single caller in this file before now, despite being exactly the class of function its own header warns about: a one-character typo ('Text' for 'T...

kamoΒ·2w ago
Testkamo-shared-library

Parse every core repository query against the real mapping

Spring Data validates an annotated @Query at bean creation, so a bad JPQL path ships green and crash-loops the consuming service instead of failing CI. The clin...

KamoΒ·2w ago
Testkamo-internal

Pin down bucketOf and unreadForRow against a repeat

This file just shipped four silent defects in one review round β€” an AI row that fell through to the wrong bucket, a title that was never read off the row, a buc...

kamoΒ·2w ago
TestBillingService

Prove library HQL parses on the Hibernate this service actually runs

kamo-shared-library builds on Boot 3.3.4 / Hibernate 6.5; BillingService runs Boot 3.1.5 / Hibernate 6.2.13. The library's own HQL tests therefore pass vacuousl...

KamoΒ·2w ago
August 25, 2026
TestSecurityService

Baseline the desktop probe, which is guarded where the scan cannot see

**************** has been failing on main since ba3f85c. DesktopProbeController#probe is not unguarded β€” it checks X-Internal-Auth through authorized(auth), con...

KamoΒ·2w ago
August 24, 2026
Testkamo-shared-library

Ratchet that a blocked capability with no app has a call-site guard

Splitting an app from the capability inside it is what lets a clinic hold a phone system and a video room at all, but it moves the enforcement burden. PhiModule...

KamoΒ·2w ago
August 22, 2026
TestDocsService

Give the audit test the new constructor argument

Missed in the previous commit, which I pushed off a grep's exit code instead of maven's β€” so a red suite went out as green. The controller gained a ClassicSaveP...

KamoΒ·2w ago
August 21, 2026
TestSecurityService

An opt-in probe that executes the grid's SQL, not just its HQL

/leads went down on 2026-08-20 with 'missing FROM-clause entry for table a2_1' and no test caught it, because none of them could: the library compiles against H...

KamoΒ·3w ago
August 14, 2026
Testkamo-internal

Catch a template-built i18n key that next-intl cannot reach

The catalogue's keys contain dots, and they were written into en.json as literal flat keys. next-intl resolves by splitting on dots, so every one of the 46 even...

kamoΒ·3w ago
Testkamo-internal

Make 'do not hand-edit the unenforced list' enforceable

The list has been wrong four times (58 -> 52 -> 47 -> 57) and every single time because it was edited by reasoning instead of regenerated. The file already said...

kamoΒ·3w ago
August 12, 2026
Testkamo-internal

Strengthen hrOverview id-precision and attendance-state coverage

The precision test used a 15-digit memberId, which round-trips through Number() losslessly and never proved the join key stays a string. Switch to an id past Nu...

kamoΒ·4w ago
August 11, 2026
Testkamo-shared-library

Pin how the pool divides into per-mailbox limits

Dovecot needs a byte figure per mailbox, but storage is one organization-wide pool across eighteen domains. The division has to hold one property above all β€” th...

KamoΒ·4w ago
Testkamo-shared-library

Pin the delegation-mode semantics

These predicates are what the surfaces hide themselves on, so getting one wrong either offers a button that cannot work or silently permits a charge the owner m...

KamoΒ·4w ago
August 9, 2026
Testkamo-shared-library

Pin the deprecated-alias exclusion

The catalog key is ServiceType's numeric id, and several retired constants deliberately share one with the app that replaced them β€” DOC_MANAGER with DOCS on 8, ...

KamoΒ·4w ago
August 7, 2026
Testkamo-shared-library

Script the half of the scan invariant this repo cannot see

SharedLibBeanSafetyTest can only police the library: it knows a bean requires a repository from some package, and nothing about whether the ~40 services scan it...

KamoΒ·1mo 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