Mabadiliko ya Tabianchi

Kuona nini sisi ni kujenga katika muda halisi. Kila kipengele, kurekebisha, na kuboresha kusafirishwa kwenye jukwaa.

17,933
Mabadiliko ya Jumla
4,614
Features ya
4,543
Wa
32
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,933AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService373InitializerService300KBService74KlusterServices546MCPGatewayService43MediaService461RAGService61SecurityService1,523TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,579kamo-login319kamo-marketing585kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,322kamo-signer-monorepo50kamolos102
Filter ya aina
Aina zoteBuild24CI523Chore670Docs226Feature4,614Fix4,543Other6,781Performance136Refactor274Revert23Style48Test70Upgrade1
August 7, 2026
FixKlusterServices

Pin to the node its model weights are actually on

The model is a hostPath under /var/lib/embedding-model on k1m1, and nothing replicates it. When k3m1 joined, the new ReplicaSet's pod was scheduled there and ne...

Kamo·1mo ago
FixMediaService

Catch the exception type the claim conflict actually throws

Round 2 review fix: the statement-level 40001 (the common case, detected inside executeUpdate() rather than at commit) surfaces as **************** via Hibernat...

Kamo·1mo ago
Fixkamo-internal

Make the popup's disabled buttons readable

kamo·1mo ago
Fixkamo-shared-library

Stop the mailbox pointer from failing startup platform-wide

DepartmentService is a @Service, and every service carries @ComponentScan("com.kamo"), so all ~40 of them construct it. Giving it a MailboxRepository therefore ...

Kamo·1mo ago
FixMediaService

Return 409 on every lost claim race, add manager claim path

