Eliminați JSON de lucru în jurul pentru array-uri plan de abonament
Platforma returnează acum array-uri adecvate în loc de siruri de caractere JSON, astfel încât try/parse/catch back logice nu mai este necesară în plus, pachet; ...
Use List<String> instead of manual JSON strings for promotion plan/cycle IDs
Update KamoCRMPricingLoader to use List.of() for applicablePlanIds and applicableBillingCycles, matching the shared library's migration from JSON strings to ent...
Abonați-vă Migrați Câmpuri JSON la relații bazate pe entitate @MultiToMany
Înlocuiește coloanele de șir jsonb (PlanIds compatibile, incluseInPlanIds, PlanIds aplicabile, aplicabilBillingCycles) cu JPA propriu-zis @MultyToMany se alătur...
Reproiectează setările Webinar de la navigarea în dialog la sub-pagină
Înlocuiește dialoguri popup și secțiuni de acordeon separate cu două niveluri fluxul de navigație în linie: - Nivel 1: tabel tip webinar curat cu click-to-navig...
Separă setările de suport de pe pagina de suport la nivel de membru în pagina setărilor dedicate
- Eliminați fila Setări de la /pagina suport, păstrând doar bilete și Analytics - Adăugați sub-tabe la Analytics: Prezentare generală și timpi de stare și răspu...
Criteriile de evaluare a contului utilizează câmpurile de contact directe, nu este necesar ca Utilizatorul
Post / clienti acum salveaza prenume, nume de familie, email, telefon, adresa direct Pe cont. PUT /clienți/ {uid} actualizează toate câmpurile directe. Nume afi...
Cont separatManager de la TeamMemberManager pe pagina /cont
3 file la nivel de pagină: Clienți și clienți, membri, membri ai echipei. - Tab 0: noua componentă ContManager date din conturiApi, tabel ag-grid, căutare, cli...
Actualizează criteriile de evaluare a clientului pentru a utiliza Contul (Uid lung), elimină criteriile de evaluare a adresei
Client/grup @PathVariable schimbat de la UUID la Long pentru a se potrivi cu Entitatea Cont. Adresele de evaluare a adresei sunt eliminate de la membrul princip...
Înlocuirea clientului cu modelul clientului bazat pe cont
Cont.java era deja entitatea client comerciale, dar era prea minimă. RetailClient duplicat acest concept. Acest angajament: - Îmbunătățește Contul cu domeniile...
Standardizează denumirea brandului pe site-ul Kamo → KamoCRM / KamoCRM Inc.
Pagini juridice (perioade, intimitate, GDPR, drepturi de autor) "KamoCRM Inc." pentru entitatea corporativă. Referințe produs/marcă peste copie de marketing, me...
Migrați toate componentele conductei de la comerțMarketApi la comerțApi
Actualizează 10 fișiere de import direct din comerțApi în loc de fișierele șterse TradeMarketApi. Elimină compatibilitatea shim și mort CommerceMarketManager co...
Rescrie sistemul de plasare HexHead cu motor de configurare determinist
Înlocuiește sistemul de coliziune-evaziune buggy (SpiralSearch, rezolvaCollisions, FlyToHomeRow, bucle RAF de andocare/grup) cu o singură funcție de reflux dete...
Strip SchemaCleanupRunner to only post-Hibernate fixups
Hibernate ddl-auto: update handles all table/column creation from JPA entities. Removed all redundant CREATE TABLE/ADD COLUMN statements that duplicated what Hi...
Split mailboxes tab into sub-tabs for primary, aliases, shared
Primary Mailboxes, Email Aliases, and Shared Mailboxes are now each under their own sub-tab within the Mailboxes settings page, matching the existing sub-tab pa...
Remove notes code, moved to KBService
Notes management (controller, service, encryption) has been relocated to KBService where it better aligns with knowledge and content management responsibilities...
Update internal entity ID types from number to string for UUID migration
Updates TypeScript types, hooks, and components to use string IDs for entities converted to UUID on the backend. User-facing entity IDs (User, Organization, Mem...
Update commerce product and market ID references from Long to UUID
Actualizează referințele de la evenimentul calendaristic și de la ID-ul de integrare de la Long la UUID
Update version ID references from Long to UUID
Article IDs remain Long. Version IDs now use UUID.
Update KB media and version ID references from Long to UUID
Article IDs (KbArticle) remain Long. Version, media, pin, and review IDs now use UUID for improved CockroachDB write performance.
Actualizează referințele de identificare ale mesajelor media de la Long la UUID
Update AI entity ID references from Long to UUID
Updates all controllers, services, and WebSocket handler to use UUID for AI entity IDs (providers, models, sessions, messages, folders, policies, MCP configs). ...
Update controllers and services for UUID entity IDs
Updates all controller @PathVariable and service method signatures to use UUID instead of Long for internal entity IDs (avatars, backgrounds, roles, departments...
Schimbă ID-urile entității interne de la Long/unique rowid() la UUID/gen random uid()
Îmbunătățește performanța de scriere CockroachDB prin utilizarea UUIDS distribuite aleatoriu pentru tastele primare ale entității interne în loc de valori secve...
Replace Add Source with Manage Contact Sources dialog
- Rename AddSourceDialog → ManageSourcesDialog with full CRUD (list existing sources with status + remove, plus inline add form) - Move "Manage Contact Source...
Remove Client ID and Secret fields from RingCentral UI
These are platform-level credentials set once in the K8s secret. Customers only need to provide their JWT Key and main phone number.
Read RingCentral client-id/secret from platform config, not per-org DB
Client ID and Secret identify the Kamo app on RingCentral's platform — they are shared across all orgs. Inject them from Spring Boot properties (backed by the K...
Elimină clientulId/clientSecret din VoipProviderConfig
Acestea sunt acreditări la nivel de platformă împărtășite în toate orgile. Numai jwtKey și mainPhoneNumber sunt per-org.
Extract resolveUserId helper, add ETag comment in KamoGroupwareProvider
Move AI to Enabled Apps section and remove settings slideout search/recents
Remove the search bar and recent items section from the settings slideout panel. Move Artificial Intelligence from main topics to the Enabled Apps section so it...
Simplify apps page with Available/Incubating tabs and list-only view
Remove stats banner, search bar, category filters, grid/list toggle, and features dialog. Apps are now organized into two tabs and "Adjust Features" navigates t...
Extract useOperatorLabels hook shared between useFilters and Funnel
Integrate New Message composer into tool window system
Replace the standalone fullscreen/mini composer windowing with the shared tool window infrastructure (minimize, maximize, hexheads). MessageSystem.openNewMessag...
Remove theme query param — Docs derives it from WOPISrc
Docs now has its own getThemePath() logic ported from kamo-internal's Theme.tsx, so DocsService no longer needs to pass the theme URL.
Migrate JPA entities and repos to kamo-shared-library
Entities and repositories moved to **************** in the shared library. All imports updated to reference shared lib.
Compact pipeline tab layouts for more datagrid vertical space
- Remove page titles from all pipeline tab components (tab already serves as title) - Remove market ID/label chips from tab headers - Move toolbar (filters, sea...
Replace hardcoded organization/network labels with dynamic branch labels
Use **************** from useUserInfo hook so the /network and /network/create pages respect the branch label configured on ****************
Remove Notes tabs from all pipeline detail pages
Notes functionality is replaced by the Communications component which is auto-appended by PipelineRecordLayout. Removed notes-related state, handlers, types, an...
Split ageReqType și adăugați rutele de înregistrare a membrilor/echipelor
- Înlocuiți vârstaReqType cu vârstaReqTypeMember and ageReqTypeTeamMember - Extract RegistryFlow component din pagina.tsx - Adauga /membru si /team trasee pentr...
Split ageReqType into member and team member fields
Update Organization type, PublicProvider, route schema, and BranchSetupManager with separate member/team member age requirement sections.
Return ageReqTypeMember and ageReqTypeTeamMember in org API response
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.