Журнал изменений
Что нового.
Каждое усовершенствование платформы, как только она появится.
· AIService
RAG in streaming handler, full chunk text, conversation-aware queries
· AIService
Add ConversationContextService for sliding window context management
· RAGService
Full chunk text storage, configurable vector size, and permission-aware retrieval in Qdrant
· RAGService
Hybrid search with keyword boosting and cross-encoder reranker
· RAGService
Semantic heading-aware chunking for better RAG retrieval
· AIService
Extract memberId in WebSocket auth interceptor for RAG support
· kamo-internal
Add infinite scroll pagination to classic email view
Classic mode only loaded the first 50 messages with no way to see older ones. Wire up the existing VirtualMessageList onLoadMore/hasMore/loadingMore props so pages load automatically as the user scrolls near the bottom.
· kamo-internal
Toggle lock/unlock button based on member lock status
· kamo-internal
Add Notes to NavPri below KB, gated by isNotes
· kamo-internal
Add settings pages for HRS, Docs, Support, KB, Notes, and Chat
Create ComingSoonTab shared component and 6 new feature settings pages with coming soon placeholders, feature flag guards, and help tips. Links from FeaturesManager "Adjust Features" now resolve to real pages.
· kamo-internal
Auto-refresh UI after feature toggle and role changes
FeaturesManager and SecurityRoleManager now call router.refresh() after mutations to re-fetch org context and user session data, reflecting permission and app changes immediately without re-login.
· SecurityService
Auto-refresh Redis session rights after feature/role changes
FeatureController and SecurityRoleController now rebuild the caller's session rights in Redis after enable/disable, role create/update/delete, and recalculate-rights operations. Eliminates need to re-login after permission or app changes.
· kamo-internal
Implement app management UI with backend integration and dynamic permissions
Rewrite FeaturesManager to use backend API for app enable/disable with root-org gating for in-dev apps. Update NavPri to gate all nav items by org feature flags (Docs, KB, Notes, Chat, Email, AI Support, VOIP). Update SettingsStatusWindow with full app sidebar filtering. Make SecurityRoleManager permission sections dynamic — only show rights for enabled apps. Update TypeScript types to mirror backend **************** changes.
· SecurityService
Add FeatureController for org app enable/disable management
REST endpoints for managing organization app features: GET features list, POST enable/disable with CONFIGURE_SYSTEM permission check, root-org-only gating for in-development apps, and available service types listing.
· kamo-shared-library
Добавьте систему управления приложениями с типами услуг, правами и контролем функций
Restructure ServiceType enum: add core/deprecated flags, rename DOC MANAGER→DOCS и AI CHAT→AI SUPPORT, добавить типы SUPPORT/NOTES/POS, исключить STORAGE/DOC CLASSIFIER/ DOCS EDITOR. Добавить 43 новых записи RoleRightType для HRS, Docs, AI Support, VOIP, Email Поддержка, заметки и приложения для чата. Переместить права поддержки в область ServiceType.SUPPORT. Расширяйте FeatureService с помощью методов включения/отключения/проверки в каждой организации.
· kamo-internal
Добавьте псевдоним электронной почты и общую поддержку UI почтового ящика
Композитор «From:» раскрывающийся для переключения между основным, псевдонимом и общим почтовым ящиком адреса. Новая 6-я вкладка «Mailboxes» в настройках электронной почты для управления администратором в масштабах всей организации псевдонимы и общие почтовые ящики. Встроенный псевдоним / совместное управление почтовым ящиком на члене Настройка страницы. Переключатель почтового ящика в боковой панели папки для переключения контекста общего почтового ящика. MessageBrowser направляет к общим конечным точкам API почтового ящика при просмотре общего почтового ящика.
· EmailService
Add email aliases and shared mailbox support
New MailboxManager provider capability interface for alias and shared mailbox CRUD. KamoMailMailboxManager implementation manages dovecot/postfix virtual_users and virtual_aliases via MySQL. AliasController and SharedMailboxController provide REST APIs. SharedMailboxMailController proxies IMAP operations for shared mailboxes. EmailSmtpService updated to support from-address override for send-as functionality. MailProviderResolver wired with MailboxManager capability.
· kamo-shared-library
Добавьте псевдоним электронной почты и общие сущности и репозитории почтовых ящиков
Новые организации JPA для схемы email provider: EmailAliasEntity (отправка в качестве псевдонимов на одного участника), SharedMailboxEntity (общие почтовые ящики с зашифрованными учетными данными IMAP), SharedMailboxAccessEntity (субсидии доступа для общих почтовых ящиков).
· kamo-internal
Добавить статус PRE TICKET с опцией Start Chat
- TicketCreationForm: две кнопки - "Start Chat" (предварительный билет, нет названия) обязательный, только тема) и «Подать билет» (полный билет с названием) - TicketHeader: кнопка «Преобразовать в билет», когда статус PRE TICKET, открывает диалог, требующий заголовка, вызывает PUT/tickets/{id}/convert - StatusBadge: PRE TICKET в виде сине-серого значка - Новый маршрут прокси: **************** - Типы: добавлен PRE TICKET в SupportTicketStatus, preTicket для создания запроса
· MediaService
Add PRE_TICKET creation and convert-to-ticket endpoint
- createTicket: when preTicket=true, sets status to PRE_TICKET, skips assignment (no title required) - PUT /tickets/{id}/convert: converts PRE_TICKET to NEW, requires title, triggers assignment
· kamo-shared-library
Добавить статус PRE TICKET и флаг preTicket для создания запроса
Новый статус PRE TICKET(14) для чат-сессий, где пользователь начинает Общаться без официального оформления билета. могут быть преобразованы в Полный билет позже, установив название и изменив статус.
· SecurityService
Add POST **************** endpoint
Triggers org-wide member_rights_applied recalculation. Needed after schema migrations or manual DB changes to permissions.
· SecurityService
Use targeted role-scoped rights recalculation
SecurityRoleController now uses updateRoleMemberRightsApplied() to only recalculate members who have the modified role, instead of recalculating all members in the org. Delete recalculates before removing the role.
· kamo-shared-library
Пересчет целевых прав для dept, названия должности и изменения ролей
- DepartmentService: пересчитывает только членов в пострадавшем отделе После создания/обновления/удаления JobTitleService: пересчитывает только членов с соответствующим названием должности После создания/обновления/удаления - MemberRightsAppliedService: добавлено обновлениеRoleMemberRightsApplied() пересчитывать только членов, которым назначена определенная роль; - Фиксированный ******************* использовать findByOrganizationId Вместо findAll() (загрузка каждого участника во всех организациях) - Фиксированный ******************* **************** ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * FindByOrganizationВместо FindAll()
· kamo-shared-library
Пересчет член права применяется после создания нового члена
Calls updateMemberRightsПодал заявку на нового участника после того, как оба Создать OrganizationMember и создатьOrganizationTeamMember Немедленно применяются права каждого.
· kamo-internal
Granular role editing, label swapping, and Team Members support
- Add isAllowEditTitle and isAllowEditSecurity to SecurityRole interface - Allow editing security settings on Members/Team Members roles (previously fully locked) - Swap "Members" and "Team Members" display titles with parent org behavior labels - Prevent accidental title overwrites by sending original DB title for protected roles - Disable title field in edit dialog for system roles - Add parentMemberTitlePlural and parentTeamMemberTitlePlural to session/useUserInfo - Update role sorting order: Members, Team Members, Administrator, then custom
· InitializerService
Migrate Everyone role to Members and create Team Members role
- Rename ROLE_EVERYONE_ID column to ROLE_MEMBER_ID - Rename existing "Everyone (Applies To All)" roles to "Members" - Set **************** flags on existing system roles - Create "Team Members" role for all existing organizations - Set role_team_member_id references for all organizations - Switch ddl-auto back to update mode
· SecurityService
Enforce role protection flags and add parent label support to session
- Enforce isAllowEditSecurity in SecurityRoleController update endpoint - Add parentMemberTitlePlural and parentTeamMemberTitlePlural to *** session - Resolve parent org member/team member labels during login - Include parent labels in session updates when behavior labels change
· kamo-shared-library
Добавить гранулированные флаги защиты ролей и роль системы членов команды
- Добавить isAllowEditTitle и isAllowEditSecurity в OrgRole - Переименовать рольEveryoneID в рольMemberID в Организации, добавить рольTeamMemberID Переименовать роль «Все (применяется ко всем)» в «Члены» в создании организации - Создание роли системы «Члены команды» во время создания организации - Enforce isAllowEditTitle in OrgRoleService.updateRole (молча игнорирует название) - Enforce позволяет устанавливать безопасность в обновлениях RoleRights и UpdateRoleSecurityModels Добавьте новые флаги в SecurityRoleDTO для использования в интерфейсе Расширить RoleType enum с помощью значений MEMBER и TEAM MEMBER
· kamo-internal
Add Support section to settings page
Adds Topics, Notifications, and Status & Response Times cards that link to /support?tab=settings.

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