Mabadiliko ya Tabianchi

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

17,866
Mabadiliko ya Jumla
4,581
Features ya
4,513
Wa
32
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,866AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService348InitializerService299KBService74KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,519TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,554kamo-login318kamo-marketing584kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter ya aina
Aina zoteBuild24CI522Chore670Docs226Feature4,581Fix4,513Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
March 20, 2026
March 19, 2026
Fixkamo-internal

Use string conversationId throughout SMS tool to handle 64-bit IDs

Backend now serializes Long as string; update all conversationId types from number to string to match. Also enable send button when an attachment is present wit...

kamo·5mo ago
FixVOIPService

Serialize Long IDs as strings to prevent JS precision loss

CockroachDB unique_rowid() generates 64-bit integers larger than Number.MAX_SAFE_INTEGER (2^53-1). JS JSON.parse silently rounds them, causing conversation ID m...

Kamo·5mo ago
Fixkamo-internal

Remove duplicate Back button from RingCentralConfig

Parent PhoneProviderSetup already renders an IconButton with ArrowLeft in the config view header, making the Back button inside RingCentralConfig a duplicate.

kamo·5mo ago
FixVOIPService

Return flat map from send endpoint to prevent LazyInitializationException

VoipMessage.conversation is FetchType.LAZY; after @Transactional commits, Jackson serializing the entity would throw LazyInitializationException causing a 500, ...

Kamo·5mo ago
FixVOIPService

Fall back to org mainPhoneNumber when member has no VOIP config

Members without an individual MemberVoipConfig (or no fromPhoneNumber set) now use the org's mainPhoneNumber from VoipProviderConfig as the outbound number, ins...

Kamo·5mo ago
FixVOIPService

Remove getJwtKey() from WebhookController after OAuth migration

Signature validation used jwtKey as HMAC secret which no longer exists on VoipProviderConfig. Skip validation for now consistent with ****************

Kamo·5mo ago
FeatureAPIService

Add OAuth callback forwarding with no-redirect RestTemplate

- Add noRedirectRestTemplate bean (HttpClient.Redirect.NEVER) so the 302 from VOIPService's OAuth callback is passed through to the browser instead of being...

Kamo·5mo ago
Featurekamo-internal

Replace JWT config with OAuth connect UI for RingCentral

- RingCentralConfig: OAuth connect/disconnect button with status indicator, main phone number field, test connection (only when connected) - voipApi: add getO...

kamo·5mo ago
FeatureVOIPService

Refactor RingCentral to OAuth 2.0 Authorization Code flow

- New OAuthController: /oauth/start (returns authUrl), /oauth/callback (exchanges code, saves tokens), /oauth/status, DELETE /oauth/token - OTKValidationFilte...

Kamo·5mo ago
FeatureInitializerService

Create KamoTokens schema and org_oauth_token table

- CREATE SCHEMA IF NOT EXISTS kamotokens - CREATE TABLE kamotokens.org_oauth_token with unique (org_id, provider) - DROP COLUMN jwt_key from voip_provider_confi...

Kamo·5mo ago
Featurekamo-shared-library

Add OrgOAuthToken entity for OAuth 2.0 token storage

- Add OrgOAuthToken entity in KamoTokens schema (kamotokens.org_oauth_token) - Add OrgOAuthTokenRepository with findByOrgIdAndProvider / deleteByOrgIdAndProvide...

Kamo·5mo ago
Featurekamo-internal

Equal-height feature cards and Kazoo-aware provider descriptions

- Set height: 100% on FeatureCard motion wrapper so cards in the same row match the tallest card - Update KamoPBX description to highlight Kazoo as a carrier-gr...

kamo·5mo ago
Chorekamo-internal

Add RingCentral and FreePBX SVG logos

kamo·5mo ago
Fixkamo-internal

Use plain img tags for local SVG provider logos

next/image does not reliably serve local SVGs without unoptimized flag. Plain img tags load /public assets directly with no issues.

kamo·5mo ago
Featurekamo-internal

Add SmsTemplatesTab and SmsCrmTab

kamo·5mo ago
Featurekamo-internal

Add SmsNewConversation dialpad component

kamo·5mo ago
Featurekamo-internal

Add shared template data

kamo·5mo ago
Refactorkamo-internal

Remove Client ID and Secret fields from RingCentral UI

These are platform-level credentials set once in the K8s secret. Customers only need to provide their JWT Key and main phone number.

kamo·5mo ago
RefactorVOIPService

Read RingCentral client-id/secret from platform config, not per-org DB

Client ID and Secret identify the Kamo app on RingCentral's platform — they are shared across all orgs. Inject them from Spring Boot properties (backed by the K...

Kamo·5mo ago
Refactorkamo-shared-library

Remove clientId/clientSecret from VoipProviderConfig

These are platform-level credentials shared across all orgs. Only jwtKey and mainPhoneNumber are per-org.

Kamo·5mo ago
FixVOIPService

Use correct session key casing for orgID and memberID

KSessionService stores keys as orgID and memberID (capital D). Both controllers were calling .get("orgId") and .get("memberId") which always returns null, causi...

Kamo·5mo ago
Fixkamo-internal

Always show softphone and SMS buttons in NavTop

Removed isVoip gate so the buttons are always visible regardless of feature flag state.

kamo·5mo ago
CIVOIPService

Add Dockerfile for VOIPService

Matches the shared-library + service two-stage build pattern used by EmailService and other Java services.

Kamo·5mo ago
Fixkamo-internal

Use feature type name as key before numeric id in org feature preprocessing

Java returns features with `type: "VOIP"` and a numeric `id`. The preprocessing chain had `obj.id` before `obj.type`, causing all features to get numeric string...

kamo·5mo ago
FixMediaService

Add voip.> to NATS stream subjects and handle IllegalStateException in VoipStompRelayController

The NATS stream only covered chat.> so subscribing to voip.> threw IllegalStateException ([SUB-90007] No matching streams). Added voip.> to the stream subjects ...

Kamo·5mo ago
FixEmailService

Add security-service.*** to K8s ConfigMap

KamoJwtService requires this property for Bearer token validation in DavAuthFilter, but the K8s ConfigMap overrides application.yml and was missing it — causing...

Kamo·5mo ago
Featurekamo-internal

Redesign phone provider setup to match email provider format with logos, help tips, and correct nav tabs

- Rewrite PhoneProviderSetup to match EmailProviderSetup pattern: list/config view split, AnimatePresence transitions, back button with provider name in header,...

kamo·5mo ago
Fixkamo-internal

Show Phone System(s) settings unconditionally so orgs can configure VOIP before enabling it

- Remove isVoip gate from phone section on /settings page — Provider Setup card has no condition so it always appears; Agents and Dial Plans still gated by isVo...

kamo·5mo ago
Fixkamo-internal

Guard against non-array API responses in useContacts hook

setBooks, fetchContacts, and searchContacts now safely handle error objects and Spring paginated wrappers instead of crashing with 'e.map is not a function'.

kamo·5mo ago
Featurekamo-internal

Add CalDav/CardDav tab to email settings page

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