Tours start by themselves at sign-in, a tour controller steers them, and every app on the App Shelf starts its own
- Sign-in: the tours with something new now START on the launchpad, once per sign-in — no offer to click through. God mode no longer stops them (it did, for t...
Every Show Tour right is on by default — for every role, every branch-type template, and everyone already here
The first release seeded each tour only to roles already holding a right in its app and left every branch-type template at Not Specified: 2,416 role rows held n...
ExpirePendingForKey and findFirstByPublicKeyAndStatus for the enrollment fixes
KamoCameraService retires a connector's older pending codes when it hands out a new one (an old code read from a log could otherwise be claimed into another org...
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...
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...
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 <...
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...
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...
Foundation — KAMO_CAMERAS (39) and rights 334-337 mirrored, isKamoCameras, BFF proxies, camerasApi, openCameraWindow
A deleted meeting's guests get the organisation's cancellation letter
The invitation and the update were branded letters; the cancellation was a one-line "has been cancelled". Add calendar.meeting_canceled beside them: the same le...
Tasks_list_comments shows a comment's kind and stance when it is not a plain comment — a POSITION, HANDOFF or ESCALATION row adds kind (and stance when it has one) for the disagreement protocol and the runtime; a COMMENT row, or one KBService gives no kind, is byte-identical to before (KamoCollab CP13 Task 9, D30)
Land KamoCameras — app 39, rights 334-337, entities in com.kamo.z.shared.cameras
Merges feat/kamo-cameras (16f184ad, 6fd4e3fd, 1dfeb3b4). Main took 333 for RELEASE_TO_ORGANIZATION (a3630977) after the branch was cut, so the four camera right...
Scan com.kamo.z.shared.cameras (merge feat/kamo-cameras)
The KamoCameras entities' package joins KamoInitializerApp's @EnableJpaRepositories list. The run that created schema camera (9 tables) was made from this on 20...
/api/security/cameras/** — the KamoCameras relay (merge feat/kamo-cameras)
CameraController is the trust boundary for KamoCameraService: it resolves the session, checks VIEW_CAMERAS / MANAGE_CAMERAS / MANAGE_CAMERA_SITES (now 334-336; ...
Svc_camera, KamoCameraService's own login
Publishes rt.org.> (the Cameras screens' live refresh) and cameras.site.> (a site RPC routed to the pod holding that site's connector socket), subscribes camera...
Rehearse with graded suites, unsaved settings and grades — the Rehearse dialog's suite choice and draft switch, RehearsalResults, the SI room's suite rows and Run a suite (KamoCollab CP15 Task 18)
The Rehearse dialog offers the four suites with their descriptions (COLLAB_ETIQUETTE off when the settings it would use have no Docstion settings) and "Use the ...
The reports pack — reports_list, reports_run and metrics_get under the caller's own report rights (KamoCollab CP14 Task 12)
reports_list reads SecurityService's report library on the caller's session: the reports they may run, the measurable metrics of those reports and, for an SI ca...
The communication policy also under Security, for every organization
Owner: "Also under Security". The CP04 policy tab now also renders on /settings/security (tab=communication-policy), with a Security menu entry, a Security land...
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.
