Preserve int64 org id on create-org redirect to DNS setup
POST /api/security/org: pass through upstream JSON instead of re-parsing, so response bytes keep full id digits. createOrganization reads raw body and extracts ...
Harden default template copy for org provisioning
Use explicit source prefix for destination keys, skip S3 folder markers, and fail fast when the template prefix is empty so silent partial copies do not reach g...
Union listObjects across nodes for complete key sets
The first reachable MinIO node could return an empty listing while other nodes held replicated objects, which broke recursive copies such as theme template sync...
Include teamMember owner flag in *** for platform admin UI
Store teamMember { memberId, isOrganizationOwner } in Redis session at login so kamo-internal hasPlatformAdminAccess can satisfy the top-level org owner path. E...
Stop duplicating query string in access-logs API proxy
forwardToApi already appends the incoming request search string. Embedding ?params in the path produced malformed URLs and Spring failed to parse page/size (Num...
Drop mail from required DNS CNAME aliases
Remove mail from KnownAliases so verify-dns and onboarding no longer require mail.example.com; new custom domains also skip auto-creating the mail child alias.
Align required subdomain list without mail
Match SecurityService KnownAliases for DNS setup UI and manual guide.
Gate behavior labeling on applied-model ready; avoid permissive defaults on fetch error.
Parse session orgID and userID when stored as strings in AppliedModelController.
Honor security model for ages and ATF on behavior labeling
Parse boolean compliance literals from the API. Build age dropdowns from normalized whitelist tokens and numeric AgeReq ids; avoid showing the full age list whe...
Correct applied-model source and normalize compliance in API
Use resolver resolution for BRANCH_TYPE vs MASTER instead of inferring from branchTypeID alone. Normalize FALSE/TRUE compliance literals in applied-model settin...
Applied model source resolution and compliance policy normalization
Expose resolveAppliedModelWithSource so callers know whether the active model came from the branch type or master fallback. Map FALSE/TRUE/0/1 compliance litera...
Drop branch-type bulk fetch; document per-org applied model rules
Propagate master model compliance and age rules to branch-type security models
Fetch branch type security model with JOIN FETCH for applied model resolution
Cache-bust theme CSS and assets via themeRevision
Fetch config with no-store; append v=themeRevision to globals.css and favicon URLs so browsers drop stale cached theme after each provision.
Optional Cache-Control on object upload
Used by theme provisioning so globals.css and config.json instruct browsers and proxies to revalidate instead of serving stale cached objects.
ThemeRevision in config and cache headers on theme assets
Emit themeRevision (epoch ms) in config.json on each write; set Cache-Control on config, globals.css, and site.webmanifest uploads so edge caches revalidate.
Write globals.css before cleanup; run cleanup async
Reorder provisionUpdate so writeConfigFiles (colors, config, manifest) runs before background file cleanup. Reload org from DB for fresh colors. Run cleanupExt...
Apply committed org colors to MinIO globals.css
Reload Organization from the DB at the start of async provision so writeConfigFiles sees colors saved by PATCH /colors (controller snapshot could be stale). Nul...
Fall back to org_domains when no email_provider_domains default set
KamoMailDomainValidator was hard-failing with 403 for orgs that have a DNS-verified domain in org_domains but never added it to the email provider domain regist...
Use getMemberIdString() in NavTop to prevent int64 precision loss
getMemberId() converts the CockroachDB unique_rowid to a JS number, truncating IDs > MAX_SAFE_INTEGER (e.g. 1168485658174423046 → ...000). Switch all NavTop mem...
Mark DNS-verified custom domains as isDefault in domain API
Previously only *.kamocrm.com subdomains were marked isDefault, so orgs with a verified custom apex domain (e.g. kamocrm.com) always got defaultDomain=null and ...
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.