Skip to main content

Changelog

Stay up to date with the latest features, improvements, and fixes.

February 2026

Update website and documentation to add Receptionist agent type

New Added new functionality for update website and documentation to add receptionist agent type. Highlights:
  • Add Receptionist agent type to website and docs
  • Add Receptionist Kiosk use case to features.ts
  • Add Office & Corporate Reception industry solution to industries.ts
  • Add changelog entry for Receptionist agent type (v2.9.0)
  • Add navigation item and breadcrumb for new industry page

Add like/dislike feedback buttons to AI messages

New Fixes QA issues #1-5 from qa_report.md Highlights:
  • Added upsertFeedback mutation with idempotent toggle behavior
  • Added getFeedbackForMessage query for single message feedback
  • Added getFeedbackForConversation query with optional filter
  • Added removeFeedback mutation for explicit feedback removal
  • Added getFeedbackStats query for analytics

Add multi-screen receptionist kiosk flow

New Added new functionality for add multi-screen receptionist kiosk flow.

Add Receptionist agent type with kiosk-based reception system

New Phase 1 implementation of the Receptionist agent type for voice-based Highlights:
  • Add Receptionist agent type with kiosk-based reception system
  • Added receptionistContacts, receptionistSettings, receptionistCalls tables
  • Convex mutations for contacts CRUD, settings upsert, call tracking
  • Extended Agent type with ‘type’ field (‘web_agent’ | ‘receptionist’)
  • 5-step guided onboarding flow (Name/Domain, Avatar, Contacts, Styling, Review)

Added followups for source table for source page and admin agent deta…

New Added new functionality for added followups for source table for source page and admin agent deta…. Highlights:
  • Added followups for source table for source page and admin agent details page
  • Fixed using i18 for toast messages

Auto update web sources

New Use by_source_type index instead of fetching all sources and filtering Highlights:
  • Implemented auto-update for website sources
  • Optimize listAutoRefreshWebsiteSources query to use index

Trying to fix 404 errors for admin routes

Fix Fixed an issue with trying to fix 404 errors for admin routes.

Simplify theme toggle: remove dropdown, add standalone button

New Replace the dropdown theme selector with a simple toggle button that Highlights:
  • Auto-detect theme and simplify theme toggle
  • Docs: add agent-browser testing instructions to CLAUDE.md

Add German language support to documentation and website

New Adding reference screenshots for the German localization bug where Highlights:
  • Docs: add screenshots for issue #87 (i18n button overflow)
  • Revert “docs: add screenshots for issue #87 (i18n button overflow)”
  • Add language switching (English/German) to website and docs
  • Add next-intl for i18n support
  • Create i18n.ts configuration with en/de locales

January 2026

Avatar creation, upload page & per-avatar TTS settings

New Created admin avatars management page following the pattern from admin agents page. Highlights:
  • Add listByOrganization query to get global + org-specific avatars
  • Add listGlobal query to get only global avatars
  • Add listOrganizationOnly query to get only org-specific avatars
  • Update create mutation to accept scope and organizationIds
  • Update update mutation to allow updating scope and organizationIds

Improve DataTable styling and reduce vertical scrolling

Fix to diagnose why source tables are stuck in loading state Highlights:
  • Refactor UnifiedResourceTable to use standardized DataTable component
  • Migrated UnifiedResourceTable from raw HTML tables to DataTable component
  • Uses TanStack Table v8 with shadcn/ui Table components per CLAUDE.md standards
  • Replaced custom SortIndicator, ResourceRow, shift-click logic with DataTable built-ins
  • Reduced component from ~1057 lines to ~500 lines

Add session check on auth pages and fix Better Auth basePath redirects

Fix and handleRemoveUrl callbacks with useCallback Highlights:
  • Centralize basePath handling and fix infinite loop in DomainMapper
  • Add centralized api.ts with BASE_PATH constant and apiUrl()/pageUrl() helpers
  • Update all fetch() calls to use apiUrl() instead of hardcoded paths
  • Fix infinite loop in DomainMapper by memoizing handleRowSelectionChange
  • Fix avatar icon URL to use absolute URL with basePath for cross-origin access

Auth URL routing and navigation fixes

