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 7, 2026
Fixkamo-internal

The contact-effect editor's accent is the org's primary, not a fixed purple

The editor painted its reset control and its "Following the shipped default" helper lines in #8b5cf6, hardcoded four times over — the shared editor's default pl...

Kamo·5d ago
Featurekamo-internal

Contact Effects moves inside Audio, Video & Controls

It was a top-level tab on the member page, sitting beside Audio & Video and answering the same question — what this shell does under your own hands. It is now t...

Kamo·5d ago
Docskamo-marketing

The Labor Day crane is fifteen lines, not nine

The cost note counted the crane before it grew a two-leg lattice mast and a triangular jib section, which is the shape it needed to stop reading as a wobbling r...

Kamo·5d ago
Featurekamo-marketing

Labor Day — a working skyline clocking off

The nineteenth scene, and the first Monday in September with the Saturday and Sunday before it. It is the one window on this calendar that cannot collide with a...

Kamo·5d ago
Fixkamo-internal

The storage meter's trough was black, which is most of the bar

Reported twice, and the first fix missed it. That pass corrected every foreground and left the trough at rgba(0,0,0,0.28) with a black inset shadow, on the reas...

Kamo·5d ago
Fixkamo-internal

The dock was reserving space for its own scrollbar, and walking left

A docked window crept left in 38px steps and then jumped back to the right edge, over and over, for as long as it was open. `rightEdgeReserve` accepts a scroll...

Kamo·5d ago
Fixkamo-internal

Remove the mock desktop dialog, and guard against it coming back

The celebration layer's corner alert reproduced a named third party's interface chrome — its title bar gradient, its double bevel, its close box — and said the ...

Kamo·5d ago
Featurekamo-internal

The celebration engine — an arcade machine installed inside the CRM

/achievements was already a 1987 cabinet, and nothing ever HAPPENED on it. This is the layer that happens: a banner that drops from the top shouting ACHIEVEMENT...

Kamo·5d ago
Fixkamo-internal

Round the artwork's corners

The picture sat square inside a pane with a 16px corner, cutting a rectangle out of the glass. 12px on the wrapper — the same radius the drop veil uses — and th...

Kamo·5d ago
Fixkamo-internal

Make the cabinet as tall as its own content

The page was dark for one screenful and then white for the rest of the scroll. `PageWrapper` is `height: 100%` with `flex-direction: column`, so every route in...

Kamo·5d ago
Featurekamo-internal

Resolve contact effects through four layers, with a tab at the platform and the member

Contact effects were a single per-member setting on one organization page. They now resolve exactly the way event sounds do — shipped catalogue, then the platfo...

Kamo·5d ago
FeatureSecurityService

Serve the three layers of the contact-effect stack

GET /api/security/contact-effects returns the platform, org and member layers in one round trip; PUT and DELETE on /{scope} write and reset one layer. The servi...

Kamo·5d ago
Featurekamo-shared-library

The storage and the platform right for a three-layer contact-effect stack

CONTACT_EFFECT_PROFILES holds the platform, org and member layers of the animation painted where a pointer touches the screen — the same shape, and for the same...

Kamo·5d ago
ChoreSecurityService

Baseline the single-action event endpoint

Same door and same reasoning as its sibling one line above: X-Internal-Auth, constant-time, fail-closed. Genuinely pre-session — a mobile sign-in is reported by...

Kamo·5d ago
Featurekamo-internal

Eighteen sprites for the single-action achievements

Thirty-five new achievements arrived in the catalogue and every one of them was rendering the padlock fallback, because all eight existing sprites belong to the...

Kamo·5d ago
FeatureSecurityService

Award and backfill the single-action achievements

Twenty-six of the thirty-five are questions the database can already answer, so they are awarded by asking it. SingleActionProbes holds one EXISTS per achieveme...

Kamo·5d ago
Featurekamo-shared-library

Thirty-five single-action achievements, and a trigger kind

The "have you tried this yet" half of the catalogue: one tier at a threshold of one, cheap on purpose, existing to make the product's own surface discoverable. ...

Kamo·5d ago
Featurekamo-internal

Skins — the one bar, wearing a different machine's clothes

The scrollbar already let a surface tint itself: five custom properties on the scroller, inherited, read by the overlay. For every screen in the app that is the...

Kamo·5d ago
Featurekamo-internal

24 more contact effects, grouped by character rather than by geometry

The catalogue sorted itself by what an effect DID — converging, expanding, lively. Nobody opens a settings pane wanting "something that expands"; they want some...

Kamo·5d ago
Featurekamo-internal

Make the contact effect a choice — 24 of them, one dropdown per event

The six animations shipped last change were hard-wired to the six contact events. They are now a catalogue any of which binds to any event, and the member picks...

Kamo·5d ago
Fixkamo-internal

The white band under the cabinet

The application's `body` and `html` are `--background: #ffffff`, and this route is the one dark surface in it. The page element is `min-height: 100%` so it fill...

Kamo·5d ago
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·5d ago
FeatureSecurityService

Award the six tracking-link achievements, and backfill them

**************** reads all six of a member's marketing counters in one row and settles all six tracks against them. Wired into /self and /self/pending beside th...

Kamo·5d ago
Featurekamo-shared-library

Six tracking-link achievements, ten levels each

The marketing funnel, read six ways, one track per counter already carried on MARKETING_TRACKING_CODES: DRAW_A_CROWD uniqueVisitors 1 .. 50,000 B...

Kamo·5d ago
Fixkamo-internal

Every foreground on the storage meter is white

Reported unreadable, and it was. Four places went dark or coloured where the rest of the component is white on a dark ground: - The "Add 10 GB" button was #0b0...

Kamo·5d ago
ChoreSecurityService

