Every email address opens a Write popup, and every phone number — settings included — opens Call / Text
Email addresses, project wide. <EmailAddress> is the email twin of <PhoneNumber>; pressed, it opens one design of popup: - Write opens the email composer window...
Cast profile sp97lab2 for the CP97 lab org SP97 Lab 2 (Run 16)
The test org SP97 Lab 2 (1200096283021796487) holds CP00 Task 0's people (the same users), departments, job title, heads, levels and Vera's grants; no Nell, no ...
Nothing dials by itself any more, and four red tests on main go green
The softphone never places a call for the member (owner rule, 2026-10-13): - The lead header's Call work / Call personal now fill the dialpad and stop, like eve...
Cast profiles and mint-session's org hint for the CP97 parallel lab orgs (Run 16)
KC_CAST_PROFILE=<name> loads tools/cast-profiles/<name>.sh (another TEST org's cast; CAST_NELL/CAST_TEAM/CAST_TAG); without it nothing changes. mint-session sig...
Tours show for members signed in before them, and survive a failed progress read
Two reasons the first deploy showed no tour, not even on the App Shelf: - The progress read was attempted once per page, and every tour surface waited on it. ...
The guided-tours read answers the member's CURRENT Show Tour rights
A session carries the rights it was issued with and the routine refresh does not re-read them, so everyone signed in before the Show Tour rights existed saw no ...
SHOW_TOUR_KAMO_CAMERAS (369), and an enrollment's code hash is never serialized
The Show Tour block (338-368) was written while KamoCameras (334-337) was landing, so the newest app security group had no tour right and kamo-internal's guided...
The cast neither compares nor removes the seeded Show Tour rights (CP07 Task 43 ruling T43-2)
CP07 Task 43 ruling T43-1 — a withheld SI record is passed on as what it learned from (master CP-D72)
The boot-time rights sync inserts a role's missing rights in ONE statement
b8014ab3's deploy never became ready. The 31 Show Tour rights made the row-at-a-time insert loop 31 YugabyteDB round trips per role — ~3.5 s a role, ~490 s acro...
Every phone number on screen opens a Call / Text popup
Any number kamo-internal shows — a lead's, a contact's, a borrower's, a customer's, a vendor's, an applicant's, a colleague's, a voicemail caller's — is now a <...
Merge remote-tracking branch 'origin/main' into cameras-ui
# Conflicts: # ****************
KamoCameras settings — Site Setup (enroll a connector in three steps, site cards), Cameras (grid with on/off and audio, drag-and-drop groups organiser), site detail (overview, discover, cameras, camera systems, advanced go2rtc settings with history, diagnostics), camera and group pages with a shared Security tab, menu and landing entries
Pure rules in app/lib/cameraSettings.ts with tests: enrollment code formatting and validation (SiteKeys alphabet), connector download pick per OS/arch, install ...
The camera viewer — Cameras nav menu, the live cameras tool window and its maximized navigator
- Nav tool 'cameras' (app + VIEW_CAMERAS): saved layouts, groups (each expanding to its cameras), ungrouped cameras with a status dot, Open viewer, Manage cam...
Guided onboarding tours for every app, offered at sign-in and retakeable from the App Shelf
One tour per app security group — 31, from Customer Relationships to E-Signatures — each gated on the app being on, the member being able to open it, and the ap...
Display on Intake now saves
The form editor built each field for the save request without isDisplayOnIntake, so the server stored false for every field that was not required. The toggle re...
Remember guided-tour steps per person across organizations, and seed every Show Tour right
GET /api/security/guided-tours answers which tour steps the signed-in PERSON has been shown or skipped, as the union over every membership of the same user — a ...
A Show Tour right for every app security group (338-368)
SHOW_TOUR_<APP>, one per app group — thirty-one, E-Signatures included — each a standalone root filed under its app, labelled "Show Tour", and GRANTED by defaul...
The connector relay never sends a reserved close code
When KamoCameraService rolled, the backend socket closed without a close frame (1006) and the relay passed 1006 to the connector; 1005, 1006 and 1015 only descr...
Connector download sizes arrive as strings; the checksums file is not offered as a build
CamerasApi turns KamoCameraService's string longs (config versions) into numbers
An SI's HIGH chat card is raised even while an unread-chat card stands
A person with an undismissed CHAT_MESSAGE card was never told of an SI's NOTIFY (KamoCollab CP12 D14): the announce-once rule dropped the HIGH card too, while t...
A market save rejects a missing or unknown custom form
Both association loops skipped a null form id, or one the organization does not own, and the save still returned success. That is how every market lost its form...
The connector socket's client address is the right-most public X-Forwarded-For hop
CameraAgentWebSocketHandler took the FIRST X-Forwarded-For hop — the one a client can write itself — and that address is what KamoCameraService rate-limits unau...
A person's consult route order moves to collab/ConsultChannels — their stated order, then the SI's CHANNEL_ORDER for the relationship, then CHAT, EMAIL, ASYNC, each route once; CollabPack, which also plans collab_position, now names no personality type; behaviour unchanged (KamoCollab CP13 Task 22, D19, ruling CP13-T22-1)
Drop the event dialog's Cancel event button, which could never show
It was gated on an attendee row marked as organiser for the member's own address, and the calendar's guest sync never writes one (production holds none). It als...
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.
