İçeriye geçin
KAMOUniverse

Değişiklik Günlüğü

Yeni ne var?

Gemideki her iyileştirme.

  1. · SecurityService

    Add theme provisioning — NATS publisher, provision-theme endpoint, logo upload

  2. · ConversionService

    Add image resize and favicon generation endpoints

  3. · InitializerService

    Add migration runner for logo_full_ext column on orgs

  4. · kamo-shared-library

    Organizasyon varlığına LogoFullExt alanı ekleyin; listeObjects to MinIOStorageServiceService

  5. · kamo-internal

    Emoji ikonları sağlam SVG ikonları ile değiştirin sihirbaz adım at

  6. · kamo-shared-library

    Add findByBranchTypeID türetilmiş query to OrganizationRepository

    Güvenlik hizmetlerindeki yeni /branch-types/{id}/usages endpoint in SecurityService Bir şube tipinin daha önce aktif bir çocuk ya dags olup olmadığını kontrol etmek için.

  7. · SecurityService

    Add GET /branch-types/creatable and /{id}/usages endpoints

    /creatable returns branch types filtered by the caller's creator-type (OWNERS/TEAM_MEMBERS/MEMBERS) via AppliedModelEnforcementService. /{id}/usages returns the count and summary of orgs created under a given branch type, used by the frontend to block hard deletion.

  8. · kamo-internal

    Güvenlik şube türü aktif veyag kullanımına karşı kesinti

    Bir şube tipi çipin kaldırılmasından önce, ön çağrılar **************** Herhangi bir orgs varsa gösterir Bir bilgi diyalog onları listeliyor ve yöneticiyi yöneticiye talimat veriyor Onu silme yerine türü devre dışı bırak.

  9. · kamo-internal

    NavTop'ta Canlı destek bileti kötüge – DestekCountContext, STOMP aracılığıyla NATS'ye abone oluyor, kötü şovlar bekleyen sayı

  10. · MediaService

    Live pending support ticket count via NATS — notify org owner on new tickets, add pending-count REST endpoint

  11. · kamo-shared-library

    AgentNotificationDTO'yu Desteklemek için bekleme alanı ekleyin ve Destek toRepository

  12. · kamo-internal

    Domain adı alanı org creation Sihirbazına ekleyin

    Otomatik www ile Temels adımına gerekli bir alan ekleyin. striptiz. Geçerli, API ödeme yüküne dahil edildi ve inceleme aşamasında gösterildi.

  13. · kamo-marketing

    Flipo-api-reference sayfasına API modifikasyon çağrısı ekleyin

    Shown sadece /kamo-api-reference, API değişikliği sunmak için kullanıcılar Talepler / talepler veya / temas aracılığıyla ulaşır.

  14. · SecurityService

    Add GET /branch-types/creatable endpoint with creator-type filtering

    Returns only the branch types the calling member is permitted to create a child org under, based on their OWNERS/TEAM_MEMBERS/MEMBERS classification against the current org's applied security models. Mirrors the exact same getBranchTypesCreatableBy enforcement the POST /org endpoint applies at submission time, so the frontend can pre-filter the pick list and avoid showing options that would produce a 403. Response includes allowedMemberAgeRanges and allowedTeamMemberAgeRanges from each branch type's security model so the UI can gate AgeReqType options in the same request, without a second round-trip.

  15. · kamo-internal

    Değişim Organizasyonu Sınıf/Güvenlik Modeli seçimi ile sihirbaz adım

    - OrgTypeStep (Organizasyon) Tip + Konsasyon damlaları) ile FormTypeStep That getes **************** - the Yeni uç noktası sadece şube tiplerini döndürür. caller oluşturmak için izin verilir Bir çocuk veya altında, OWNERS/TEAM MEMBERS/MEMBERS tarafından filtrelendi org'un uygulanan güvenlik modellerine karşı sınıflandırma - Payload'tan Organizasyon Türü tamamen çıkarın; yapılandırılmışType şimdi Güvenlik modelinin izin verdiğinden oto-derivedMemberAgeRanges (KIDS ONLY → KIDS CLUB, genç-range → KURAN, başka ENTERPRISE) - AgeRestrictionsStep şimdi mevcut AgeReqType seçeneklerine göre Seçilen güvenlik modeline izin verildiğinde, gating olduğunda bir banner ile Aktif; null yaş (Not specified) geri dönüş başına güvenli bir no-op kalır - Başarılı bir yaratımı /setup /dns?orgId=&orgName= of /setup/dns?orgId=&orgName= of CURRENT veyag (yeni çocuk ya dag değil) – DNS daha önce yapılandırılmalıdır Yeni org erişilebilir - Add **************************** Sonraki.js proxy rotası - ReviewStep, şube tipi adı + izin verilen yaş kapsamının yerine eski adı gösterir org type / yapılandırma türü kötüges

  16. · kamo-internal

    / ağ oluşturmak, üye tipi + doğru tarafından kontrol edilir

    - BranchSetupManager: Yeni "Bu Model Altında Çocuk Orgs Yaratabilir" Üç toggles (Members / Takım Üyeleri / Sahibi) ile kart. Değerler Değerler round-trip through mapBackend Model and both save flows (çocuk modeli + master modeli). Boş devlet varsayılanları her üçünü yanlış - bir model Yönetici onları seçene kadar herkese yaratım sunmuyor. - / ağ sayfası: **************** Dağın ve her "Yeni Organizasyonu Yarat" (header düğme, boş devlet düğmesi, alt kart) sunucu değil Kesin olarak geri dönüşler çocukOrgu = gerçek. Kontrol kontrol olsa da, Uçuşta (null) karşıtlık gizli kalır, bu yüzden asla flaşa Görmemesi gereken bir üyeye. - New **************************** proxy rotası forwards GüvenlikHizmetinin yeni uç noktası aracılığıyla.

  17. · SecurityService

    Gate /network child-org creation by right + member-type applicability

    Wires the applied-security-model child-org creation gate end-to-end: - SecurityModelController + MasterModelController round-trip the three new apply-to flags (appliesToMembers / appliesToTeamMembers / appliesToOwners) through create and update payloads. - New GET **************** resolves — for the caller's session — the creator-type bucket they fall into, whether their role carries CREATE_CHILD_ORG, the list of branch types available to them, and a combined canCreateChildOrg boolean the /network page uses to hide the create affordance when false. - **************** now rejects with 403 when the caller lacks CREATE_CHILD_ORG or picks a branch type that isn't among those their creator-type is offered — defense in depth against a client that bypasses the UI gate.

  18. · kamo-shared-library

    Üye-tip kapısı + CREATE CHILD ORG çocuk için doğru

    Üye türü tarafından gating /network çocuk-org oluşturma için veri katmanı ekleyin: Yeni CREATE CHILD ORG haklı RolRightType (id 131). - ÇocukOrgGüvenlik Modeli üzerinde üç yeni boolean sütun: ForMembers / geçerliToTeamMembers / geçerlidirToOwners Gerçek olduğunda, modelin şube türleri bu üye tipi kovalamaya sunuldu on /network. Üç sahte olan bir model hiçbir zaman bir yaratım olarak yüzeysel değildir Herkes için seçenek - sadece mevcut veyags yönetir. ÇocukOrgGüvenlik ModeliHizmeti, 13-arg oluşturmak / güncel aşırı yüklemeleri elde eder Yeni bayrakları kabul et; 10arg imzaları delege yoluyla. - ÇocukOrgGüvenlik ModeliDTO turları üç bayrak. Uygulamalı ModelEnforcementService, her çağrıcının kapı mantığını ortaya çıkarır Paylaş: Enum ChildOrgCreatorType { MEMBERS, TEAM MEMBERS, OWNERS } BranchTypesCreatableBy(org, yaratıcıType) → şube türleri listesi Bu, bu yaratıcı türü için geçerli olan modellere ait ve sahip olduğu modellere aittir. En az bir şube türü. ************ yaratıcıType) → boolean predicate. Yaratıcı-tip sınıflandırması: OWNERS = takım üyeleri Organizasyon Sahibi = Gerçek, TEAM MEMBERS = diğer takım üyeleri, MEMBERS = Herkes başka. Doğru kontrol (CREATE CHILD ORG) kasıtlı olarak pişirilmemektedir Bu yardımcılara - çağrıcılar her iki çeki birleştirir, böylece yardımcı da aynı zamanda Geri okuma-sadece sorgular.

  19. · InitializerService

    Master model applies to all three member types on init

    provisionMaxedOutMasterModel now sets appliesToMembers, appliesToTeamMembers, and appliesToOwners all true so every member type sees the master model's branch types as creation options on /network. The Administrator template continues to GRANT every RoleRightType including the new CREATE_CHILD_ORG right (id 131) by virtue of iterating RoleRightType.values().

  20. · kamo-marketing

    Perdown'u başlatmak için milisanları ekleyin, her 50ms

  21. · kamo-marketing

    Statik başlangıç tarihi 2PM PST 2026'ya kadar

    Xd XXh XXm XXs'ı gösteren her saniye; statik tarihe geri dön Müşteri hidratlara kadar, hedef geldiğinde “Şimdi” gösterir.

  22. · InitializerService

    Administrator default role template starts with all rights GRANTED

    provisionMaxedOutMasterModel now populates the Administrator template with every RoleRightType set to GRANTED. The other three templates (Team Member, Member, DEFAULT) still materialize with zero rights (NOT_SPECIFIED for everything), matching the intended blank baseline for non-admin roles. Why GRANTED (not FORCE_GRANTED): at child-org creation time ChildOrgTemplateSeedingService copies non-force template values into the new org's OrgRoleRight rows, so a GRANTED admin template gives every new child org a ready-to-use admin role with full permissions that the owner can still edit. FORCE_GRANTED would lock rights at runtime and hide them from the security-roles editor, which we don't want for the admin template baseline.

  23. · InitializerService

    Provision a maxed-out master security model for KamoCRM on init

    DataLoader now creates and assigns a master ChildOrgSecurityModel to KamoCRM immediately after the org is created, with every setting maxed out to the most permissive / force-enabled value: - allowOwnersViewOtherOrgs / allowOwnersPrivateOrgs / allowSubChildOrgs = true - identityProviderSetting = ENABLED - teamMemberPayFeesSetting = FORCE_ENABLE - allowedMemberAgeRanges / allowedTeamMemberAgeRanges = every AgeReqType - appConfigs = every non-deprecated ServiceType at FORCE_ENABLED, with CRM's allowedCommerceTypes containing every CommerceType - Organization.masterModelID set to the new model The four default role templates (Administrator / Team Member / Member / DEFAULT) are materialized with zero rights so the UI renders tabs for each — every right stays NOT_SPECIFIED at runtime, the intended blank baseline. Admins can edit specific force rules later via the branch-types tab. Also bumps kamo-shared-library to 1.5.0 so the new ChildOrgSecurityModelService / AppConfigService / DefaultRoleService and related types resolve at compile time.

  24. · kamo-internal

    ÖzelliklerManager uygulanan model kuvvet özellikli devlet

    Yeni modelAvailability + özel denetimlerden kilit alanları kabul eder Ve onları UI'de yüzeyler: - ModelAvailability olan Özellikler FORCE ENABLED, toggle in the toggle in the toggle in the toggle in Devlet, engelliler, bir açıklayıcı alettipi ile - yöneticiler görebilir Onlar üzerindeler ama onları kapatamazlar. - Bir modelForced özelliği kısa devreler oldukça açık bir tost ile Arkaend'in 403'ten genel bir hatadan daha. - Not AVAILABLE özellikleri asla müşteriye ulaşmaz (filtered server-side) Bu yüzden UI listesi zaten kapılı bir görünüm.

  25. · SecurityService

    Applied-model is the read-time source of truth for feature availability

    Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - **************** (the primary feeder of the frontend OrgContext): replaces the raw features serialization with **************** org.getFeatures()). The auto- provisioning loop now also skips apps the model marks NOT_AVAILABLE so we never create DB rows for blocked apps. - FeatureController.list: returns each feature with modelAvailability + locked metadata. NOT_AVAILABLE rows are filtered out, FORCE_ENABLED rows are reported as enabled=true + locked=true regardless of their DB state. The available list is also filtered down to apps the model permits. - New AppAvailabilityInterceptor + WebMvcConfig: installs a HandlerInterceptor on every service-scoped URL prefix (/api/security/pos, /api/security/commerce-markets, /api/security/leads*, /api/security/lead- imports, /api/security/lead-markets, /api/security/lead-vendors, **************** **************** **************** Each request is matched to a ServiceType, resolved against the caller's applied model, and rejected with HTTP 403 if the app is effectively off. This is the final line of defense: even with stale client state, a forgotten controller guard, or a direct API call, a blocked app returns 403. Net effect: the applied security model now wins at read time everywhere the org's features or apps are exposed — navigation, home page, settings slide-out, FeaturesManager, per-service endpoints. When the admin flips CRM to NOT_AVAILABLE on the model, the CRM UI disappears from the frontend and CRM endpoints start 403'ing — regardless of whether the DB still has OrgFeature.isActive=true for CRM.

  26. · kamo-shared-library

    Uygulama-model okuma-zaman için etkili bir çözüm

    Uygulamalı güvenlik modelini yapan okuma-zaman kapısı ekleyin son Özel kullanılabilirlik için gerçek kaynağı, bu yüzden stale DB durumu sızıntız Engelli özellik ve güç özellikli bir özellik her zaman görünür Hatta DB yakalanmadığında bile. Uygulamalı ModelEnforcementService hakkında yeni yöntemler: - HesapAvail yükümlülükleriMap (org) - Her Hizmet Türü'nin tek yönlü çözümü Tek bir görünümde bir org için kullanılabilir. Dar ilkel olarak servis yapın Diğer yeni yöntemler inşa edilmiştir. -AppEffectallyEnabled(org, serviceType, özellikler) - Canonical "is Bu uygulama üzerinde" kontrol. Core services always on, deprecated always off, FORCE ENABLED her zaman, not AVAILABLE her zaman dışarıda; OPence * defers to to to to OrgJob row's isActive state. - ************ özellikleri) - Set<ServiceType> Bir set olarak "tüm etkili-on uygulamalara" ihtiyaç duyan çağrıcılar için arkadaş. - HesaplamaEffectiveWorks (org, özellikler) - taze bir dizi listesi döndürür OrgWork satırları kapıdan alındı: NOT AVAILABLE düştü, FORCE ENABLED aktif olmak zorunda kaldı (yalnızca engelli DB sıralarında bile), ve FORCE ENABLED uygulamaları henüz geçici satırlar tarafından temsil edilmedi (organizasyon-skobu asla devam etmedi). Callers bir org'un özelliklerini müşterilere şimdi yol üzerinden seriledi Çiğ koleksiyonu okumak yerine hesaplamak, bu yüzden frontend, varsayılan olarak uygulanan model-gated görünümünü görür.

  27. · kamo-internal

    Per-assocType docs settings sekmelerini doc türleri, çöp siparişleri ve yapılandırılmış paneller ile ekleyin

    Creates ComingSoonTab on / fucks /features /docs with a full settings arayüzü: - Genel genel bakış sekmesi + ResimAssocType (Account, Service Application, Service Order, Call Record, My Docs, Meet Record, System-Wide) için bir sekme - Her assocType sekmesinin 3 alt setleri vardır: Yapılandırma (katılıcı/docType özelliği toggles), Doc Type (full CRUD), Stacking Orders (CRUD with visual pipeline çekmece) - Next.js API proxy tüm görüntüleme ayarları endpoints için rotalar - AssocConfigPanel, DocTypesManager, StackingOrdersManager, StackingOrderDrawer, AssocTypeSettings components

  28. · DocsService

    Add ImagingSettingsController with doc type, stacking order, and assoc config CRUD

  29. · kamo-shared-library

    ImgAssocConfig entity, repository ve #Order to ImgStacking sipariş

  30. · InitializerService

    Add FEATURE_REQUESTS to Support category and all plan-feature mappings

    Free: Community vote, Starter: Vote & request, Business: Priority requests, Enterprise: Custom dev included

Evreniniz sizi bekliyor.

Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.

Sonsuza kadar ücretsiz — kredi kartı gerekmiyor