Round 1 review fixes for the accept-popup claim endpoint: - an ordinary lost race (loser's isClaimableBy already false post-commit) now raises TicketAlreadyCl...

Kamo·1mo ago
FixMediaService

Scan the email repositories DepartmentService now needs

MediaService CrashLooped on every pod since shared-lib 1.5.0: DepartmentService is a @Service, so the wildcard @ComponentScan("com.kamo") builds it here whether...

Kamo·1mo ago
FixESigService

The expiry sweep ran with no transaction

@Transactional is applied by a proxy and sweep() called expireDue() on this, so the annotation was inert. The expiry notices read the envelope's organization do...

Kamo·1mo ago
Fixkamo-signer-monorepo

A party who already signed gets their copy, not the document again

The session always started at "welcome", so a signer following the link in their completion email — or simply reopening the invitation — was walked through the ...

Kamo·1mo ago
FixSecurityService

Keep co-borrowers on one routing order

deriveSigners numbered borrowers 1, 2, 3… as a display index. ESigService now ENFORCES routing order instead of merely reporting it, so leaving the counter in p...

Kamo·1mo ago
FixESigService

Close out the signing lifecycle — notices, routing, guards, expiry

Everything after a signer presses Finish was incomplete. Notices: an envelope's last signature produced a flattened PDF in MinIO that only the final signer eve...

Kamo·1mo ago
Fixkamo-internal

Match the TypeScript DTOs to the Java ones they proxy

/api/webinar/* is a passthrough, so every TS field name that drifted from the Java DTO silently read as undefined instead of failing to compile. The settings ta...

kamo·1mo ago
Fixkamo-internal

Populate the Quick Tips and use the shared help primitives

The scheduled-support tips rendered four placeholder strings ("How Step1"…); replace them with real guidance covering the type → presenters → slots → reminders ...

kamo·1mo ago
Fixkamo-internal

Compose from the mailbox you have open, and offer every one you can access

New Message opened the composer on the member's default mailbox: only onBehalfOf was passed, and only for another member's mailbox, so a personal or shared mail...

kamo·1mo ago
FixSecurityService

Stop losing organizations to swallowed exceptions, and accept the full create payload

createOrganization could destroy a customer's signup and report nothing useful. Transaction integrity: - Five Docstors ran behind try/catch that only looked sa...

Kamo·1mo ago
FixAPIService

Encode the decoded token exactly once on the way upstream

21670e5 routed SocialWebhookController through UpstreamUri's FULLY-PRE-ENCODED entry point, but its URL is a hybrid: `token` is an @PathVariable, so Spring hand...

Kamo·1mo ago
Fixkamo-internal

Make the create-account form tell you what happened

Creating an account from a lead appeared to do nothing. The server was returning a 500 (see the AccountAddress fix in kamo-shared-library), but the only error U...

kamo·1mo ago
Fixkamo-internal

Make the create-account form tell you what happened

Creating an account from a lead appeared to do nothing. The server was returning a 500 (see the AccountAddress fix in kamo-shared-library), but the only error U...

kamo·1mo ago
FixSecurityService

Make account creation atomic, org-scoped and rights-gated

createCustomer saved the Account before writing its addresses, and was not transactional — so when the address insert failed, the half-built Account stayed comm...

Kamo·1mo ago
Fixkamo-internal

Keep the right-click menus inside the viewport

Right-clicking a folder low in the sidebar opened its menu below the fold. The flip-at-the-edge logic was there but never ran: the component returns null until ...

kamo·1mo ago
Fixkamo-shared-library

Stamp AccountAddress dates so an address can actually be saved

DATE_CREATED is NOT NULL with a DEFAULT now(), but nothing ever set the field. Hibernate names every insertable column in its INSERT, so it sent an explicit NUL...

Kamo·1mo ago
FixAPIService

Forward the caller's query bytes on the public-facing proxies

The gateway stopped double-encoding forwarded query strings in 3c24d32, but four other proxies in this service still concatenated already-percent-encoded bytes ...

Kamo·1mo ago
Fixkamo-internal

Stop a menu click on an open settings page from bouncing back, and repair the dead tab links

Clicking Apps & Features (or Stats & Costs) while /settings/account was already open landed on the tab you came from. Next.js swaps the query string without rem...

kamo·1mo ago
Fixkamo-internal

Stop the tab content overflowing and touching the walls

Two causes, both mine. No padding. TabPanel deliberately supplies none — every tab pads itself, and I had not. The shell now uses p:{xs:3,md:4}, matching MyAcc...

kamo·1mo ago
Fixkamo-internal

Float the label off the placeholder on name prefix/suffix selects

MUI derives InputLabel shrink from `filled || focused || adornedStart`, and `isFilled({value: ''})` is false. Any select that still paints something while empty...

kamo·1mo ago
Fixkamo-internal

Send the timeline provider filter as repeated params, not a CSV

socialTimelineApi.timeline set providers to a joined CSV. A comma in a query VALUE travels as %2C, and any hop that re-encodes turns that into %252C — APIServic...

kamo·1mo ago
FixMediaService

Accept the timeline provider filter as repeated params

The web client sent ?providers=facebook,x as one CSV value. A comma in a query VALUE has to travel as %2C, and a hop that re-encodes turns that into %252C; we d...

Kamo·1mo ago
FixAPIService

Forward the caller's query bytes instead of encoding them twice

Every URL this gateway builds is assembled from getRequestURI() and getQueryString() — both already percent-encoded — and was then handed to RestTemplate as a S...

Kamo·1mo ago
Fixkamo-internal

Ask before any bulk action, not just the folder ones

Emptying and deleting a folder already confirmed. Everything else that moves mail or rewrites its read state did not — it ran the moment the icon was hit. The s...

kamo·1mo ago
Fixkamo-internal

Stop money fields loading a value that fails their own validation

The API stores money as NUMERIC(19,4) and serialises it with toPlainString(), so the shipped $50.00 minimum withdrawal arrived as "50.0000". Both money inputs a...

kamo·1mo ago
Fixkamo-internal

Commission links under My Account, tab reordered, duplicate headers removed

Nav and landing entries move under My Account rather than a separate section. The tabs live on that page, so that is where they belong; the reason I split them ...

kamo·1mo ago
FixSecurityService

Scope the opportunities read, and give the relay client timeouts

/me/opportunities called reservationRepository.findAll() and filtered org and member in Java. That pulls every reservation on the platform — every tenant's — in...

Kamo·1mo ago
Fixkamo-shared-library

Make the atomic claims actually atomic, and stop starving the oldest payout

An adversarial review of the money path found the concurrency design was not running at all. @Modifying without @Transactional. Spring Data opens no transactio...

Kamo·1mo ago
Fixkamo-internal

Send the status bucket as repeated params, not a CSV

Opening **************** errored with "Unknown status: **************** for every member. listMyAssignments sent the whole bucket as one CSV value. A comma in ...

kamo·1mo ago
Fixkamo-internal

Restore row positioning and make folders actually draggable

Two regressions from 8ab88d59. The message list grew a gap that widened with every row. This project builds Tailwind with `important: true`, so every utility o...

kamo·1mo ago
FixDocsService

Accept repeated status params so the gateway cannot corrupt the filter

Opening **************** answered "Unknown status: **************** for every member. The member grid sent the bucket as one CSV value. A comma in a query valu...

Kamo·1mo ago
FixMediaService

Send missed-message emails to the user account, not the org mailbox

The notice existed to say "you have a message waiting, sign in and read it", and it was being delivered to the mailbox this organization assigned the member — w...

Kamo·1mo ago
FixDocsService

Kamwe usimfuate mwanachama ambaye tayari amesaini, na kuweka suala wazi

Two behavioural defects in the phase-8 notification path. 1. The reminder sweep ran over OPEN_STATES, which includes AWAITING_OTHERS — "this member finished...

Kamo·1mo ago
Fixkamo-shared-library

Stop HTML-escaping the package title in the four HR subjects

EmailTemplateService renders a template's SUBJECT and BODY from ONE variable map, and all four canonical HR subjects carry {{packageTitle}} — which LegalNotific...

Kamo·1mo ago
August 6, 2026
Fixkamo-internal

React to ASSIGNED and stop trusting a channel that cannot replay

Three ways the support badge went stale, all of them silent. ASSIGNED was published on /topic/support/agent/{memberId} and this handler only branched on PENDIN...

kamo·1mo ago
FixMediaService

Kutoa kila wakala kuishi badge badala ya mmiliki mmoja kuhesabu

The nav badge and /support?tab=tickets answered different questions. The page lists every ticket in the org; the badge counted unread chat messages belonging to...

Kamo·1mo ago
Fixkamo-internal

Stop the badge costing portal members a request a minute

Three things, all of them about who the count is for. THE PROVIDER GATES ON THE SAME CONDITION AS THE BUTTON. It mounts in the root layout for every authentica...

kamo·1mo ago
FixMediaService

Drop client SENDs to guarded topics, and repair the build at HEAD

TWO THINGS, both of which stop MediaService main from shipping. 1. main does not compile. MediaController:1361 calls **************** which does not exist: ...

Kamo·1mo ago
FixDocsService

Let a failed pending-count read out instead of downgrading it

publishFor caught Exception around countByTeamMemberIdAndStatusIn and turned it into a WARN. That catch was not only around the badge: the query runs inside the...

Kamo·1mo ago
Fixkamo-internal

Show a sent attachment without waiting for a reload

MediaService announced a new chat message twice — once when the row was saved, before any attachment existed, and once after the attachment rows committed. The ...

kamo·1mo ago
FixMediaService

Announce a message once, when it is whole

Both callers that finish building a message after the row is saved now tell createMessage not to announce it: MediaController attaches the images and publishes ...

Kamo·1mo ago
Fixkamo-shared-library

Let a caller own the realtime announcement of the message it is still building

undaMessage ilitangaza kila ujumbe mpya juu ya somo la wakati halisi wa kikao Mstari uliokolewa - ndani ya shughuli ya mwombaji, kabla ya mwombaji kuandika choc...

Kamo·1mo ago
Fixkamo-internal

Lay the profile header's wallpaper chrome out in a row

The Source / Console / Tone pod was the Stage's stacked one, and stacked it is taller than the 100px avatar it sits beside — so it, not the identity block, set ...

kamo·1mo ago

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei