Rimuovere i metodi di analisi JSON per il piano di abbonamento
Backend ora restituisce array appropriati invece di stringhe JSON, quindi il provare/parse/catch fallback logica non è più necessario in add-on, bundle, e la pr...
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...
Migrare l'abbonamento JSON campi alle relazioni @ManyToMany
Sostituisci colonne di stringa jsonb (compatibilePlanIds, inclusiInPlanIds, applicabiliPlanIds, applicabileBillingCycles) con il proprio JPA @ManyToMany unire t...
Riprogettare le impostazioni webinar dalla finestra di dialogo alla navigazione sub-pagina
Sostituisce finestre di dialogo popup e sezioni di fisarmonica separate con un due livelli flusso di navigazione in linea: - Livello 1: tavolo pulito di tipi we...
Impostazioni di supporto separate dalla pagina di supporto di livello membro nella pagina delle impostazioni dedicate
- Rimuovere la scheda Impostazioni dalla pagina /support, mantenendo solo Biglietti e Analytics - Aggiungi sub-tabs a Analytics: Panoramica e Status & Response ...
Gli endpoint dell'account utilizzano campi di contatto diretti, nessun Utente richiesto
POST /customers ora salva firstName, lastName, email, telefono, indirizzo direttamente sul conto. PUT /customers/{uid} aggiorna tutti i campi diretti. Visualizz...
AccountManager separato da TeamMemberManager sulla pagina /account
3 schede di livello pagina: Clienti e Clienti, Membri, Membri del Team. - Tab 0: nuovo componente AccountManager — standalone, fetches conto reale dati da accou...
Aggiornare gli endpoint del cliente per utilizzare Account (Long uid), rimuovere gli endpoint dell'indirizzo
Cliente/gruppo @PathVariable cambiato da UUID a Long per corrispondenza entità account. Rimozione degli endpoint di indirizzo — gli indirizzi provengono dal pri...
Sostituisci RetailCustomer con il modello di cliente basato su Account
Account.java era già l'entità del cliente commerciale, ma era troppo minimale. RetailCustomer ha duplicato questo concetto. Questo impegno: - Migliora il Conto...
Standardizzare la denominazione del marchio attraverso il sito — Kamo → KamoCRM / KamoCRM Inc.
Pagine legali (termini, privacy, GDPR, diritti d'autore) ora utilizzare "KamoCRM Inc." per l'entità aziendale. Riferimenti prodotto/marchio attraverso copia di ...
Migrare tutti i componenti della pipeline da commercioMarketApi a commercioApi
Aggiornare 10 file da importare direttamente da commerceApi invece del cancellato CommercioMarketApi. Rimuovere la compatibilità shim e morto CommerceMarketMana...
Rewrite HexHead sistema di posizionamento con motore di layout deterministico
Sostituisce il sistema buggy collision-avoidance (spiralSearch, risolvereCollezioni, flyToHomeRow, dock/group RAF loops) con una singola funzione di riflusso de...
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
Aggiornare gli eventi del calendario e i riferimenti ID di integrazione da Long a 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.
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...
Convertire ID entità interna da Long/unique rowid() a UUID/gen random uuid()
Migliora le prestazioni di scrittura CockroachDB utilizzando UUIDs distribuiti casualmente per le chiavi primarie dell'entità interna invece di valori sequenzia...
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...
Rimuovere clientId/clientSecret da VoipProviderConfig
Queste sono le credenziali di livello piattaforma condivise in tutti gli org. Solo jwtKey e mainPhoneNumber sono 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...
Semplifica la pagina delle app con le schede disponibili/incubanti e la visualizzazione solo lista
Rimuovere le statistiche banner, barra di ricerca, filtri di categoria, griglia/list toggle, e funzionalità dialogo. Le app sono ora organizzate in due schede e...
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...
Spalato etàReqType e aggiungere i percorsi di registrazione del membro/team
- Sostituire etàReqTipo con etàReqTypeMember e etàReqTypeTeamMember - Estratto componente RegisterFlow da page.tsx - Aggiungi /member e /team percorsi per fluss...
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
Come quello che vedi la spedizione?
Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.