Mabadiliko ya Tabianchi

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

17,853
Mabadiliko ya Jumla
4,572
Features ya
4,509
Wa
32
Miradi ya Miradi
Filter ya Mradi
Miradi yote17,853AIService110APIService138BillingService133ConversionService85DaemonService107DocsService189ESigService78EmailService347InitializerService299KBService73KlusterServices539MCPGatewayService43MediaService460RAGService61SecurityService1,516TranslateService45VOIPService173VectorService8kamo-analytics6,157kamo-apps18kamo-asterisk-support19kamo-capcha17kamo-capcha-widget4kamo-internal4,550kamo-login318kamo-marketing580kamo-meet90kamo-nowww18kamo-register206kamo-shared-library1,320kamo-signer-monorepo50kamolos102
Filter ya aina
Aina zoteBuild24CI522Chore670Docs226Feature4,572Fix4,509Other6,781Performance136Refactor273Revert23Style48Test68Upgrade1
September 11, 2026
FeatureBillingService

Vichupo vya Active na Void katika saraka ya jukwaa org

Kichupo cha Shirika la console sasa kinagawanyika katika Active na Void sub-tabs. A ya Shirika lililopotea ni orgs.is active = FALSE (iliyowekwa na utupu wa Hud...

Kamo·19m ago
September 10, 2026
FixBillingService

Rerun tukio webhook ambayo jaribio la kwanza lilikufa, na kukataa moja SDK haiwezi kusoma

Kwa mujibu wa taarifa iliyotolewa na shirika la habari la Associated Press, watu 500 wauwawa, kwa hiyo Mtu wa kwanza aliyeshindwa katika jaribio lake la kwanza,...

Kamo·22h ago
FixBillingService

Malipo tu kushindwa huanza dunning, na Stripe lazima kukubaliana kabla ya vitendo dunning

ankara.finalized hubeba hali = wazi na kiasi kinachostahili kwa kila Uthibitisho wa malipo kabla ya malipo kufanywa, na ankara Mshtakiwa huyo alianza kazi yake ...

Kamo·22h ago
September 9, 2026
FixBillingService

Mlinzi huyo aliyekuwa na silaha sawa hakuweza kamwe kuzima moto, na hundi ya kuchimba ilishindwa kufungua

Ulinzi wote dhidi ya kupelekwa kwamba kupeleka kitu ilikuwa inert, hivyo bomba Iliripoti kazi mbili za kijani wakati pods zilikaa kwenye digest ya awali. Hivyo ...

Kamo·2d ago
FixBillingService

Mstari wa catalog naming programu ambayo kujenga haiwezi kutatua si kwa ajili ya kuuza

HudumaTypeConverter iliacha kutupa kwenye kitambulisho cha programu isiyojulikana na kuanza kuitatua Ili kufuta, ambayo ni nini huduma lazima kufanya - meli enu...

Kamo·2d ago
September 7, 2026
FixBillingService

Bei Stripe haijawahi kusikia ni kosa, sio ukimya

Mpatanishi alilinganisha bei za mapped dhidi ya orodha na akarudi mapema Kila wakati hakuna kitu kilichofichwa. Kwa hiyo, kwa mujibu wa Katiba, tangu Bei ya kwa...

Kamo·4d ago
September 6, 2026
FixBillingService

Kushikilia kile ambacho screen inasema, na kukataa badala ya kujifanya

Ukaguzi wa Plans & Billing console dhidi ya kuishi Stripe funguo kupatikana seam kati ya screen na Stripe kuvunjwa katika kila mwelekeo mara moja, na kimya kati...

Kamo·4d ago
FeatureBillingService

Malipo ya mpango wa kuanza, na kutoa kuishi, kwenye waya

PlanDto ilibeba tu kiwango cha mara kwa mara, hivyo kila uso ukinukuu mpango ulionukuliwa bei Mteja hawezi kushtakiwa: ada ya kuanza ya KamoCRM ni $ 99 kiti, am...

Kamo·4d ago
FeatureBillingService

Sehemu moja nyuma ya ukurasa wa mpango wa mteja mwenyewe

GET / api / billing / mwenyewe / mpango majibu kila kitu / mpango wangu hutoa: mpango, nini Shirika linaweza kutumia, orodha ya kulinganisha dhidi, viti na orod...

Kamo·5d ago
September 5, 2026
FixBillingService

Jaribu kuweka kwa digest, si kwa tag

Ahadi ya awali inaacha "kuweka picha" kuwa kimya hakuna-op. Hii inathibitisha kuwa matokeo: baada ya rollout, tag ni kutatuliwa kwa digest katika Usajili na Vio...

Kamo·6d ago
FixBillingService

Ujenzi wa mradi huo haukuleta chochote na uliripoti mafanikio

Picha ni tagged na SHA ahadi, hivyo kujenga upya ahadi hiyo kuzalisha Mfano wa picha sawa. "Kuweka picha" kisha hakuna mabadiliko, Kufukuzwa ni kamwe kuguswa, '...

Kamo·6d ago
FeatureBillingService

Bill the startup fee on both routes to a plan, and record negotiated terms

Two routes reach the same plan and only one of them was going to charge the new per-seat startup fee. A sales-written order bills through SubscriptionService, w...

Kamo·6d ago
September 4, 2026
FeatureBillingService

Lock every money-moving sweep, and run two pods

BillingService ran one pod and its seven scheduled sweeps were correct only because of it. There is no ShedLock anywhere on this platform, so a second replica w...

Kamo·6d ago
FixBillingService

Let a rollout finish what the old pod was doing

Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...

Kamo·6d ago
August 31, 2026
FixBillingService

Stop offering the internal platform-owner plan for sale

listPlansForMarket filtered on isActive alone, and active is not the same as on the menu. OWNER_UNLIMITED ("Platform Owner — Internal") is active, carries no pr...

Kamo·1w ago
FeatureBillingService

Serve the running offer, and say whether a seat is actually PAID for

Adds GET /markets/{id}/promotion. There was no way for an in-app buying surface to know an offer was running at all — the marketing site read promotions through...

Kamo·1w ago
FeatureBillingService

Bill the three-year term, and quote its rate to the console

BillingCycles gains TRIENNIAL, expressed to Stripe as three YEARs rather than thirty-six MONTHs so the renewal tracks the signup anniversary — the same reason A...

Kamo·1w ago
August 27, 2026
FeatureBillingService

Per-server lines on the extensions summary

The phone server's extensions tab showed the organization-wide figure and nothing else, so an empty KamoPBX server displayed "21 billable extensions — $63.00 / ...

Kamo·2w ago
FixBillingService

The platform org is not gated by its own catalog

The platform org was told "Requires the KamoPBX Hosting add-on" on its own phone-server screen, for an add-on it publishes. It owns the plan catalog, the add-o...

Kamo·2w ago
FeatureBillingService

Refuse a self-serve Enterprise subscription

Enterprise is negotiated. Hiding the price is presentation; this is the boundary. A request naming the Enterprise plan is refused unless the caller holds ******...

Kamo·2w ago
FeatureBillingService

Bill phone service by the extension

PricingModel.PER_EXTENSION, its own reserved quantity key, an allocator, a nightly reconciler, a removal gate and the summary API - the phone twin of the per-ma...

Kamo·2w ago
August 26, 2026
FixBillingService

Scan the shared-lib email.billing repository package

@EnableJpaRepositories lists packages explicitly, so MailboxBillingDayRepository was invisible and the service refused to start outright — caught by booting it,...

Kamo·2w ago
ChoreBillingService

Rebuild against current kamo-shared-library

CI clones shared-lib at image build time. This service was last built before shared-lib gained GMAIL_PERSONAL and OUTLOOK_PERSONAL, so its deployed enum cannot ...

Kamo·2w ago
FeatureBillingService

Expose mailbox counts, entitlement and cost mode

Kamo·2w ago
FeatureBillingService

Bill e-mail per mailbox, reconciled nightly

Quantity is server-computed under a reserved key a request body cannot reach, and pushed through the existing amend path — so Stripe's CREATE_PRORATIONS charges...

Kamo·2w ago
FixBillingService

Close the webhook idempotency gap BL0's final review found

Finding 1 (Critical): a losing claim on a redelivered Stripe event only proved a row existed, not that the prior attempt finished. A claimed row left behind by ...

Kamo·2w ago
FixBillingService

Do not key ephemeral per-attempt Stripe creates

Round 2 review (Ruling 17) found "is this a create?" is necessary but not sufficient. The question that matters: can this subject legitimately be created more t...

Kamo·2w ago
FixBillingService

Keys belong on Stripe creates only, not on mutations

Round 1 review (Ruling 15) found the Critical: a stable idempotency key on an update/cancel/attach/detach is not a safeguard, it is a bug. Those calls already s...

Kamo·2w ago
FixBillingService

Make every Stripe write idempotent, and fail the build on a new one without a key

A socket timeout on a Stripe write that actually succeeded is indistinguishable, from our side, from one that did not; without an idempotency key the retry crea...

Kamo·2w ago
FixBillingService

Commit the processed flag with the money write, not ahead of it

markProcessed was REQUIRES_NEW, so it committed processed=true while the handler's money writes were still uncommitted in the suspended outer transaction. JpaTr...

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
FeatureBillingService

Make a replayed Stripe event a no-op

Adds BillingWebhookEventClaimService on its own bean, with REQUIRES_NEW on every method, and wires it into processEvent ahead of the dispatch switch. A losing c...

Kamo·2w ago
ChoreBillingService

Pin kamo-shared-library 1.6.0

The library moved to 1.6.0 while every consumer stayed on 1.5.0. Consumer CI builds the library from a fresh clone into a cold ~/.m2 and ci-settings.xml mirrors...

Kamo·2w ago
August 23, 2026
FixBillingService

Stop selling add-ons the chosen plan already includes

The catalog has always recorded which add-ons a plan bundles, in **************** — Business and Enterprise carry video conferencing, the AI assistant, the HR s...

Kamo·2w ago
August 20, 2026
FeatureBillingService

Publish the paid conversion for tracked organizations

Both paths that stamp BillingSourceType.PAID now publish marketing.visitor.paid, because hooking only one silently misses half the traffic — AccountSubscription...

Kamo·3w ago
August 16, 2026
FixBillingService

Size the pod above its own JVM heap ceiling [skip ci]

The image starts the JVM with -XX:MaxRAMPercentage=70 -XX:+AlwaysPreTouch, so the heap alone may take 70% of the container limit and pre-touch keeps every commi...

Kamo·3w ago
August 15, 2026
FeatureBillingService

Decide platform access with the shared resolver

@PlatformAdminOnly now names the platform right it requires (defaulting to MANAGE_ORGANIZATIONS, which is what this service's platform surface is about) and the...

Kamo·3w ago
August 12, 2026
FeatureBillingService

Carry the renewal date on the coverage and group payloads

Both surfaces now report currentPeriodEnd and cancelAtPeriodEnd. The date is what a cancel confirmation actually needs to say — "you keep your seat until the en...

Kamo·4w ago
FixBillingService

Cancelling stops future billing and nothing else

Cancel no longer takes an "immediate" flag, and no customer-facing route can ask for one. Passing it true ended the subscription the same day while asking Strip...

Kamo·4w ago
FeatureBillingService

One plan per organization, a 25-seat Enterprise ceiling, and a way to stop paying

The plan is now an organization-level decision and nothing else can override it. Letting a self-payer or a group manager pick their own reads like a kindness an...

Kamo·4w ago
August 11, 2026
FeatureBillingService

Let a group's plan be cancelled, and stop double-paying for one person

Three gaps in what shipped last: A group with a plan could never be removed. delete() refuses while a live subscription exists — correct, since the group row i...

Kamo·4w ago
FeatureBillingService

Make billing groups work end to end, and stop self-pay charging for nothing

A group can now gather people, buy a plan on its manager's own card, and hand its seats out. None of that existed: the only operations were create, approve and ...

Kamo·4w ago
ChoreBillingService

Rebuild against the renamed pay-group table

The entity moved from billing_groups to billing_pay_groups after it turned out the former is a live legacy table with a different shape. This service still hold...

Kamo·4w ago
FixBillingService

Stop shipping a shared credential as a config default

The platform's shared password was baked in as the fallback for DB_PASSWORD and MINIO_ROOT_PASSWORD, so it lived in this repo and in the built image as well as ...

Kamo·4w ago
FeatureBillingService

Tell people their payment failed, and stand the subscription down

The dunning that did not exist. invoice.payment_failed wrote a row and returned: no email, no flag, no state change, and billing.email-service-url was configure...

Kamo·4w ago
FeatureBillingService

Let a member buy their own seat, and close a body-parameter hole

Self-pay had no route inside the console. Everything on the billing surface is account-shaped — you must already hold an AccountMember row before Plans & Billin...

Kamo·4w ago
FeatureBillingService

Org policy and billing group APIs

Who inside an organization may pay Kamo is now answerable and settable. Both routes are org-scoped and therefore deliberately outside /api/billing/accounts/** a...

Kamo·4w 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