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
April 29, 2026
Fixkamo-shared-library

Handle legacy ordinal strings for CountryType via AttributeConverter

DB rows had country stored as ordinal integers (e.g. "186" for UNITED_STATES) instead of enum names, causing IllegalArgumentException on findAll(). CountryTypeC...

Kamo·4mo ago
Fixkamo-internal

Cancel translate jobs instantly by running tsx in background

When Forgejo cancels a workflow, bash waits for any foreground child to finish before processing the signal — so a running tsx locale job would block cancellati...

kamo·4mo ago
Fixkamo-asterisk-support

Move ASTERISK_CDR_DSN to local config.json, not CI/CD secrets

CDR credentials are local to each FreePBX server and have no business in the CI/CD pipeline. Operators add ASTERISK_CDR_DSN directly to their config.json alongs...

Kamo·4mo ago
FixSecurityService

Allow elevated access on getDomainById and verify-dns endpoints

Top-level org owners and system members were getting 403 on getDomainById and verify-dns because those endpoints checked isUserMemberOfOrg directly. Adds hasEle...

Kamo·4mo ago
Fixkamo-internal

Show existing org domain instead of entry form when no custom domain

Fall back to the org's platform subdomain as the display domain so DnsProgressView renders rather than DomainEntryForm when no custom external domain exists. Al...

kamo·4mo ago
FixVOIPService

Surface imaging fallback when provider has no call history

KamoPBXProvider.getCallHistory now returns null instead of throwing **************** so the 501 response no longer bypasses the imaging fallback. The provider c...

Kamo·4mo ago
Fixkamo-internal

Restore NavPri panel labels and LeadHistory column headers

NavPri: salvage-keys grabbed href URLs as label values and swapped label/description pairs for Accounts, KB, and Notes nav panels. LeadHistoryPanel: MUI bgcolo...

kamo·4mo ago
Fixkamo-internal

Show platform domain context when no custom domain is set

Surface the active *.kamocrm.com hostname in the domain entry form so users can see their current platform domain instead of a blank entry screen. Also fixes ve...

kamo·4mo ago
Fixkamo-internal

Checkpoint translations per chunk and per locale on main

Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...

kamo·4mo ago
Fixkamo-internal

Checkpoint translations per chunk and per locale on main

Persist locale JSON after each API chunk so cancellation loses at most one batch. CI translates one locale per process and commits/pushes after each so finished...

kamo·4mo ago
April 28, 2026
Fixkamo-internal

Disable Docker BuildKit cache so every pipeline run does a full rebuild

Sets no-cache on both image build steps so npm ci and npm run build always run, even when the source tree is unchanged.

kamo·4mo ago
Fixkamo-internal

Bust Docker BuildKit cache per commit so npm run build runs every push

Identical checkout trees (e.g. empty commits) reused cached layers and skipped a real Next build. Pass GIT_COMMIT from the workflow and label the image revision...

kamo·4mo ago
Fixkamo-internal

Add missing chat meet button labels

kamo·4mo ago
FixEmailService

Sync members.email when primary mailbox is assigned, changed, or removed

When a mailbox was assigned to a member in a KAMO_MAIL org, members.email was never updated, causing EmailCredentialService to fail to resolve IMAP credentials ...

Kamo·4mo ago
FixSecurityService

Prevent duplicate root domains and fix primary domain display

ONE_DOMAIN_PER_ORG check incorrectly excluded .kamocrm.com web-alias domains, allowing an org to accumulate multiple root domains (and 10 aliases each) by retry...

Kamo·4mo ago
Fixkamo-internal

Serialize member-security and members PUT calls to avoid CockroachDB conflict

