简化使用会议直接生成OTK和开放会话窗口
后端会话 API 端点尚不存在 - 跳过会话记录 创建现在。 将错误处理添加到所有点击处理器中以防止 客户端崩溃 .
删除基于Janus的WebRTC集成(使用WebRTC,VideoCallPanel,呼叫API路由)
准备删除旧的 Janus WebRTC 语音/视频/屏幕共享代码 KamoMeet(基于Meet的)替换. 删除使用WebRTC hook, VideoCallPannel , 呼叫启动倾听器和所有/api/webrtc/路由。 清理 ChatBox 调用 按钮、接通的呼叫UI和WebSocket呼叫启动处理.
制作能见度复选框和列车AI来切换独立控件
能够访问文章的能见度(成员、小组成员、公众)控制 在KB UI中。 Train AI是用于RAG索引的单独切换工具,不是父程序 可见的复选框.
以实时未读信件指示数替换 Chat Now 成员数
- NavTop 徽章现在显示全部未读信件而不是在线成员计数 - 聊天按钮图标颜色来源于 -- -- 彩色主主题变量 - 互动中心成员项目显示每个成员未读信息计数徽章 - 以 WebSocket 实时更新管理全局未读状态 - ChatBox标记在公开和收到的信件上读出的会话 - API 代理路线,用于新的未读数和已读端...
在 KB 文章编辑器中添加 Train AI 切换和受众能见度复选框
添加 AiEndabled master 切换为会员的相撞能见度复选框, 团队成员 公众使用来自行为标签设置的定制标签.
使用内部 K8s URL 用于 API 路由, 为非 KamoCRM orgs 修复可视化上传
API 代理正在计算每个矿石的外部 URL (https://api.{domain}), 它只解决了 KamoCRM。 现在直接使用 API SERVICE URL env var 内部出行. 并在APIService 和 APIService 中保留了上层的 X-Forwarded-Host 传播实际后端错误而不是...
Re-fetch notes after create/update to show decrypted content in preview
The backend returns encrypted content/contentPlain in POST/PUT responses, causing NoteCard previews to display ciphertext until page refresh. Now re-fetches via...
Disable all auto-link behaviors in KB editor to prevent paste-as-hyperlink bug
The linkExtension singleton from @lexkit/editor retains internal paste handler state across component remounts. Disabling autoLinkUrls, autoLinkText, and linkSe...
Prevent KB editor link extension state leaking between article creates
Move Lexical extensions from module-level singletons into a factory function called via useMemo per component mount, so each new article gets fresh extension in...
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 pa...
Accept large CockroachDB IDs in org Zod schema
The org ID from unique_rowid() exceeds JS MAX_SAFE_INTEGER, causing z.coerce.number().int() to fail with "too_big". Now accepts number, bigint, or string to han...
Accept UUID strings for feature IDs in org Zod schema
The OrgFeature schema required id to be a coercible integer, but the backend returns UUIDs. This caused a ZodError on every layout fetch, falling back to the ha...
Always refresh org context after any app toggle, not just completed-stage
POS and other non-completed apps also affect the UI (e.g. Pipeline in NavPri). The stage check was preventing the refresh for these apps.
Update all fallback feature lists and gate Pipeline/Chat/LeadStatus
Root cause: layout.tsx and org API route had hardcoded fallback feature lists with only 6 old apps (missing VOIP, AI_SUPPORT, SUPPORT, KB, NOTES, DOCS). When th...
Show CC and BCC in sent item email previews
Add bcc field to EmailMessage type. ThreadDetailView now displays BCC recipients when present (typically in sent folder copies).
Remove legacy /email iframe page
This page only embedded mail.kamocrm.com in an iframe. The built-in email client at /messages replaces it entirely.
Email nav icon now links to /messages instead of legacy /email iframe
The /email page embeds mail.kamocrm.com in an iframe (legacy webmail). The actual built-in email client is at /messages. Updated NavPri to point to the correct ...
Surface actual backend error message on feature toggle failure
Enable/disable now parses the error response body and shows the real error in the toast instead of a generic message. Helps diagnose what's actually failing on ...
运行完成的阶段应用程序后恢复上下文刷新
没有路由器.refresh (), 启用后, org 上下文会保持静止 应用程序 — NavPri, 主页和设置从未显示新启用 特性。 现在刷新已完成阶段应用程序切换的 org 上下文 因此,UI立即更新。 开发中的应用程序跳过刷新 以避免重置“ 不可用” 标签 .
以 Org 特性旗关闭所有特性卡和设置区域
主页:现在使用的文档卡是Docs(不贬值为storage/isDocManager), 日历门由"Email","Note"门由"Notes". 设置页面:商务区段由isPos门,电话区段由isVoip门, 由支持部、AI部和Ai支持部组成。 全体 相应的卡片阵列现在通过条件标记过滤.
Remove router.refresh() from feature toggle to prevent page reset
router.refresh() was causing the page to re-render and reset the active tab back to "Available" on every toggle. The cache invalidation and loadFeatures() call ...
Invalidate org cache after feature toggle to reflect changes immediately
The org API route caches organization data in Redis for 24h. After enabling or disabling an app, the stale cache caused feature flags to remain false, making se...
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 FeaturesMan...
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 c...
Gate all nav links and settings pages by org feature flags
NavTop: hide AI chat, softphone, SMS, credits, notes, calendar, and contacts links when their corresponding app is disabled. Settings pages for CRM, Email, Phon...
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...
Sync settings nav with actual tab definitions across all pages
Add missing Mailboxes and CalDav/CardDav entries to email section in both the settings main page and the NavPri slide-out drawer. Fix Account section card linki...
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...