Changelog
Cosa c'è di nuovo.
Ogni miglioramento alla piattaforma, come si spedisce.
· kamo-shared-library
Aggiungi BranchTitleResolution, risolvereEffectiveBranchTitles, aggiornareBranchTitles
· SecurityService
Store branchTitlePlural/NonPlural in Redis session
· kamo-shared-library
Aggiungi branchTitle campi a Organizzazione
· kamo-internal
Aumentare l'avatar Dimensioni cursore max dal 140% al 250%
· kamo-internal
Aggiungi risoluzioneCollisions useCallback
Rileva le violazioni spaziali testa a testa e testa a strumentoWindow e muove teste offendere alla posizione pulita più vicina via spiraleSearch. Deve essere chiamato via double-rAF per evitare la lettura posizioni mid-animation MotionValue.
· kamo-internal
Aggiungi MIN GAP costante e spiraleSearch helper
Aggiunge il divario minimo 5px invariante costante e una ricerca a spirale funzione che trova la posizione di pixel senza collisione più vicina per un hexhead, controllando l'autorizzazione testa a testa e testa-toolWindow.
· kamo-internal
Add status/substatus widget to lead view tab bar
- Extract LEAD_STATUS_TYPES, getStatusIcon, getSubStatusIcon to shared app/lib/leadStatuses.tsx utility; update LeadManager to import from it - Add inline status/substatus display (with icons) right-aligned in the tab bar on the lead view page, tabs remain left-aligned - Add edit mode with cascading status/substatus dropdowns (icons in options), Save/Cancel buttons; substatus required before saving; changing status resets substatus selection
· kamo-internal
Rewrite HexHead system with framer-motion physics
Replace the broken 1800-line HexHeadGroup with a clean physics-based implementation using framer-motion springs and motion values. Key changes: - Remove wiggle/fidget swarm detection (too sensitive, unreliable) → Replaced with deliberate 500ms hold-to-swarm gesture - Remove complex collision resolution, spiral fallback, resolveOverlaps, **************** and all multi-pass overlap logic - Remove layoutMode state and makeRoom nudge system - Instant snap-to-slot on release near any head (flat-top hex geometry, nearest free axial slot, stiffness 800 spring = feels instant but alive) - Groups drive followers via RAF loop calling animate() with organic spring (stiffness 400) — loose, trailing group feel during anchor drag - Chat window docking via separate dock RAF loop watching window bounding rect — group follows window edge when it moves - Home row auto-arrangement (spring fly-in) for all free heads - New HexHeadSpring.tsx: thin motion wrapper with isSnapping pulse animation and isHoldReady ring-pulse animation - HexHead.tsx: unchanged - Zero new dependencies (framer-motion already installed at v12) - Fixes TS1128 build errors in old implementation
· kamo-internal
Flat-top honeycomb layout, 5px gaps, cluster-aware groups, tool window relayout
HexHeadGroup: - Switch to flat-top hex geometry (HEX_INRADIUS/HEX_STEP) — hexes now share flat top/bottom edges with adjacent group members, giving a proper honeycomb look with the existing hex polygon shape - HONEYCOMB_PADDING, GAP, SAFE_GAP all reduced to 5px (was 12px) - OCCUPY_DISTANCE = HEX_STEP (~67px) — correctly uses actual flat-top center distance so ring-1 honeycomb seats are never falsely rejected - axialToPixel updated to flat-top formula (r = column axis, q = diagonal) - findClusterIds: BFS proximity helper scopes swarm to one spatial cluster, so independent groups remain independent during jiggle/swarm - computeHoneycombOffsets now limits followers to the anchor's cluster only - recompactClusters: after a single-head drag, finds remaining clusters and re-seats each in a proper honeycomb around its centroid; also merges two groups when they are dropped on or near each other - Edge docking (right/bottom edge) only triggers when a group (swarm) is dragged there; single-head drags no longer force all heads to the edge - Swarm edge-dock passes swarm member IDs so only that group docks, not unrelated groups elsewhere on screen ToolWindowsContext: - GUTTER 8→5, PADDING_RIGHT 16→5 (5px gap between windows and from edge) - relayoutWindows: deterministic right-to-left slot assignment respecting member-panel offset; replaces ad-hoc per-event calculations - Called on every state change: open, close, minimize, un-minimize, maximize, member-panel-toggle, and viewport resize — windows always stay tight
· kamo-internal
Finestre utensili persist attraverso la navigazione — Layer 1 guardia + ToolProviders cablaggio
· kamo-internal
Aggiungere l'involucro client ToolProviders per il layout root
· kamo-internal
Aggiungi ToolWindowsContext per lo stato della finestra dello strumento persistente
· kamo-internal
Aggiungere la barra degli strumenti di chat con i controlli delle chiamate, la ricerca dal vivo e l'auto-scroll intelligente
Spostare i pulsanti di chiamata dall'intestazione alla riga della barra degli strumenti dedicata con il 50% più leggero sottofondo. Aggiungi campo di ricerca dal vivo che evidenzia partite e auto-scroll al risultato più recente. Aggiungi il pulsante scroll-to-bottom che cancella la ricerca. Implementare intelligente auto-scroll che si ferma seguendo quando l'utente scorre su e riprende quando scorreva verso il basso.
· kamo-internal
Softphone dial pad shorter, chat call controls, hexhead avatars, calc light theme
- Reduce softphone dialpad button padding from 12px to 9px (6px shorter) - Add call controls toolbar (audio, video, screen share) to ChatBox in embedded mode so they appear below the ToolWindowShell header - Fix hexhead avatar fetch: pass memberId to spawn event so HexHeadGroup uses the real member ID instead of window ID for avatar lookup - Restyle calculator to match chat/softphone light theme: white backgrounds, primary color accents, readable text on light surfaces across all modes
· kamo-internal
Unificare le dimensioni della finestra dell'utensile e affinare l'interfaccia utente
- Tutti gli strumenti ora condividono l'uniforme 320x650 (softphone 25% più alto, altri match) - Rimuovere le modalità programmatore e calcolatrice grafica dall'interfaccia utente (componenti conservati) - Chat hexheads utilizzare avatar variante con le foto dell'utente invece di icon variante - Gli angoli inferiori della finestra dello strumento sono ora quadrati (gli angoli in alto rimangono arrotondati)
· kamo-internal
Aggiungi ChatNotificationListener per messaggio in arrivo auto-aperto
· kamo-internal
Aggiungere CalculatorTool con la modalità di commutazione e registrarlo
· kamo-internal
Aggiungi componente calcolatrice ScientificMode
Calcolatore scientifico basato sull'espressione con l'anteprima del risultato live. Supporta trig (sin/cos/tan + inverse), log/ln, poteri (x2, x3, x^y, ex, 10x), radici (√, ∛), factorial (n!), costanti (π, e, φ), parentesi, tasto DEG/RAD e memoria M+/M-/MR/MC. Ingresso della tastiera per cifre, operatori, Enter/=, Escape e Backspace. Utilizza la cassaforte valuta il parser dell'espressione.
· kamo-internal
Aggiungi GraphingMode calcolatore con trama di tela
· kamo-internal
Aggiungi componente calcolatrice CurrencyConverterMode
· kamo-internal
Aggiungi componente calcolatrice UnitConverterMode
· kamo-internal
Aggiungi componente calcolatrice ProgrammerMode
· kamo-internal
Aggiungi componente calcolatrice SimpleMode
· kamo-internal
Aggiungi costanti di stile calcolatrice premium
· kamo-internal
Sostituisci autenticato ChatWrapper con AuthenticatedToolWrapper, rimuovere ChatDock
· kamo-internal
Aggiungi pulsanti softphone e calcolatrice per NavTop
· kamo-internal
Migrate hexchat:open to tool:open, add call-initiation listener
· kamo-internal
Estrarre softphone in strumento standalone, rimuovere da ChatBox
· kamo-internal
Registra chat come strumento
Registra la definizione dello strumento di chat con id 'chat', utilizzando ChatTool come componente, ChatBubbleIcon, indigo gradient hex head style, 320x360 dimensione predefinita, e istanze illimitate.
· kamo-internal
Aggiungi l'adattatore ChatTool con la modalità incorporata per ChatBox
- Creare l'adattatore ChatTool che avvolge ChatBox per il sistema degli strumenti - ChatTool gestisce avatar fetching e creazione di sessione (precedentemente fatto da ChatDock) - Aggiungere il prop incorporato a ChatBoxProps; quando è vero, saltare la finestra cromata (posizione fissa, intestazione, animazioni) e rendere come un contenitore flex semplice riempire il suo genitore

Il tuo universo ti sta aspettando.
Aggiungi i prodotti quando sei pronto: nessuna migrazione, nessun nuovo login, nessuna richiesta di pagamento.
Gratis per sempre — nessuna carta di credito richiesta