Журнал изменений
Что нового.
Каждое усовершенствование платформы, как только она появится.
· kamo-shared-library
Добавить BranchTitleResolution, решитьEffectiveBranchTitles
· SecurityService
Store branchTitlePlural/NonPlural in Redis session
· kamo-shared-library
Добавить поля branchTitle в Организацию
· kamo-internal
Увеличение аватара Размер слайдера макс от 140% до 250%
· kamo-internal
Добавить resolveCollisions useCallback
Обнаружение пространственных нарушений Head-to-toolWindow и перемещает оскорбляющие головы в ближайшую чистую позицию через Спиральный поиск. Должен быть вызван через двойной RAF, чтобы избежать чтения. Позиции средней анимации MotionValue.
· kamo-internal
Добавить постоянную MIN GAP и помощника спирального поиска
Добавляет инвариантную константу минимального разрыва 5px и спиральный поиск Функция, которая находит ближайшее положение пикселя без столкновения для a hexhead, checking head-to-head and head-to-tool Windows clearance.
· 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
Стойкие окна инструментов через навигацию — 1-й уровень защиты + проводка поставщиков инструментов
· kamo-internal
Добавить ToolProviders клиентская обертка для макета root
· kamo-internal
Добавить ToolWindowsContext для постоянного состояния окна инструмента
· kamo-internal
Добавьте панель инструментов чата с элементами управления вызовами, живым поиском и умным автопрокруткой
Переместите кнопки вызова из заголовка в выделенный ряд панели инструментов с на 50% легче фон. Добавьте поле поиска в реальном времени, которое выделяет матчи и автопрокрутки к последнему результату. Добавьте кнопку прокрутки вниз, которая очищает поиск. Внедрите интеллектуальный автопрокрут, который перестает следовать, когда пользователь прокручивает вверх Возвращаясь к низу.
· kamo-internal
Софтфонная циферблатная панель короче, элементы управления вызовами чата, шестиглавые аватары, тема Calc Light
- Уменьшите нажатие кнопки диалпада софтфона с 12px до 9px (6px короче) - Добавить панель инструментов управления вызовами (аудио, видео, экран) в ChatBox Встроенный режим, чтобы они отображались ниже заголовка ToolWindowShell Fix hexhead avatar fetch: pass memberId to spawn event so HexHeadGroup использует идентификатор реального участника вместо идентификатора окна для поиска аватара - Калькулятор рестайлинга для соответствия теме чата / софтфона: белый фон, Основные цветовые акценты, читаемый текст на светлых поверхностях во всех режимах
· kamo-internal
Унифицировать размеры окна инструмента и усовершенствовать UI
Все инструменты теперь имеют одинаковый размер 320x650 (на 25% выше, другие совпадают) - Удалить режимы программиста и калькулятора графиков из пользовательского интерфейса (сохраненные компоненты) Chat Hexheads использует вариант аватара с фотографиями пользователей вместо варианта значка - Нижние углы окна инструмента теперь квадратные (верхние углы остаются закругленными)
· kamo-internal
Добавить ChatNotificationListener для автоматического открытия входящего сообщения
· kamo-internal
Добавьте CalculatorTool с переключением режима и зарегистрируйте его
· kamo-internal
Добавить компонент калькулятора ScientificMode
Научный калькулятор на основе экспрессии с предварительным просмотром живого результата. Поддерживает триг (sin/cos/tan + обратные), log/ln, powers (x2, x3, x^y, ex, 10x), корни (√, s), факториальные (n!), константы (π, e, φ), Скобки, переключатель DEG/RAD и память M+/M-/MR/MC. Вход на клавиатуру для цифр, операторов, Enter/=, Escape и Backspace. Использует сейф Рекурсивно-спусковой оценщик экспрессии.
· kamo-internal
Добавить калькулятор GraphingMode с рисунком холста
· kamo-internal
Добавить компонент калькулятора CurrencyConverterMode
· kamo-internal
Добавить компонент калькулятора UnitConverterMode
· kamo-internal
Добавить компонент калькулятора ProgramrMode
· kamo-internal
Добавить компонент калькулятора SimpleMode
· kamo-internal
Добавить константы стиля калькулятора премиум-класса
· kamo-internal
Заменить аутентифицированный ChatWrapper и AuthenticatedToolWrapper удаляют ChatDock
· kamo-internal
Добавьте кнопки софтфона и калькулятора в NavTop
· kamo-internal
Migrate hexchat: open to tool: open, add call-initiation listener (недоступная ссылка — история)
· kamo-internal
Извлеките софтфон в автономный инструмент, удалите из ChatBox
· kamo-internal
Регистрируйте чат как инструмент
Зарегистрируйте определение инструмента чата с помощью id «чат», используя ChatTool в качестве компонента, ChatBubbleIcon, стиль головы с градиентом индиго, размер по умолчанию 320x360 и неограниченные экземпляры.
· kamo-internal
Добавить адаптер ChatTool со встроенным режимом для ChatBox
Создайте адаптер ChatTool, который обернет ChatBox для системы инструментов ChatTool обрабатывает извлечение аватара и создание сеанса (ранее это делал ChatDock) - Добавьте встроенный реквизит в ChatBoxProps; если это правда, пропустите оконный хром (фиксированное позиционирование, заголовок, анимации) и визуализируйте как простой гибкий контейнер, заполняющий его родитель

Ваша вселенная ждет.
Начните бесплатно через несколько минут. Добавляйте продукты, когда будете готовы — без миграции, без новых логинов.
Бесплатно навсегда — не требуется кредитная карта