New Type fixes (required for build): Highlights:
  • Feat(routing): add /auth/* URL routing for consistent auth paths
  • Add rewrites to proxy /auth/* to agents /app/* routes
  • Update all auth links to use relative /auth/* paths
  • Rename externalUrls to appUrls with relative paths
  • Add AuthErrorContext type for Better Auth callbacks

Removed redundant external build for trigger

New Added new functionality for removed redundant external build for trigger.

Prevent undefined in URL concatenation

Fix Use nullish coalescing (?? "") to provide empty string fallback for Highlights:
  • Fix(website): prevent undefined in URL concatenation when env var not set
  • Fix(website): make external flag dynamic based on SITE_URL
  • Refactor(website): use relative paths for all navigation links
  • All navigation links now use relative paths (e.g., /sign-in)
  • Works automatically on any domain: localhost, preview builds, production

Auto claude/006 file upload pdf etc

New Added parseCSV function to document parsers with memory-efficient stream processing: Highlights:
  • Uses csv-parse stream API with auto-delimiter detection
  • Supports various CSV formats (comma, semicolon, tab-delimited)
  • Returns tab-separated text output with row/column metadata
  • Follows same error handling pattern as existing parsePDF function
  • Handles edge cases (empty lines, inconsistent columns, whitespace)

Add flex-wrap to unsaved changes dialog for i18n overflow

Fix Adds sm:flex-wrap to DialogFooter in the unsaved changes dialog to Highlights:
  • Add flex-wrap to unsaved changes dialog for i18n overflow
  • Increase unsaved changes modal width to 600px

Add Claude Code GitHub Workflow

New Added new functionality for add claude code github workflow. Highlights:
  • “Claude PR Assistant workflow”
  • “Claude Code Review workflow”
  • Fix Claude workflow permissions and settings
  • Add write permissions for contents, pull-requests, and issues
  • Use fetch-depth: 0 for full git history access

Auto-claude: Organization maintenance fixes - member invitation restriction

Fix Created comprehensive E2E test suite with 11 tests covering: Highlights:
  • Added userId parameter to deleteOrganization mutation in betterAuth/admin.ts
  • Implemented authorization check to verify user is organization owner
  • Throws descriptive errors for non-members and non-owners
  • Updated call sites in admin.ts to pass userId parameter
  • Follows role permission patterns from shared/roles.ts

Cleanup UnifiedResourceTable and fix UI issues

Fix
  • Realtime resource addition (website ↔ admin)
Highlights:
  • Replaced MySourcesTab import with UnifiedResourceTable
  • Updated component usage with proper props (agentId, sourceType=‘website’)
  • Enabled filters, pagination, and bulk actions
  • Origin column will now display automatically for website sources
  • Maintains all existing functionality (training, banners, add new tab)

Implement website pages for Humanizing Agents

New Add the following dependencies to the website app: Highlights:
  • Framer-motion: ^11.15.0
  • Lucide-react: ^0.562.0
  • Class-variance-authority: ^0.7.1
  • Embla-carousel-react: ^8.6.0
  • Tailwind-merge: ^3.3.1

Add Support and Contact Us Form to Agents Application

New Created ContactFormDialog component with all required form fields: Highlights:
  • Name input field
  • Email input field
  • Subject input field
  • Message textarea field
  • Address QA issues (qa-requested)

Mintlify Documentation for Humanizing Agents Platform

New
  • User Guide: Getting Started, Agents, Knowledge Sources, Customization
Highlights:
  • Restructured navigation into three user-focused tabs:
  • User Guide: Getting Started, Agents, Knowledge Sources, Customization
  • Workspace & Account: Workspace settings and members, Account profile
  • Chat Widget: Overview, Embedding, User Features
  • Updated global anchors to link to Humanizing Agents dashboard

Initial commit of documentation files and assets for Mintlify Starter Kit. Added essential documentation pages including development, quickstart, and API reference, along with configuration files like docs.json and package.json. Included SVG logos, favicon, and essential images to enhance the documentation experience. This foundational setup aims to streamline the documentation process for users.

Integration Updated integration for initial commit of documentation files and assets for mintlify starter kit. added essential documentation pages including development, quickstart, and api reference, along with configuration files like docs.json and package.json. included svg logos, favicon, and essential images to enhance the documentation experience. this foundational setup aims to streamline the documentation process for users..

Widget Header Title Configuration

New
  • Added headerTitle to create mutation args and insert
Highlights:
  • Added headerTitle to ALL backend mutations (create, update, getOrCreate, upsert)
  • Integrated sanitization logic in all mutation handlers
  • Previous subtask only created the function but didn’t wire it up
  • Packages/backend/convex/agents/widgetSettings.ts:
  • Added headerTitle to create mutation args and insert

Fix Shift-Click Multiselect in Data Tables

Fix
  • Accept currentIndex and shiftKey parameters
Highlights:
  • Add index prop to SourceRowProps for range selection tracking
  • Update onToggleSelect signature to (id, checked, currentIndex, shiftKey)
  • Add handleCheckboxClick handler for shift-click range selection
  • Add handleCheckboxChange handler for normal checkbox toggle
  • Add handleMouseDown to prevent text selection during shift-click

Loading spinner during language switch

New Added isWelcomeMessageLoading variable that checks if: Highlights:
  • Add isLanguageSwitching: boolean to ChatState interface under Language state
  • Initialize isLanguageSwitching to false in store initial state
  • Set isLanguageSwitching=true at start of changeLanguage() function
  • Set isLanguageSwitching=false after 150ms delay at end via setTimeout
  • This enables showing loading spinner during language transitions

Fix Localization Routing Bug - /en/ Redirect Issue

Fix Fixed incorrect router imports in both files: Highlights:
  • Apps/agents/src/app/(main-app)/onboarding/page.tsx
  • Apps/agents/src/components/onboarding/GenerationProgressStep.tsx
  • OnboardingLayout and CardCreateAgent router imports (qa-requested)
  • OnboardingLayout.tsx - Changed router import from ‘next/navigation’ to ’@/i18n/navigation’
  • CardCreateAgent.tsx - Changed router import from ‘next/navigation’ to ’@/i18n/navigation’

Update Widget Settings UI with New Two-Tab Design

New to be the first section in the Styling tab Highlights:
  • Created avatar.tsx with Avatar, AvatarImage, AvatarFallback exports
  • Added @radix-ui/react-avatar dependency to package.json
  • Follows existing shadcn/ui patterns used in the project
  • Add activeTab state with ‘styling’ | ‘content’ type, defaulting to ‘styling’
  • Implement two-tab navigation UI with bottom border indicator

Add localization to admin panel

New Added comprehensive adminPanel namespace to en.json containing: Highlights:
  • Nav: Admin panel navigation items (title, workspaces, members, agents)
  • Common: Shared UI elements (actions, pagination, buttons, messages)
  • Workspaces: Workspace management page strings (title, description, table headers, dialogs, messages)
  • Members: Members management page strings (title, description, table headers, dialogs, messages)
  • Agents: Agents management page strings (title, description, filters, table headers, dialogs, messages)

FEAT :: change embedded id from agentId to publicKey (zenflow)

New The codebase already has dual-lookup support throughout (publicKey → _id fallback), making this a backwards-compatible change. Existing deployed widgets will continue working. Highlights:
  • Initialize task: FEAT :: change embedded id from agentId to publicKey
  • FEAT :: change embedded id from agentId to publicKey
  • Update Playground Embed Code Display
  • Update Chat Widget resourceId Mapping
  • Optimize Chat API Authorization Order

Integrate ImageCropModal into Chat Bubble Icon Upload Flow

New Add chatBubbleIconOriginalUrl field to agentWidgetSettings table in Convex schema. Highlights:
  • DEFAULT_WIDGET_SETTINGS: Added chatBubbleIconOriginalUrl with undefined default
  • Create: Added optional string arg and handler support
  • Update: Added optional string arg
  • GetOrCreate: Added optional string arg and handler support with defaults
  • Upsert: Added optional nullable arg with null-clearing support

Refactor chat widget components to enhance avatar loading functionality

Improved These changes improve the user experience by providing visual feedback during avatar loading and ensuring smoother interactions within the chat widget. Highlights:
  • Refactor chat widget components to enhance avatar loading functionality
  • Updated Avatar and AvatarWidget components to include new props for loading progress, completion, and error handling.
  • Introduced AvatarPlaceholder component to display a loading state with progress indication while the avatar is being initialized.
  • Enhanced SecondaryPanel to conditionally render the Avatar or AvatarPlaceholder based on the loading state.
  • Updated TypeScript definitions in tsconfig.json files for better clarity and organization.

Add default language and language exclusion to chat widget

New Add excludedLanguages as an optional array of strings to the agentWidgetSettings Highlights:
  • Added excludedLanguages: LanguageCode[] to AgentWidgetSettings interface
  • Added excludedLanguages: [] to DEFAULT_WIDGET_SETTINGS
  • Added excluded_languages: string[] to AgentWidgetSettingsRow interface
  • Updated rowToWidgetSettings to convert excluded_languages to excludedLanguages
  • Updated widgetSettingsToRow to convert excludedLanguages to excluded_languages

Replace hardcoded colors with semantic tokens for dark mode support

Fix Replace hardcoded Tailwind gray classes with theme-aware semantic tokens Highlights:
  • Replace hardcoded colors with semantic tokens for dark mode support
  • Conversations page: Fix white-on-white backgrounds and invisible text
  • Chat Widget page: Update settings panel and preview backgrounds
  • Agent Settings page: Fix Danger Zone visibility in dark mode
  • Workspace Settings page: Add dark variants for Danger Zone borders

Admin dashboard

New Added new functionality for admin dashboard. Highlights:
  • Implemented admin panel, fixed sources flow after convex migration, added new dev command

Various fixes avatar animations, tts settings, avatar not showing up

Fix Fixed an issue with various fixes avatar animations, tts settings, avatar not showing up. Highlights:
  • Refactor TTS settings and localization handling
  • Removed unused locale_code and localeCode fields from TTS settings interfaces and schemas, streamlining the data structure.
  • Updated related queries and mutations to use languageCode instead of localeCode for consistency.
  • Enhanced MySourcesTab component by removing unnecessary locale usage and optimizing translation hooks for better performance.
  • Improved documentation and comments to reflect changes in TTS settings and localization logic.

Auto claude/012 bug websources adding a lot of websources results

Fix Adds a new bulkCreate mutation that accepts an array of source objects and Highlights:
  • Accepts agentId and array of source objects
  • Validates agent exists once (not per-source)
  • All inserts happen within single Convex transaction
  • Returns array of created source IDs
  • BulkCreateSourceInput type for input validation

Auto claude/013 bug websources starting training results in long w

Fix Add new bulkUpdateStatus mutation that efficiently updates multiple Highlights:
  • Accepts an array of source IDs and a status string
  • Updates all sources atomically (single Convex transaction)
  • Skips non-existent sources gracefully
  • Returns counts of updated and skipped sources
  • Added logic to detect status-only updates (single field, status property)

Claude/add i18n support g7t jn

New Implemented comprehensive i18n support using next-intl library: Highlights:
  • Add internationalization (i18n) support with English and German
  • ✅ English (default) and German language support
  • ✅ Language switcher in user profile menu (top right corner)
  • ✅ 400+ UI strings translated and organized in single JSON files
  • ✅ Locale-aware routing with next-intl middleware

Auto claude/011 feat sources update single sources status not whole page

New This enables React.memo optimization in SourceRow to prevent unnecessary Highlights:
  • Create memoized SourceRow component with React.memo
  • Implement custom arePropsEqual comparison function to prevent unnecessary re-renders
  • Only re-render when source id, status, name, storageUrl, isSelected, or isWebsiteSource changes
  • Add useMemo for sourceUrl extraction and chip deduplication
  • Add useCallback for stable handler references (toggle, delete, edit, preview, openExternal)

Auto claude/010 feat localization translatation suggested question

New Add translation service client for the chat-widget that calls the Highlights:
  • Add translation-handler.ts with translateTexts function and handleTranslateRequest
  • Use Azure openai gpt 4.1-mini model for cost-effective translations
  • Handle edge cases: empty arrays, JSON parsing, count validation
  • Implement retry logic and timeout handling
  • Add @ai-sdk/openai dependency for direct OpenAI API access

Auto claude/002 conversations implement functions to show messages

New Create new Convex query file for fetching Mastra threads with message previews. Highlights:
  • Add getThreadsWithPreviews query function
  • Support pagination via limit/offset parameters
  • Support date range filtering via fromDate/toDate
  • Support search filtering on thread title (case-insensitive)
  • Extract text content from message JSON for previews

Add light and dark mode toggle to header

New Added new functionality for add light and dark mode toggle to header. Highlights:
  • Add light/dark mode toggle with system theme support
  • Set up ThemeProvider using next-themes in root layout
  • Create ThemeToggle component with System/Light/Dark options
  • Add theme toggle to user profile menu with animated icons
  • Support system theme preference detection

Add anonymous authentication plugin with Convex

New Implements the better-auth anonymous authentication plugin to enable Highlights:
  • Add better-auth anonymous plugin for quick testing
  • Import anonymous plugin from better-auth/plugins
  • Add anonymous() to the plugins array
  • Import anonymousClient from better-auth/client/plugins
  • Add anonymousClient() to the plugins array

Auto-claude/007-welcome-message-add-function-to-fetch-the-welcome-

New Add getConfiguredWelcomeMessage() helper function that: Highlights:
  • Checks window.chatConfig?.welcomeMessage for custom message
  • Falls back to i18n getWelcomeMessage() if not configured
  • Initial messages array in store
  • ResetChat() fallback
  • InitializeFromConfig() welcome message update

Auto-claude/009-bug-language-selector-font-color-matches-the-brand

Fix This change enhances the customization of user message backgrounds while maintaining compatibility with existing styles. Highlights:
  • Changed fallback from ‘var(—primary-foreground)’ to ‘var(—foreground)’
  • Removed unnecessary isDark ternary for simplified logic
  • Ensures language selector text stays black in light mode regardless of brand color
  • Update chat widget color handling for user messages
  • Refactored color properties related to user messages in ConfigInitializer, ChatMessages, and applyColorUpdates functions to use the new CSS variable --user-message-bg.

Auto claude/004 widgetsettings user message color is not applied

New Add userMessageColorEnabled, widgetHeaderColorEnabled, bubbleColorEnabled, Highlights:
  • WidgetHeaderColorEnabled: === true → Boolean()
  • UserMessageColorEnabled: === true → Boolean()
  • Added userMessageColorEnabled to chatConfig state type
  • Capture userMessageColorEnabled from window.chatConfig with Boolean conversion
  • Updated hasUserMessageColor detection to require both:

Auto claude/005 suggested questions add the option to view the sug

New Added suggestedQuestions field to transformWidgetConfig function that maps Highlights:
  • Read from window.chatConfig?.suggestedQuestions when available
  • Fall back to i18n translation (openingHoursAndContact) when not configured
  • Maintain currentLanguage dependency for the fallback case
  • Enhance suggested questions handling in ChatWidget and API
  • Introduced a normalization function for suggested questions in the API to ensure only non-empty trimmed strings are processed.

Auto claude/006 avatar background apply adjust color to chat widge

New Added three new properties to the ChatConfig interface for avatar background customization: Highlights:
  • AvatarBgColor: string - Avatar background color (normalized hex)
  • AvatarBgCustomEnabled: boolean - Whether custom avatar background color is enabled
  • AvatarBgTransparency: number - Avatar background transparency (0-100)
  • AvatarBgColor: Normalized hex color when enabled, empty string otherwise
  • AvatarBgCustomEnabled: Boolean flag from database (defaults to false)

Auto-claude/003-agent-settings-save-button-looks-not-like-standard

New These changes improve user experience by providing quicker feedback and a more responsive UI. Highlights:
  • Add saveSuccess state to track successful save operations
  • Update handleSaveName with setSaveSuccess and 3-second auto-reset timer
  • Conditionally render button content: spinner+Saving… / ✓ Saved! / Save
  • Replace custom gray styling (bg-gray-500) with variant=“default”
  • Add Loader2 spinner animation during save operation

Auto claude/001 fix issues with legacy kbprompt and pluralwidget f

Fix Remove legacy KB Prompts Convex functions file as part of the Backend Schema Highlights:
  • KbPrompts: KB custom prompts table (Plural legacy)
  • PluralWidgets: Widget configurations for Plural product
  • Removed import of chat_kbPrompts and chat_pluralWidgets
  • Removed corresponding entries from the fullApi type declaration
  • Removed fetchKBCustomPrompt function from chat-api convex-client.ts

Fix systemPrompt vs promptTemplates architecture

Fix Fixed an issue with fix systemprompt vs prompttemplates architecture. Highlights:
  • Fix systemPrompt vs promptTemplates architecture
  • Update systemPrompts schema: remove agentId, use prompt field, add comment
  • Update promptTemplates schema: rename content to prompt
  • Create systemPrompts.ts Convex functions for global system prompts
  • Update chat-api to use systemPrompts.getActive() instead of promptTemplates

Migrate Mastra storage from PostgreSQL to Convex

New This PR migrates Mastra’s memory persistence from PostgreSQL (@mastra/pg) Highlights:
  • Migrate Mastra storage from PostgreSQL to Convex
  • Replace @mastra/pg with @mastra/convex@beta in chat-api
  • Upgrade @mastra packages to 1.x beta for compatibility
  • Add Mastra storage tables to Convex schema (threads, messages,
  • Create local storage handler to avoid Node.js dependency issues in

Auto claude/002 supabase convex migration (remaining apps)

New Removed all Supabase environment variables from the agents app as part of Highlights:
  • SUPABASE_AGENTS_SERVICE_ROLE_KEY
  • SUPABASE_AGENTS_TRANSACTION_URL
  • NEXT_PUBLIC_SUPABASE_AGENTS_URL
  • NEXT_PUBLIC_SUPABASE_AGENTS_ANON_KEY
  • NEXT_PUBLIC_SUPABASE_ANON_KEY

New These changes streamline the codebase by eliminating unused dependencies and improving maintainability. Highlights:
  • Deleted the @humanizing/storage, @humanizing/access, @humanizing/auth, and @humanizing/mastra packages along with their associated files and configurations.
  • Updated bun.lock and package.json to reflect the removal of these packages.
  • Refactored the storage.ts file in the agents app to remove references to the deleted storage package, simplifying the image upload logic.
  • Cleaned up ESLint configurations and TypeScript settings related to the removed packages.

Implement E2E tests for agents app

New These changes improve the testing infrastructure and provide a structured approach for E2E testing using Playwright. Highlights:
  • Enhance E2E testing framework and Playwright integration
  • Updated .gitignore to exclude test results and Playwright cache directories.
  • Added Playwright as a development dependency in package.json and bun.lock.
  • Created Playwright configuration file for E2E tests.
  • Introduced comprehensive E2E test suite documentation.

Phase 2: Convex Cutover - Reorganize Functions into App-Based Structure

New 🤖 Generated with Claude Code Highlights:
  • WorkspaceId, OrganizationId, AgentId, UserId, MemberId, AssetId
  • Factory functions: createWorkspaceId, createAgentId, etc.
  • Type guard: isValidIdString for non-empty string validation
  • MemberRoleSchema (enum: owner, admin, member)
  • OrganizationSchema (id, name, slug, logo, metadata, createdAt)

Add feature flags to disable coming soon features in production

New Implement feature flags system to disable certain UI features when Highlights:
  • Localization settings
  • Welcome message
  • Suggested questions
  • Avatar background customization
  • Add NEXT_PUBLIC_NODE_ENV to env-config.ts for client-side access

Auto claude/021 chat config upload button for chat icon

New 🤖 Generated with Claude Code Highlights:
  • Created src/lib/image-upload/validation.ts with validateImageFile function
  • Validates file type (PNG/JPEG only) and size (max 1MB)
  • Returns { valid: boolean, error?: string } format
  • Added comprehensive test suite with 13 test cases
  • Includes helper functions: getMaxFileSize() and getAllowedTypes()

Claude-web/Add semi-transparent circle background to sidebar toggle arrow

New Added a small semi-transparent circular background around the arrow icon in the SidebarRail component to improve visual hierarchy and make the toggle button more prominent. Highlights:
  • Add semi-transparent circle background to sidebar toggle arrow
  • Added bg-sidebar-foreground/10 for semi-transparent background
  • Added rounded-full to create circular shape
  • Added p-1.5 for padding around the icon
  • Update sidebar toggle button background and padding for improved aesthetics

Auto claude/022 chat config suggested question add option to defin

New Created comprehensive migration instructions and automated script: Highlights:
  • MIGRATION_INSTRUCTIONS.md with 4 application methods (Dashboard, CLI, psql, Node.js)
  • Scripts/apply-suggested-questions-migration.ts for automated migration application
  • Includes verification queries and rollback instructions
  • GetWidgetSettings uses .select(’*’) to fetch all columns including suggested_questions
  • RowToWidgetSettings correctly maps row.suggested_questions to suggestedQuestions

Auto claude/018 websources hold shift to mark multiple items in da

New
  • First click without anchor → normal toggle (null check in line 304)
Highlights:
  • Added useEffect to reset lastSelectedIndex when pagination, filters, or sorting changes
  • Prevents incorrect range selection after data changes
  • Edge cases verified:
  • First click without anchor → normal toggle (null check in line 304)
  • Shift-click same row → toggle only (Math.min/max handles this)

Auto claude/024 chat config add possibility to define welcome mess

New This enhancement enables a more personalized user experience in the chat widget. Highlights:
  • Add validation and XSS protection to welcome message (qa-requested)
  • Add 500-character limit validation to welcome message Textarea
  • Add character counter UI (X/500 characters)
  • Add XSS sanitization on frontend (strips HTML, blocks dangerous patterns)
  • Add XSS validation on backend (rejects script/iframe/javascript:)

Auto-claude/019-sidebar-add-a-small-indicator-to-the-sidebar-line-

New Added a GripVertical icon indicator to the collapsed sidebar rail that: Highlights:
  • Shows only when sidebar is collapsed
  • Centered vertically on the rail
  • Has hover states (background color change, scale animation, icon opacity increase)
  • Uses existing design tokens for consistency
  • Maintains accessibility with proper aria labels

Auto claude/020 websources add feedback to user when deleting a lot of sources

New Added new functionality for auto claude/020 websources add feedback to user when deleting a lot of sources. Highlights:
  • Modified useConfirmDialog hook to keep dialog open during loading
  • Added updateLoadingState and closeDialog functions to hook
  • Updated handleBulkDelete to use loading state with spinner
  • Updated handleDeleteSingleSource to use loading state
  • Removed isDeleting state variable (now managed by hook)

Integrate PostHog for event tracking and analytics

New This integration aims to improve user behavior insights and enhance analytics capabilities within the application. Highlights:
  • Integrate PostHog for event tracking and analytics
  • Added PostHog JavaScript SDK to the project, enabling event tracking across various user interactions.
  • Implemented event captures for user actions such as password reset requests, sign-ins, sign-ups, agent creations, workspace creations, and more.
  • Updated configuration in next.config.ts to support PostHog’s API requirements.
  • Enhanced error handling by capturing exceptions with PostHog in relevant components.

Auto claude/014 web sources training ux plan for implementation no

New Added completedSourceCount, failedSourceCount, pendingSourceCount, and Highlights:
  • Replace single combined query with 4 parallel queries using Promise.all
  • Query each status separately: completed, pending, processing, failed
  • Populate individual count state variables (completedSourceCount, pendingSourceCount, processingSourceCount, failedSourceCount)
  • Maintain backward compatibility by keeping pendingOrFailedCount computed from pending + failed
  • Add comprehensive error handling for all queries

Auto claude/017 Replace source URL action with preview button

New Added new functionality for auto claude/017 replace source url action with preview button. Highlights:
  • Correct preview content fetching and add disabled state styling (qa-requested)
  • Replace non-existent API endpoint /api/sources/${id}/content with direct fetch from source.storageUrl
  • Add disabled state visual styling (opacity-50, pointer-events-none, cursor-not-allowed) to Eye icon
  • Preview now fetches content directly from Supabase storage URL
  • Eye icon displays grayed out for pending/processing/failed sources

Auto claude/012 domain mapping add same filter functions to mappin

New Add useEffect to sync excluded URLs back to mappedUrls in onboarding Highlights:
  • Add useState for searchFilter and excludeFilter state variables
  • Add Accordion imports from @/components/ui/accordion
  • Add useMemo import to support memoized filtering
  • Implement filteredUrls useMemo following PendingSourcesTable pattern
  • Apply search filter: case-insensitive URL matching

Add source_url column and status-aware duplicate detection

New Verification completed: No references to agent_source_origins found in src/ directory. Highlights:
  • Import classifyUrls function and ClassifyUrlsResponse type
  • Add classifyAndCreatePendingSources helper function to classify URLs and convert to PendingSource objects
  • Update manual URL discovery to classify URLs before adding
  • Update Quick Scan (crawl_simple) to classify URLs before adding
  • Update Deep Scan (crawl_advanced) to classify URLs after crawl completion

Auto claude/011 the onboarding process is broken probably because

New Added new functionality for auto claude/011 the onboarding process is broken probably because. Highlights:
  • Changed from querying agent_source_groups (removed table) to agent_source directly
  • Query sources by agent_id instead of group_id
  • Uses withValidation pattern with agentIdParamsSchema for consistency
  • Maintains same response shape for backwards compatibility with frontend
  • Remove group_id field from AgentSourceRow interface

Auto-claude: subtask-1-1 - Add removedUrls state and X button to each…

New
  • group class on tr for hover detection
Highlights:
  • Added removedUrls state using useState<Set<string>> to track manually removed URLs
  • Added handleRemoveUrl function to add URLs to the removed set
  • Updated filteredResults useMemo to exclude removed URLs before applying filter text
  • Added X button column to table header
  • Added X button to each URL row with DomainMapper-style hover effects:

Unify URL input across web source components, add validation to Website Scan

New Added new functionality for unify url input across web source components, add validation to website scan. Highlights:
  • Unify URL input across web source components, add validation to Website Scan
  • Add debounced validation with error display to DomainMapper (Website Scan)
  • Remove protocol selector from SitemapSection and CrawlSection
  • Replace URLInput with simple Input, auto-prepend https:// when needed
  • All three components now have consistent URL input behavior

New Add imports for preview functionality: Highlights:
  • ReactMarkdown from react-markdown for markdown rendering
  • RemarkGfm from remark-gfm for GitHub-flavored markdown support
  • ScrollArea from @/components/ui/scroll-area for scrollable content
  • ArrowLeft icon from lucide-react for back button
  • Id: string - Source identifier

Trim url input, add debouncing, move validation to util function

New Add URL utilities library with three functions: Highlights:
  • NormalizeDomain(): Extract main domain from URL, removing protocol and paths
  • IsValidDomain(): Validate domain/URL strings using validator library
  • SanitizeUrlInput(): Sanitize user input for URL fields, removing dangerous characters
  • Remove local normalizeDomain function definition
  • Import normalizeDomain from shared @/lib/url-utils module

Add advanced options accordeon

New Added new functionality for add advanced options accordeon. Highlights:
  • Refactor: replace Collapsible with Accordion in CrawlSection and SinglePageSection
  • Updated CrawlSection and SinglePageSection components to use Accordion for advanced options instead of Collapsible, enhancing UI consistency and user experience.
  • Removed unused state management related to advanced options visibility.
  • Added new entries to .gitignore for .auto-claude-status and .claude_settings.json to prevent tracking of additional files.
  • Add documentation for Server-Side Authentication and Supabase setup

Update WebsiteSection component with new tab structure and content

New Added new functionality for update websitesection component with new tab structure and content. Highlights:
  • Changed default tab from “crawl” to “website-scan” and added a new “Advanced Website Scan” tab.
  • Updated tab labels for clarity: “Crawl” to “Website Scan”, “Single Page” to “Manual URLs”, and added a description for the website scan feature indicating it is under development.
  • Introduced a placeholder card for the website scan feature, indicating that Firecrawl mapping is coming soon.

Implemented web sources followup tickets

New Added new functionality for implemented web sources followup tickets. Highlights:
  • Implemented web sources followup tickets
  • Moved train button up

December 2025

Resolve name input dialog refresh bug on typing

Fix Resolve pending promise before opening new dialog to prevent memory leaks Highlights:
  • Resolve name input dialog refresh bug on typing
  • Simplified useNameInputDialog hook to return JSX element instead of component
  • Removed overcomplicated useMemo/useCallback pattern that caused component remounting
  • Fixed issue where typing in the agent name field caused page refresh and text re-selection
  • Root cause: returning a function (component) from hook caused React to treat it as new component on each render

Rename organization to workspace across codebase

Improved Improved rename organization to workspace across codebase for better user experience. Highlights:
  • Update Better Auth schema to use workspace tables:
  • Organization -> workspace
  • Member -> workspace_member (organizationId -> workspaceId)
  • Invitation -> workspace_invitation (organizationId -> workspaceId)
  • Update JWT payload to use ‘workspace’ key instead of ‘org’

Add loading states to selectors and fix workspace/agent name sync

Fix The derived state pattern automatically clears the loading spinner when: Highlights:
  • Add loading states to selectors and fix workspace name sync
  • Add loading spinner to WorkspaceSelector when switching workspaces
  • Add loading spinner to AgentSelector when selecting an agent
  • Add loading spinner to AgentsList cards when clicking on an agent
  • Fix workspace name not updating in dropdown after rename (refetch workspaces list)

Implement Workspace domain layer

New
  • types.ts: Domain types (Workspace, WorkspaceMember, WorkspaceInvite, etc.)
Highlights:
  • Implement Workspace domain layer
  • Create Workspace domain module (src/lib/workspace/)
  • Types.ts: Domain types (Workspace, WorkspaceMember, WorkspaceInvite, etc.)
  • Better-auth-adapter.ts: ONLY file using authClient.organization.* APIs
  • Workspace-service.ts: Public service functions for workspace operations

Restructure UI menu layout with fixed header and improved navigation

New Added new functionality for restructure ui menu layout with fixed header and improved navigation. Highlights:
  • Restructure UI menu layout with fixed header and improved navigation
  • Add fixed top header with favicon, workspace selector, and agent selector
  • Implement breadcrumb-style navigation (workspace / agent)
  • Add UserMenu component for profile settings and sign out
  • Create dedicated /agents/new page for agent creation options

Add Create Agent card with blank and onboarding options

New
  • Create blank agent (prompts for name, uses default settings)
Highlights:
  • Add Create Agent card with blank and onboarding options
  • Add CardCreateAgent component with two creation options:
  • Create blank agent (prompts for name, uses default settings)
  • Create with Onboarding (navigates to existing onboarding flow)
  • Add POST /api/agents endpoint for blank agent creation

Add dynamic bubble icon support in chat widget

New Added new functionality for add dynamic bubble icon support in chat widget. Highlights:
  • Add dynamic bubble icon support in chat widget
  • Implemented functionality to update the bubble icon based on the bubbleIconUrl provided in updates.
  • Added a helper function to generate a default bubble icon SVG.
  • Enhanced the embed.js to handle bubble icon updates and fallback to the default icon if the custom URL fails to load.
  • Updated the config updater to notify the parent window of bubble icon changes.

Improve widget styling UI and add bubbleIconUrl field

New Added new functionality for improve widget styling ui and add bubbleiconurl field. Highlights:
  • Shrink AppearanceCard (light/dark toggle) by ~50%
  • Shrink ColorSettingRow color pickers from w-12/w-10 to w-8/w-6
  • Shrink brand color picker in main page
  • Add bubbleIconUrl input field with reset button for custom chat bubble icons
  • Reduce embedded code font size from text-sm to text-xs

Implement t3env env handling

New The new names are more descriptive and follow Azure’s official naming convention. Highlights:
  • Implement type-safe environment variable management with t3-env
  • Replace direct process.env access with @t3-oss/env-nextjs for type safety
  • Add runtime validation using Zod for all environment variables
  • Create centralized env-config.ts with server and client variable separation
  • Add env.example file documenting all required environment variables

Improve conversations UI with AI Elements and compact details view

Improved Improved improve conversations ui with ai elements and compact details view for better user experience. Highlights:
  • Fixed message styling to properly use AI Elements components from Vercel
  • Moved timestamps below all messages for consistency (industry standard)
  • Reduced message bubble padding and improved spacing
  • Updated MessageContent max-width from 80% to 75%
  • Improved Response component with better typography and spacing

Removed plural dependency

New Added new functionality for removed plural dependency. Highlights:
  • Removed plural dependency
  • Replaced sender email for resend api;
  • Removed redundant avatar methods
  • Ticket-86c71v1rn: avatar table db schema changes
  • Added user.id for organization slug to allow have multiple orgas with same name

Fix React Server Components CVE vulnerabilities

Fix Updated dependencies to fix Next.js and React CVE vulnerabilities. Highlights:
  • React-server-dom-webpack
  • React-server-dom-parcel
  • React-server-dom-turbopack

Fixed magic and reset password features for better-auth

Fix Fixed an issue with fixed magic and reset password features for better-auth.

Add unified chat API with multi-provider agents and observability

Integration Updated integration for add unified chat api with multi-provider agents and observability. Highlights:
  • Enhance Chat API with system prompt caching and PostgreSQL integration
  • Introduced a new function to manage system prompt caching, ensuring prompts are fetched only once per thread and stored in thread metadata.
  • Updated the Chat API to utilize the cached system prompt, reducing redundant fetches and improving performance.
  • Refactored memory persistence to use PostgreSQL (Supabase) instead of LibSQL, aligning with serverless deployment requirements.
  • Enhanced logging to provide detailed information on thread creation and system prompt usage.

November 2025

Chatbubble integration

Integration Updated integration for chatbubble integration. Highlights:
  • Refactor chat widget deployment page and update sidebar navigation
  • Implemented better-auth
  • Trying to fix redirect after success login
  • Second attempt for fix login method
  • Implemented organisations api

Fixed issue with cached injectScript

Fix Fixed an issue with fixed issue with cached injectscript. Highlights:
  • Fixed issue with cached injectScript
  • Refactor: enhance cleanup logic in AvatarWidget during initialization
  • Added a check for the initialization state to prevent race conditions during cleanup.
  • Updated the cleanup function to reset global state if initialization fails, allowing for retry on next mount.
  • Improved handling of pending timeouts to ensure proper cleanup and state management.

Update iframe and bubble positioning and sizing

Fix Fixed an issue with update iframe and bubble positioning and sizing. Highlights:
  • Set iframe to 1rem distance from right/left and bottom edges
  • Desktop bubble: 80px with 5px distance from iframe edges
  • Mobile bubble: 55px with 5px distance from iframe edges
  • Updated collapsed dimensions to accommodate bubble + padding
  • Changed positioning to use rem units for better scalability

Mobile fullscreen chat widget with header buttons

New Added new functionality for mobile fullscreen chat widget with header buttons. Highlights:
  • Remove mobile sidebar completely
  • Move buttons (Language, New Chat, Close) to ChatHeader for mobile
  • Make chat widget fullscreen on mobile (no margins, no border-radius)
  • Language selection replaces chat view (not a dialog)
  • Add X button to language view to return to chat

Refactor icons in PromptInput and ChatHeader components. Replaced CornerDownLeftIcon with Send in PromptInputSubmit. Updated ChatHeader to use Bot and BotOff icons for avatar toggling, and changed MessageSquarePlus to RotateCcw for new chat button.

Improved Improved refactor icons in promptinput and chatheader components. replaced cornerdownlefticon with send in promptinputsubmit. updated chatheader to use bot and botoff icons for avatar toggling, and changed messagesquareplus to rotateccw for new chat button. for better user experience.

UI updates 2

New Added new functionality for ui updates 2. Highlights:
  • Enhance widget configuration and UI components
  • Added new dependencies for improved UI elements, including @ai-sdk/react and various Radix UI components.
  • Refactored the widget API to transform and return clean settings, hiding internal database structure.
  • Introduced a new PromptInput component for better user interaction in chat.
  • Updated ChatBubble and ChatWidget styles for improved responsiveness and visual consistency.

Add global initialization state to AvatarWidget to prevent double loa…

New Added new functionality for add global initialization state to avatarwidget to prevent double loa…. Highlights:
  • Add global initialization state to AvatarWidget to prevent double loading
  • Introduced a global state management system to track the initialization status of the AvatarWidget.
  • Added checks to prevent concurrent initialization and handle duplicate iframe instances.
  • Updated iframe handling logic to ensure only one instance exists and is correctly positioned.
  • Enhanced script loading logic to synchronize state across multiple renders.

Update chat widget configuration and appearance

New Added new functionality for update chat widget configuration and appearance. Highlights:
  • Update chat widget configuration and appearance
  • Changed chat bubble position from bottom-left to bottom-right in the documentation.
  • Enhanced viewport settings in layout for better mobile experience.
  • Implemented theme toggling functionality in the test embed page, allowing users to switch between light and dark modes.
  • Updated chat configuration to support new properties and improved theme handling.