Remove debug logging, add email WS retry limit, proxy email WS through k8s DNS
Remove verbose console.log statements from useUserInfo, NavTop, NavPri, MemberListProvider, SessionManager, sessionMonitor, avatarUtils, and useChatWebSocket th...
Add KNOWLEDGE_BASE to AppType and Organization.isKnowledgeBase getter
Without these, the KB sidebar entry and home card were hidden since organization.isKnowledgeBase was undefined.
Add Knowledge Base frontend - pages, components, API routes, Plate editor
- 13 Next.js API proxy routes under /api/kb/ - KB home page with article tree, search, pinned articles - Article viewer, editor (Plate rich text), new article, ...
Wire up sidebar session history, folders, search, and remove duplicate header icon
- Fix wrapped API response parsing for sessions and folders - Fix folder create to use parentFolderId field name - Fix session/folder updates to use PUT (backen...
Rich markdown rendering for AI chat responses
- Styled headings (h1-h4) with bottom borders and proper sizing - Bullet lists (ul) and numbered lists (ol) with proper indentation and spacing - Bold text with...
Reorder AI settings tabs, rename Sales Agent Setup to AI Sales Agent Setup
- Provider Setup is now the first tab, Usage & Overview is last - Renamed "Sales Agent Setup" to "AI Sales Agent Setup" - Updated settings slideout nav and sett...
Fetch all provider models on edit, pre-populate active selections
- Fetch provider details with all models (active+inactive) when clicking Edit - Pre-populate editing.models with IDs of active models - Show full model list wit...
Wire up end-to-end chat messaging with loading states
- Add POST handler to messages API route - Fix message type mismatches between input, context, and messages component - Show user message immediately, display l...
Stay in edit mode after creating provider, show test and model buttons
- After creating a new provider, stay in edit mode with the returned ID so user can immediately test connection and add models - Fix id checks from === undefi...
Auto-grow input to 11 lines when maximized, Enter sends, Alt+Enter newline, fix sidebar detection
- Input grows up to 11 lines (220px) when window is maximized, 6 lines otherwise - Enter submits message, Alt+Enter inserts newline (was Shift+Enter) - Use Resi...
Add manual model creation UI and POST /api/ai/models route
- Add "Add model manually" form in Provider Setup edit view - Add POST handler to /api/ai/models API route - Users can specify model ID and display name for cus...
Add detailed help tips, update provider types, improve model display
- Replace placeholder help tips with user-friendly explanations for all AI settings tabs (Usage, Providers, MCP, Security, Sales Agents) - Update PROVIDER_TYP...
Move message to Junk folder when reporting as spam
After flagging a message as spam via spamApi, also call batchApi.move to move it to Junk (or back to INBOX when marking as not spam). Applies to both single and...
Show configured providers in AI chat model selector dropdown
Fetches both models and providers. Shows providers as selectable options alongside any configured models, so users can pick a provider even when specific models...
Switch AI chat from WebSocket to REST mode until WS proxy is available
Reports as 'connected' so the UI is usable. Messages sent via REST POST to **************** instead of WebSocket.
Remove duplicate minimize/maximize/close buttons from AI chat header
The tool window shell already provides these controls.
Switch AI chat tool from dark theme to light theme matching other tools
Uses light backgrounds, var(--color-primary) accents, and org theme colors consistent with Calculator, Softphone, and other tool windows.
Extend email content to full width of detail panel
Remove max-w-4xl constraint so the email body, attachments, and quick reply fill 100% of the available panel width.
Add Sales Agent Setup tab, update settings nav slideout, fix subtitle
- Add Sales Agent Setup tab to AI settings (placeholder) - Add Artificial Intelligence section to settings slideout panel - Fix My Account nav links (Relationsh...
Align ProviderSetupTab field names with backend entity (priorityOrder, maxRateLimit, isActive)
Ensure Junk and other system folders always appear in sidebar
Adds guaranteed system folders (INBOX, Sent, Drafts, Junk, Trash, Archive) to the folder tree even if they don't exist on the IMAP server yet.
Move handleBulkReportSpam after getSelectedRefs to fix declaration order
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
