Add tooltips to WYSIWYG toolbar buttons in New Email tool
Applies title attributes to all Quill toolbar buttons and pickers after mount: Bold, Italic, Underline, Strikethrough, Text Color, Background Color, Heading, Al...
Dynamically update tool window title from email subject
Add tool:title event to the tool window system. The New Email tool dispatches it as the subject field changes, showing the subject as the window title (abbrevia...
Add New Email tool icon to NavTop bar
Adds a mail icon button to the left of the Softphone button that opens the New Email tool window.
Add GET endpoint for message labels
GET **************** returns label IDs applied to a specific message.
Pass org theme URL to Docs for per-org logo and favicon
Construct theme path from X-Forwarded-Host (e.g., internal.kamocrm.com -> **************** and append as &theme= query param in the Docs URL. Docs reads this to...
Add sync conversations button for backfilling from IMAP
Shows a "Sync Conversations" button when no conversations are found, triggering bulk indexing of existing IMAP messages into conversation view.
Add bulk index endpoint to backfill conversations from IMAP
POST **************** indexes existing IMAP messages into conversations and search index tables.
Add /wopi/** route forwarding to DocsService
Docs needs to reach WOPI endpoints via api.kamocrm.com.
Add OTK auth, org-branded WOPI, cached MinIO client
- WopiController: look up org title from JWT orgId claim for dynamic BrandName ("{orgTitle} Docs") in CheckFileInfo response - DocumentController: require OTK...
Add New Document button to NavTop with DocsService integration
Adds DOCS_EDITOR app type (ID 16), NewDocumentButton component with document type picker popover, API proxy route for DocsService, and NavTop integration gated ...
Add wopi-*** for DocsService
Adds WOPI JWT signing secret used by DocsService for Docs access tokens. Deployed to both K1M1 and K2M1 clusters.
添加电子邮件元数据实体和寄存器
迁移 JPA 实体, 并重置从 Email Service 到共享库 所以KamoInitializer Service可以通过dl -auto管理所有计划.
Add search UI, virtual scrolling, IndexedDB caching, and offline mode
- Add SearchBar with operator autocomplete, saved/recent search suggestions - Add AdvancedSearchPanel with structured field-based query builder - Add VirtualMes...
Add IMAP connection pool, search intelligence, and delta sync endpoints
- Add Apache Commons Pool2 keyed connection pool for IMAP Store reuse (3/account, 500 total, 10min idle eviction) - Migrate EmailImapService from ConcurrentHash...
Add enterprise email organization — labels, filters, shortcuts, quick actions
Plans 2-3: conversation threading views, email API layer with zustand store, label picker, filter rule builder, smart folder modal, keyboard shortcuts with help...
Add enterprise email metadata services — labels, filters, smart folders, batch ops
Plans 1-3: metadata schema, JPA entities, repositories, conversation threading, label CRUD, filter rule engine with async retroactive apply, smart folder criter...
Add email HTML sanitization and CSS isolation via Shadow DOM
Replace raw dangerouslySetInnerHTML in MessageBrowser with a sanitized email renderer that uses DOMPurify + css-tree for HTML/CSS filtering and a closed Shadow ...
Rewrite email components to use real EmailService API
- FolderSidebar: fetch folders via API, real create folder, WebSocket refresh - MessageBrowser: real message fetch/search/star/delete with optimistic updates - ...