Two concurrent writes to the same `members` row caused a serializable isolation conflict — member-security read the row while the members endpoint wrote to it (...

kamo·4mo ago
Fixkamo-internal

Double scrollbar width from 6px to 12px

kamo·4mo ago
FixSecurityService

Reduce org creation latency and fix translation cascade failures

- OrganizationController: replace ensureTeamMembersForAllOrgs (full org table scan) with ensureTeamMemberForOrg (single org) — eliminates the ~400ms×N DB ro...

Kamo·4mo ago
Fixkamo-shared-library

Widen commit_log_translations.title to TEXT to match DB column

The column was VARCHAR(512) in both the annotation and the DB, causing translation inserts to fail for long translated titles. The DB column is now STRING (appl...

Kamo·4mo ago
Fixkamo-internal

Unwrap catalog and calculation from backend response envelope

getSubscriptionCatalog returned { catalog: {...} } but was cast directly as SubscriptionCatalog, leaving catalog.plans undefined and the plan selection step bla...

kamo·4mo ago
FixBillingService

Add @JsonProperty to is*-prefixed boolean DTO fields

Lombok generates isXxx() is-getters for boolean fields named isXxx. Jackson strips the leading 'is' from is-getters and serializes them as 'xxx' rather than 'is...

Kamo·4mo ago
Fixkamo-internal

Use ss instead of fuser to kill stale port-forward (fuser not on k0m1)

fuser and lsof are not installed on the runner host. Use ss -tlnp with grep to extract the PID holding port 18080 and kill it directly. Also switch pkill to SIG...

kamo·4mo ago
Fixkamo-internal

Clean up stale port-forward so cancelled translate job doesn't block next run

Bash doesn't forward signals to backgrounded processes, so kubectl port-forward outlived cancelled workflow runs and held port 18080, blocking every subsequent ...

kamo·4mo ago
Fixkamo-internal

Restore all broken placeholder values across pages

Salvage-keys script had grabbed CSS classNames, inline styles, and JS template literals instead of the original English text for 114 message keys spanning notes...

kamo·4mo ago
Fixkamo-internal

Restore leads page hero title and subtitle from git history

heroTitle was 'Hero Title' (placeholder), heroSubtitle was 'flex gap-2' (salvage-keys accidentally grabbed the adjacent CSS class name). Correct values recovere...

kamo·4mo ago
Fixkamo-register

Enable Finish button by polling widget.getState() and switching to auto=onload

The statechange event listener was not reliably enabling the Finish button after *** verification. Two root causes: 1. The drain logic read widgetAny.state whi...

Kamo·4mo ago
FixBillingService

Include subscription-targeting accounts in org list

listForOrg now also returns accounts whose subscriptions target the requested org — not just accounts directly owned by it. In the multi-org model the paying Ac...

Kamo·4mo ago
Fixkamo-internal

Add statusWindow labels namespace and fix all setting placeholders

- Add **************** (50 keys) so the settings nav sidebar shows real text instead of key paths - Fix branchTypesLabel ICU format: \${branchLabel} → {branch...

kamo·4mo ago
Fixkamo-internal

Match other tool windows' size + color scheme

- defaultSize and minSize now 320x650, resizable: false (matches Softphone, Chat, Calculator, SMS, AI Chat) - Switched from dark slate gradient to the standard ...

kamo·4mo ago
Fixkamo-internal

Forward Range header so audio playback can scrub

Without this the VOIPService recording-streaming endpoint always returns the full file (Range header is dropped by buildForwardHeaders), which works for play-fr...

kamo·4mo ago
FixKlusterServices

Rewrite /etc/odbc.ini to point at $MARIADB_HOST on every boot

The escomputers/freepbx:17 image bakes /etc/odbc.ini with Server=db (the docker-compose link target). On this Kubernetes deployment MariaDB lives at \$MARIADB_H...

Kamo·4mo ago
FixVOIPService

Resolve member→extension before VM/CDR provider lookup

CallController was passing memberId where FreePBX (and other PBX-style providers) expect an extension number — voicemail listing returned empty because no PBX e...

Kamo·4mo ago
FixSecurityService

Auto-assign first seat, Free as floor, broader org invalidation

BillingSetupService now activates the first open license slot for the creator when seeding a sub-org subscription (and same for promote-to-billing-owner) — othe...

Kamo·4mo ago
FixSecurityService

Top-level org members get platform-owner plan, bypass billing gates

KamoCRM (top-level) org members are not subject to the billing system — they get the OWNER_UNLIMITED plan's feature matrix outright (with Free as a defensive fa...

Kamo·4mo ago
Fixkamo-shared-library

Top-level org bypass + Free baseline fallback for orgs without subs

The org-level entitlement check **************** walks subscriptions targeting an org. With the new target_org model, orgs that don't yet have a targeting Accou...

Kamo·4mo ago
April 27, 2026
Fixkamo-internal

Remove redundant Field history title from history panel

Tab label already conveys context — title and subtitle were wasting screen space. Reload button moved inline into the toolbar.

kamo·4mo ago
Fixkamo-internal

Remove layout prop causing email body bouncing

The outer motion.div's `layout` prop fought with the inner AnimatePresence height: 'auto' animation, creating a FLIP feedback loop on emails with unstable heigh...

kamo·4mo ago
Fixkamo-internal

Always show Create Document button on doc manager page

Removed the getMemberId() > 0 guard that was hiding the button during the useUserInfo loading window. The page is already behind auth so no client-side membersh...

kamo·4mo ago
Fixkamo-internal

Restore organization import removed by accident

organization.id is still needed in the handleCreateDocument request body; only the isDocsEditor condition should have been removed.

kamo·4mo 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