Uteuzi wa wingi unaongoza kwa mwanachama wa timu
The grid already had multi-select checkboxes but nothing to do with a selection. Checking rows now reveals a Reassign action beside the other lead actions, gate...
Bulk-reassign endpoint, gated on REASSIGN_LEADS_MANUALLY
A a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a...
Sample variables for the LEADS_ASSIGNED template
Without a case here the admin template editor's Preview renders the new template with every placeholder blank, which reads as a broken template rather than an u...
LEADS_ASSIGNED email template; harden assignLead for bulk use
assignLead had zero callers and had never run in production. Before wiring the bulk reassignment path to it, give it the guarantees that path needs: - take org...
Render member photos on avatars inside the chat window
The small avatar icons in a chat popup — the per-message sender avatar (MessageBubble) and the seen-receipt list (SeenIndicator) — all read SessionMember.avatar...
Show member avatars in chat tool window title bars
The tool-window title bar renders its icon from the window STORE props — ToolDock passes `avatarSrc={w.toolId === 'chat' ? w.props.avatarSrc : undefined}` and f...
Surface real upload errors, sync god mode to session
"Save failed: Full logo upload failed" discarded the status and body, so a 403 from the branding gate read identically to a MinIO outage. The server's own messa...
God god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god god
Uploading a logo to a child org 403'd with no way to succeed: canManageOrgBranding only admitted the org owner, and the isGodModeActive fallback could never ret...
Add MANAGE_ORG_BRANDING (174)
Org branding endpoints (logos, colors, backgrounds, theme provisioning) were owner-or-god only, leaving no way to delegate branding without handing over ownersh...
Ustahiki wa mwandishi matrices kutoka kwa jopo la catalog
Bila matrix inayofunika kazi ya hali na kusudi, bei inarudi NO COVERAGE - Kwa hiyo, kabla ya hii, kununua tu ya makazi ya msingi inaweza kuwa bei. Waandishi wa ...
Relay eligibility-matrix authoring; rebuild picks up the SUSPENDED resume
Maelezo ya Post ****** kupitia maandishi ya sasa Msaada, kwa hivyo waandishi wa msimamizi hupanda tu kwa mpangaji wao. Msukumo huu pia unajenga dhidi ya mabadi...
A suspended loan can be resumed, and is no longer offered to itself
SUSPENDED is deliberately not terminal — LoanFileStatus.isTerminal excludes it, because a loan is suspended for a fixable reason. But it had no forward arrow, s...
Bound MlosAiClient with explicit connect and read timeouts
The client field-initialized a bare `new RestTemplate()`, so no timeout applied on any AI call and no builder could reach it. A hung provider blocked the caller...
Rebuild the agent studio as a full-width workspace
Removing the width cap was not the fix; the layout itself needed to be designed for the space rather than tolerated in it. The studio is now three zones side b...
Author lock policies — without one, no rate can be locked at all
RateCommitmentService refuses a lock whenever the priced result carries no lockPolicyVersionId ("lock-policy version is required"), and a result only carries on...
Stop the promote preview overcounting rows the server will reject
The "N approved row(s) will publish" caption counted a row whenever an APPROVED note_rate and base_price candidate existed for it, ignoring the values. A price ...
Classify vision failures so the retry loop and circuit breaker actually work
Vidudu viwili katika maono in, ambayo wote wawili kushindwa mashine kujengwa kwa kushughulikia yao. Jibu la maudhui tupu lilirudishwa kama SUCCESS na kumaliza ...
Thread orgId into the rate-sheet version-spine read
The gateway relayed only investorId, so the upstream had nothing to scope by and returned another tenant's version spine for a foreign investor id. Its siblings...
Use the full page width; make renaming an agent visible
Two things I got wrong. **Width.** The brief was explicit — use the full width of the page, do not waste real estate — and I capped the studio at a centred 880...
Stop the lead view crashing on a lead with no name
/leads/view/{id} died with "Cannot read properties of null (reading 'preferredName')". LeadDTO.toDTO() only builds primaryContact inside `if (lead.getName() != ...
Onyesha jinsi kila mfanyakazi anavyofanya
Inaongeza sehemu ya utendaji juu ya studio ya wakala: mazungumzo, jinsi Mara nyingi mtu alichukua juu na nini kilichosababisha, matokeo ya kufikia, na gharama. ...
Per-agent scorecard
Nini kila wakala kweli alifanya: mazungumzo, mara ngapi mtu alikuwa na kuchukua Na kwa nini, matokeo ya kufikia ikiwa ni pamoja na yale yaliyochukuliwa nyuma, n...
Grouped aggregate queries for the agent scorecard
Twelve @Query aggregates across sessions, messages, usage records and outbound touches, so a scorecard is a handful of grouped queries rather than loading rows ...
Retry an upload with the MIME type the server actually detected
Upakiaji unadhibitisha sehemu nyingi za Maudhui-Type dhidi ya aina ambayo seva inagundua Kutoka kwa bytes, na aina hiyo ya sehemu inatokana na File.type ya kivi...
Kamwe njia ya maono kwa adapta ambayo haiwezi kutuma picha
AiProvider.supportsVision is a hand-editable database flag, and routing trusted it alone. The HuggingFace and Cohere adapters never read imageUrls at all, and t...
Mount the live per-host cert instead of the expired wildcard secret
Chombo cha ndani cha cert-converter kilijenga ghala lake la msingi la PKCS12 kutoka kwenye ghala lake. wildcard-kamocrm-com, urithi wa siri ya multi-SAN ambayo ...
Stop pinning the expired wildcard-kamocrm-com secret
wildcard-kamocrm-com was a legacy multi-SAN secret that cert-manager orphaned when its Certificate was repointed at a per-host secret. Nothing renewed it and it...
Stop pinning the expired wildcard-kamocrm-com secret
wildcard-kamocrm-com was a legacy multi-SAN secret that cert-manager orphaned when its Certificate was repointed at a per-host secret. Nothing renewed it and it...
Stop pinning the expired wildcard-kamocrm-com secret
wildcard-kamocrm-com was a legacy multi-SAN secret that cert-manager orphaned when its Certificate was repointed at a per-host secret. Nothing renewed it and it...
Stop pinning the expired wildcard-kamocrm-com secret
wildcard-kamocrm-com was a legacy multi-SAN secret that cert-manager orphaned when its Certificate was repointed at a per-host secret. Nothing renewed it and it...
Stop expired/orphaned secrets shadowing live per-host certs
update_tls_store() rebuilt the TLSStore from a plain Secret listing, bucketed only on name prefix and type, with no check that a Certificate still owned the sec...
Jinsi ya kufanya kila aina ya gharama
Adds per-model price editing to the provider setup screen. Prices are seeded from each vendor's published list price where we know it, and blank where we do not...
Model bei catalog, kuandika njia na nyuma
Akaunti ya gharama haiwezi kufanya kazi: AiModel ina safu za bei, AiModelController Kusoma yao na ChatOrchestration Service kusoma yao kuhesabu gharama - lakini...
Show the AI handoff context to the agent taking over
Renders an AI_HANDOFF system event as a card with the reason, the AI's summary, and a collapsible transcript of the conversation so far - so the borrower does n...
Proxy the public AI->human handoff route
Adds POST **************** proxied to MediaService alongside its createSupportSession sibling. Without this the handoff feature was dead on arrival: MediaServi...
Carry the AI conversation into the human thread on handoff
Creates or reuses the support session, copies the AI transcript in as one system event, routes it, and tells the visitor honestly what happens next. Confidenti...
Agent-initiated handoff to a human, with context
The AI could not previously ask for a person: escalation rules reached the model via the compiled prompt, but there was no machine-readable signal back, so the ...
Kukubali kuingizwa kwa wakala katika thread ya kufungua
Simu ya mpokeaji wa AIService. Bila ya yote haya Njia ya nje imefungwa imefungwa imefungwa katika 404 iliyorekodiwa - lango liliruhusu kugusa, Ujumbe uliandikwa...
Outbound triggers, scheduler and web-chat dispatch
Makes the outreach spine actually fire. The gate, contact state, consent and audit already existed; nothing caused a touch to be evaluated. - NATS enabled for ...
Mhariri wa maandishi unahitajika; dedupe AI mipangilio ya jumla; kurekebisha mfano wa kugeuza
Inaongeza mhariri kwa maandishi ya kufungua / kufuta - mwandishi na Nguzo zilikuwepo lakini hakuna kitu kilichoweza kuwaweka, hivyo uwezo ulikuwa umekufa. Nakal...
Endelea kutumia maandishi yaliyohitajika na uyatumie mara moja
AiOrgSettings kupata forcedPreamble/forcedFooter na SalesAgentCompiler tayari Inawaunganisha katika kila wakala, lakini mtawala wa mazingira hakusoma wala kuand...
Kukataa mawakala wa mauzo ya msalaba-org; Widen bootstrap cache busting
salesAgentId was persisted from the request body unchecked, so a cross-org or dangling agent id could be stored on a WebChatIntegration. It failed safe only bec...
Anthropic imeshuka kila ujumbe wa mfumo lakini mwisho
buildRequestBody assigned rather than accumulated the system field, so with more than one system message only the final one reached the model. In practice that ...
Ukurasa kamili wa AI Sales Agent studio, kubadilisha modals
Mhariri wa wakala alikuwa ~ 800px MUI Dialog ambaye uso wake wote ulikuwa na urefu wa futi 10 Nakala, kwenye tab moja ya AI ambayo ilitumia mazungumzo kabisa. S...
Locked rules survive a section or whole-document override
An author taking over a rule section by hand replaced the entire section body, which silently discarded the locked pack rules inside it - so 'never quote a rate...
Stamp the borrower quote's actor from the session
The quote requires createdByMemberId and the browser must never supply it. memberId(req) is hoisted out of the party-check branch so it resolves for stewards to...
Sales-agent compiler, versioning, outreach gate; fix tool replay
Structured agent config compiles to the system prompt, freezes per published version, and gains the gate an agent must pass before initiating contact. Compiler...
Structured sales-agent config, version spine and outreach state
Replaces the single training-context blob with a structured, versionable agent model, and adds the per-contact spine an agent needs before it may initiate conta...
Correct the CATALOG_SOURCE ordinal — every rate-sheet upload was rejected
ImageAssocType.CATALOG_SOURCE is id 14 but ordinal 12: the ids skip 6, so id is not ordinal+1 past SYSTEM_WIDE. The panel sent 13, which is out of range for a 1...
Wakala wa Uuzaji wa AI tab + kwa kazi ya wakala wa kati
Builds out /settings/ai?tab=sales-agents (was a stub): orgs create agents for their sales industry, either from a built-in template or by writing the training c...
Je, unaona nini kuhusu usafiri?
Kila kitu kinaingia kwenye tovuti yako mwenyewe. Anza kwenye mpango wa bure na usome ukurasa huu tena katika mwezi mmoja.
