The socket's close callback is in the local stomp types
The fix pass's shared Media socket uses onWebSocketClose, which types/@stomp__stompjs.d.ts didn't declare, so 552adae26 failed its build at useMediaTopic.ts. No...
Every script block says whether it is spoken or for the caller alone
The kind column was added by hand first. Only an explicit SAY is speech; anything unset reads as agent only, so a block nobody classified can never pass for wor...
The duplicate route reaches the service, and a saved text's key fits its column
Completes fe182924f. The contract in the brief follows the scripts work.
The fix pass, one Media socket, and help that matches
A card drags by touch and lands under the pointer. Every MediaService hook shares one socket. A cockpit org starts each member on a short set for their role. A ...
Stage events, per-loan money on the own-loans rule, and deal role notices
A stage move writes its own stream event, so a stream can tell stages that share a status. Loan money, its rollups, goals and report reach only a member's own d...
Stream outbox for claims, status frames, and a report's own-records rule
A credit claim writes LEAD_ASSIGNED, a status change reaches floor panes, a run can be asked about by lead and stream, and a report can name a second right that...
Kamo Help lives in the article browser, and articles open in the page
The separate help shelf is gone. Kamo's articles sit at the bottom of the left tree on a tinted panel, drawn by the same rows and read only. The console and an ...
The help tree reads titles, not whole translated articles
Any language but English loaded every translated help row on each tree read, about 4 MB, outside the minute-long cache. The tree now carries titles alone and th...
Fill the one merge field list, so a saved email reads the same in a drip
Sales scripts on the canvas, the call floor and the Interaction Center
A call step picks a script and variants, shown on the card with a link to edit. The call floor and the Interaction Center open that script, stay in step, and a ...
One merge field list, a script on the call list and dial ledger, and duplicate
MergeFields is the one list a script, stream step or saved template fills from, with older spellings kept as aliases. script_id on call_list_entries and dial_le...
The chat policy articles quote the Title Case page titles
The dictionary's page titles moved to Title Case, and these two articles' test holds them to the product's own words.
The deployed config names the platform organization
The pods read the ConfigMap's application.yml, not the one in the image, so sharing stayed off, which is the safe way to fail.
A help popup on every sales floor page, switch and feature
HelpArticleLink opens one popup in place: a short summary first, then the full article from the knowledge base, with search, related articles, Back, deep links,...
Every write keys on the article's owning organization
Reads now cross one edge, so writes must not lean on anything a read decides. Each write takes the acting organization and asks ownedBy, in the service as well ...
Group the Automation tab's lead and other-system switches
Two new groups: Leads and pipeline, and Your other loan system. Labels only. A switch is stored and checked by its own name, so what it does is unchanged. The r...
One link to CRM settings instead of every tab
The hero listed each settings tab, which stopped working once the list grew. It now opens the first tab this member can reach.
Any organization may read the platform's published help
KbReaderScope gets one exception to its organization rule: a reader in any other organization may read a platform article that is active, published and open to ...
The call session stacks on a phone, and a floor page can carry Quick Tips
The workspace grid took the page's leftover height at phone width, so its panels overlapped. FloorPage takes helpTips and draws the same column SettingsView doe...
The call floor's own figures wait for the access check, and unavailable keeps the page frame
The board fills its width, and the lead and loan cards follow the org's colours
The streams list and the canvas panels fill their room, in the org's colours
The send queue, briefing, captures, triage and review as full-width workspaces
The Tasks tab is the lead's action plan, and SI calling picks a real SI
SI calling lists the org's own SIs with the voice set on each, where it asked for a voice in a text box, and each SI call and text step on the canvas can name o...
The sales floor lives under the apps that own it
One nav item per app, paired with one group in Settings. Five floor options left the top level: Call floor, Scoreboard and Send queue are rows under Leads, Emai...
A provider's voice agent answers to the SI's call gate, by the SI's own name
A stream no longer reaches JustCall's voice agent directly. kamoai-service decides a call, and only an SI with no line of its own takes this path, to the voice ...
A stream's SI, a voice channel for the outreach gate, and a stream step as a run
The org chooses an SI for its stream calls, where it used to type a provider's voice name. The voice is the SI's.
A stream filter starts from the stream's runs, never the org's leads
On the largest org the planner drove the EXISTS from all 795,946 leads. The caller now reads the runs first.
Stream state, starting a stream, org fields, return dates and a role on a lead's deal [skip ci]
A lead's stream on every screen, and the canvas's new steps
The lead page, board cards and grid show a lead's stream, with a filter. A person sets a return date on the lead. The canvas offers starting and leaving a strea...
A lead's stream, a reactivation date, and a role through its deals
Reads a lead's live stream from its run, for the grid, board, lead page and a filter. A reactivation date is a LeadCallback, moved in place and cancelled quietl...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
