UseMeeting을 단순화하고 OTK를 생성하고 직접 미팅 창을 엽니 다
Backend meeting API endpoints 아직 존재하지 않습니다 - 회의 기록 건너뛰기 지금 만들기. 모든 클릭 핸들러에 오류 처리 추가 클라이언트 측 충돌.
Add MEET to FeaturesManager icon/category maps and guard ChatBox Meet button with isMeet check
Janus 기반 WebRTC 통합 제거 (useWebRTC, VideoCallPanel, API 경로 호출)
오래된 Janus WebRTC 목소리 / 비디오 / 스크린 공유 코드를 준비에 대한 KamoMeet (Meet 기반) 교체. 사용 삭제WebRTC 후크, VideoCallPanel, CallInitiationListener 및 모든 /api/webrtc/ 경로. ChatBox 통화 정리...
가시 체크 박스 및 기차 AI toggle 독립적 인 제어
Visibility (멤버, 팀 멤버, 공개) 문서에 액세스 할 수있는 제어 KB UI에서 기차 AI는 RAG 지수에 대한 별도의 토글이며, 부모가 아닙니다. 가시 체크 박스.
Chat Now 회원 카운트를 실시간으로 읽지 않은 메시지 표시
- NavTop 배지는 이제 온라인 회원 카운트 대신 총 읽지 않은 메시지를 보여줍니다 - --color-primary theme 변수에서 파생된 채팅 버튼 아이콘 색상 - 회원아이디(주)는 회원아이디(주)의 회원아이디(주)의 회원아이디(주)는 회원아이디(주)의 회원아이디(주)의 회원아...
기차 AI toggle 및 청중 가시 체크 박스를 KB 문서 편집기에 추가
AiEnabled master toggle 을 추가하여 회원들을 위한 접을 수 있는 가시성 체크 박스 팀 구성원 및 행동 라벨 설정에서 org-customized 라벨을 사용하여 공공.
API 라우팅에 대한 내부 K8s URL을 사용하여 비 KamoCRM orgs에 대한 아바타 업로드를 수정하십시오
API 프록시는 외부 URL(https://api.{domain})을 모든 org에 컴파일하고 있었습니다. KamoCRM에서만 해결됩니다. 이제 직접 API SERVICE URL env var를 사용 내부 여정. APIService에서 upstream 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 ...
Restore org context refresh after toggling completed-stage apps
Without router.refresh(), the org context stayed stale after enabling apps — NavPri, homepage, and settings never showed the newly enabled features. Now refresh...
Gate all feature cards and settings sections by org feature flags
Homepage: Documents card now uses isDocs (not deprecated isStorage/isDocManager), Calendar gated by isEmail, Notes gated by isNotes. Settings page: Commerce se...
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...