Baseline the growth-mission sync endpoint

**************** caught the new internal endpoint, which is what it is for: with anyRequest().permitAll(), a handler that resolves no caller is reachable throug...

Kamo·5d ago
Featurekamo-internal

A storage meter beside My Widgets, for the owner who is filling up

An owner had no way to know how much of their plan's storage they had spent without opening a settings tab they had no reason to open. The bar that told them li...

Kamo·5d ago
FeatureSecurityService

An owner's storage position, carried on a payload that already exists

The launchpad is getting a storage meter, and the obvious way to feed it is a request of its own on every page load. The numbers do not deserve one: "used" come...

Kamo·5d ago
Featurekamo-shared-library

How fast an organization's storage is growing

The snapshot table has recorded a daily position per organization since metering began, and nothing read two rows of it together. So the only question storage c...

Kamo·5d 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·5d ago
FeatureMediaService

An approval settles the member's achievement

Approving a submission now tells SecurityService to recount that member's SPREAD_THE_WORD standing, so the trophy lands in the same second as the decision rathe...

Kamo·5d ago
FeatureSecurityService

Award SPREAD_THE_WORD from the Growth Hub

**************** counts a member's APPROVED Growth Hub submissions and settles their SPREAD_THE_WORD level against that count. It RECOUNTS rather than being to...

Kamo·5d ago
Featurekamo-shared-library

SPREAD_THE_WORD, a nine-level Growth Hub track

The second entry in the catalogue, and the first that is a track rather than an event. One level per stretch of Growth Hub missions a member has had APPROVED: 1...

Kamo·5d ago
Featurekamo-internal

Tear the page down and rebuild it as an arcade cabinet

Two things were wrong and the first one is a rule, not a preference. FULL WIDTH. The page shipped with `maxWidth: 1240, margin: '0 auto'` inside a content area...

Kamo·5d ago
Featurekamo-internal

An animation at the point of contact, six of them, one for each way a press can happen

Left down, left up, middle down, middle up, touch down and touch up each get their own animation around the point of contact. They are one family rather than si...

Kamo·5d ago
Fixkamo-internal

A scrollbar 17px in from the edge is still a scrollbar the dock must not cover

The tool dock reserved the right edge for a page's vertical scrollbar only when that bar was AT the edge — within two pixels, for sub-pixel rounding. Almost no ...

Kamo·5d ago
Fixkamo-internal

The Accounts app was billed as Human Resources, so the Free plan lost it

The `accounts` option was gated on `organization.isHrs && VIEW_EMPLOYEES`. Neither half is what /account is: its own backend enforces VIEW_ACCOUNTS (CRM) on the...

Kamo·5d ago
FixSecurityService

The baseline award was two transactions, not one

`ensureBaselineFor` calls `ensureBaseline` on `this`, and Spring's transaction advice is a PROXY — a self-invocation does not pass through it, so the inner REQU...

Kamo·5d ago
Fixkamo-internal

Three React Compiler errors, and what each of them was really saying

The compiler rules caught three things in the achievement surfaces, and none of them was a style complaint. A component aliased into a local during render (`co...

Kamo·5d ago
Fixkamo-internal

A two-level jump published two frames and the browser kept one

`useMediaTopic` holds ONE message slot and overwrites it, so two frames arriving in the same tick are batched by React into a single render and only the last is...

Kamo·5d ago
Featurekamo-internal

Growth Hub — one thing at a time, beside the App Shelf

The launchpad pane a member works their organisation's growth requests through, and the Marketing settings tab an admin writes and reviews them from. `WidgetDe...

Kamo·5d ago
FeatureMediaService

The queue a member works through, and the queue an admin reviews

MediaService's Growth Hub surface at /api/media/marketing/growth. It owns this for the same reason it owns tracking, the scoreboard, materials and Canva — and b...

Kamo·5d ago
Featurekamo-shared-library

The requests an org asks of its people, and the evidence back

Three entities, seven rights and two enum appends behind Growth Hub: a short ordered list of things an organisation asks of everybody — leave a review, share th...

Kamo·5d ago
Featurekamo-internal

A trophy cabinet, and a celebration that finds the member

Adds the Achievements surface: the trophy in the rail, /achievements, the launchpad leaderboard, and the unlock popup that arrives over whatever page a member h...

Kamo·5d ago
FeatureMediaService

Relay an unlock to the member it happened to, and to nobody else

SecurityService publishes **************** on core NATS; this puts it on **************** Same arrangement as the training badge, and for the same underlying re...

Kamo·5d ago
FeatureSecurityService

Award Join The Team to everybody, without a backfill

SecurityService owns the member, so it owns the achievement. It awards, reads, acknowledges and publishes; MediaService only relays. EVERY MEMBER GETS JOIN THE...

Kamo·5d ago
Featurekamo-shared-library

The achievement a member holds, and the record that proves it

Adds the Gamification app and the domain behind it: a catalogue of achievements in code, a member's standing in data, and a log of every unlock so that nothing ...

Kamo·5d ago
OtherVOIPService

Record what the carrier says happened to a text, and check 10DLC before it matters

Sending now succeeds and nothing arrives. Telnyx accepts the message, returns an id, and Verizon then refuses to deliver it: status delivery_failed code ...

Kamo·5d ago
Fixkamo-internal

The docked row has one height, and no way left to arrive at another

Resizing a docked window's top edge moves every window's top edge — the row sits on the bottom with its tops in a line, and a row of different heights is a ragg...

Kamo·5d ago
OtherVOIPService

Normalise the sender at the gateway, and stop calling a refusal retryable

The previous commit normalised the sender number where it is stored in the number inventory and on the carrier, and the send still failed with the same carrier ...

Kamo·5d 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