Jurnal de schimbări
Ce e nou.
Fiecare îmbunătățire a platformei, pe măsură ce se livrează.
· kamo-shared-library
Adăugaţi denumirea sucursaleiRezoluţie, soluţieTitluri eficiente ale băncii, actualizăriTitluri ale băncii
· SecurityService
Store branchTitlePlural/NonPlural in Redis session
· kamo-shared-library
Adaugă câmpurile de titlu ale sucursalei la organizație
· kamo-internal
Creștere avatar Dimensiune slider max de la 140% la 250%
· kamo-internal
Adăugaţi soluţieColllisions useCallback
Detectează încălcări spațiale cap-la-cap și cap-la-jos și se mută capete ofensatoare la cea mai apropiată poziție curată prin Search spirală. Trebuie să fie numit prin dublu-rAF pentru a evita citirea pozițiile Mid-Animation MotionValue.
· kamo-internal
Adaugă ajutor constant și spiralat MIN GAP
Adaugă decalajul minim 5px constant invariant și o căutare spirală funcție care găsește cea mai apropiată poziție pixel fără coliziune pentru un hexhead, verificarea cap-la-cap și cap-la-jos clearance-ul Window.
· 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
Ferestre persist pentru instrumente de navigare prin intermediul ecranului de navigare
· kamo-internal
Adăugați ToolProviders ambalaj client pentru aranjament rădăcină
· kamo-internal
Adaugă instrumentWindowsContext pentru starea permanentă a ferestrei uneltei
· kamo-internal
Adaugă bara de instrumente de chat cu comenzi de apel, căutare live, și inteligent auto-scroll
Mutați butoanele de apel de la antet la rândul de bare de unelte dedicate cu 50% mai ușor fundal. Adaugă câmp de căutare live care evidențiază meciuri și auto-scroll-uri la cel mai recent rezultat. Adăugați butonul de derulare-la-jos care șterge căutarea. Implementați auto-scroll inteligent care încetează să mai urmeze atunci când utilizatorul defilează în sus și reia atunci când derulat înapoi în jos.
· 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
Unifică dimensiunile ferestrei uneltei și rafinează UI
- Toate instrumentele împărtășesc acum uniforma 320x650 dimensiune (softphone 25% mai înalt, altele se potrivesc) - Elimină modurile de programare și grafică a calculatoarelor din UI (componente reținute) - Hexheads Chat folosesc varianta avatar cu fotografii de utilizator în loc de varianta icon - colțurile de jos ale ferestrei uneltei sunt acum pătrate (colțurile de sus rămân rotunjite)
· kamo-internal
Adaugă chatNotificareAscultător pentru mesajul primit automat-deschis
· kamo-internal
Adaugă CalculatorTool cu comutarea modurilor și înregistrează-l
· kamo-internal
Adaugă componenta calculatorului "Modul științific"
Calculator științific bazat pe expresie cu previzualizare live rezultat. Suportă trig (sin/cos/tan + inverse), log/ln, puteri (x2, x3, x^y, ex, 10x), rădăcini ( paranteză, comutator DEG/RAD și memorie M+/M-/MR/MC. Intrare tastatură pentru cifre, operatori, Enter/=, Escape and Backspace. Folosește seiful Evaluator recursiv de coborâre Exprimare parser.
· kamo-internal
Adaugă calculator graficMode cu complot panza
· kamo-internal
Adaugă componentă de calculator MonedăConverterMode
· kamo-internal
Adaugă componentă calculator UnitConverterMode
· kamo-internal
Adaugă componentă calculator programatorMode
· kamo-internal
Adaugă componentă de calculator SimpleMode
· kamo-internal
Adaugă constante de stilare a calculatorului premium
· kamo-internal
Înlocuiește autentificarea ChatWrapper cu Autentificat ToolWrapper, elimina ChatDock
· kamo-internal
Adaugă butoane softphone și calculator la NavTop
· kamo-internal
Migrate hexchat:deschis la instrument:deschide, adaugă apel-inițiere ascultător
· kamo-internal
Extras softphone în instrument independent, eliminați din ChatBox
· kamo-internal
Înregistrați chat ca un instrument
Înregistrați definiția instrumentului de chat cu id 'chat', folosind ChatTool ca componentă, ChatBubbleIcon, indigo gradient hex cap stil, 320x360 dimensiune implicită, și cazuri nelimitate.
· kamo-internal
Adaptor ChatTool cu modul încorporat pentru ChatBox
- Creați adaptor ChatTool care învelește ChatBox pentru sistemul de instrumente - ChatTool manipuleaza avatarul si crearea sesiunii (fost facut de ChatDock) - Adăugați recuzită încorporat la ChatBoxProps; atunci când este adevărat, săriți cromul ferestrei (poziționare fixă, antet, animații) și redă ca un recipient simplu flex de umplere a părintelui său

Universul tău te așteaptă.
Începeți gratuit în câteva minute.Adăugați produse oricând sunteți pregătit — fără migrare, fără autentificări noi.
Gratuit pentru totdeauna — nu este necesar un card de credit