- Updated the EditorPanelContent to streamline the header layout and improve button styling for closing the panel.
- Adjusted the grid layout for better alignment and spacing, enhancing the overall user experience.
- Integrated a vertical separator with updated styling for a more cohesive design.
- Eliminated references to document editing in DocumentNode, FolderTreeView, and DocumentsSidebar for a cleaner interface.
- Updated DocumentNode to enhance accessibility with keyboard interactions and improved click handling.
- Adjusted layout in AllChatsSidebar and MobileSidebar for better user experience and consistency across components.
- Eliminated DocumentsSidebar and related state management from FreeLayoutDataProvider and LayoutDataProvider for a cleaner architecture.
- Updated Sidebar and MobileSidebar components to remove unused props and improve layout consistency.
- Adjusted navigation item handling to simplify sidebar interactions and enhance user experience.
- Deleted the Agent Status page and its associated content component from the user settings.
- Updated UserSettingsLayoutShell to remove references to Agent Status, ensuring a cleaner user interface.
- This change simplifies the user settings by focusing on more relevant features.
- Introduced a comprehensive specification for renaming `searchSpace` to `workspace` in `surfsense_web` and `surfsense_desktop`, ensuring all TypeScript identifiers, React props, and local data structures are updated.
- Implemented migration shims for persisted local state to prevent data loss during the transition.
- Updated observability metrics and IPC channels to reflect the new naming convention.
- Removed legacy `active-search-space` module and replaced it with `active-workspace` to maintain consistency.
- Ensured no behavioral changes or data loss for users during the renaming process.
- Introduced a new state for detecting the artifacts page in LayoutDataProvider.
- Simplified the EmptyState component in ArtifactsLibrary for a cleaner presentation.
- Improved header layout in ArtifactsLibrary for better responsiveness and visual clarity.
- Updated section classes in UserSettingsLayoutShell and WorkspaceSettingsLayoutShell for better alignment.
- Adjusted padding in LayoutDataProvider for improved spacing on team and automation pages.
- Enhanced AllChatsSidebar layout by removing unnecessary height constraints for a more flexible design.
- Enhanced padding and gap in AllChatsSidebar for improved layout consistency.
- Adjusted skeleton and button sizes for better usability in chat components.
- Refactored folder type validation to ensure search_space_id is set based on workspace_id when missing.
- Removed unnecessary min-height and overflow properties in FolderTreeView and DocumentsSidebar for cleaner layout.
- Updated AllChatsSidebar to improve header styling and adjust padding for better visual consistency.
- Enhanced input and button sizes for improved usability across chat components.
- Removed unnecessary filtering logic in FolderTreeView to simplify document rendering.
- Updated DocumentsSidebar to eliminate redundant props and enhance layout consistency.
- Adjusted Sidebar component to conditionally render DocumentsSidebar based on the documentsPanel state.
- Added the ensure_publication function to create and verify the zero_publication if it is missing, ensuring idempotency during database initialization.
- Integrated ensure_publication into the create_db_and_tables function to prevent zero-cache crash loops on startup.
- Introduced a self-check script to validate the ensure_publication functionality on a create_all-bootstrapped database.
- Updated various components to reflect the transition from search space to workspace, including adjustments in imports and routing paths.
- Added SidebarListItem component to standardize the appearance of sidebar items across DocumentNode and FolderNode.
- Refactored DocumentNode and FolderNode to utilize SidebarListItem for improved layout and interaction.
- Updated ChatListItem to leverage sidebarListItemClassName for consistent styling.
- Enhanced SidebarSection to improve content rendering and visibility transitions.
- Replaced div wrappers in AuthenticatedDocumentsSidebarBase and AnonymousDocumentsSidebar with SidebarSection for better structure and consistency.
- Updated EmbeddedDocumentsMenu to enhance document management functionality.
- Changed icon from MoreHorizontal to SlidersVertical for improved visual representation.
- Adjusted SidebarSection styling for better alignment and spacing.
- Introduced EmbeddedDocumentsMenu component to facilitate document type filtering and folder creation.
- Updated AuthenticatedDocumentsSidebarBase and AnonymousDocumentsSidebar to integrate the new menu.
- Enhanced UI with dropdown functionality for improved user experience in document management.
- Updated the FolderTreeView component to clarify upload instructions.
- Introduced a new renderDocumentTree function in DocumentsSidebar for better organization and readability.
- Refactored the Sidebar component to utilize SidebarSection for improved layout consistency.
- Added contentClassName prop to SidebarSection for flexible styling options.
- Introduced a new dropdown menu item for managing connectors in the ComposerAction component.
- Removed unused upload button and related props from the DocumentsFilters component for improved clarity and simplicity.
- Updated LayoutDataProvider and RightPanel components to streamline state management and enhance layout consistency.
- Simplified the TeamPage function parameter destructuring for better readability.
- Updated LayoutDataProvider to increase maximum width for specific pages, enhancing layout consistency.
- Adjusted ZeroProvider state management to use undefined instead of null for clarity in context handling.
- Implemented a dropdown menu to filter between active and archived chats.
- Removed the previous tabbed interface for filtering and replaced it with a more intuitive dropdown.
- Updated layout and styling for better user experience.
- Integrated Reddit link into the CommunityStrip component for enhanced community engagement.
- Updated the FooterNew component to include a Reddit section with the corresponding icon.
- Modified JSON-LD structured data to include the Reddit URL for improved SEO and social media presence.
- Introduced a new schema structure for API connectors, including request and response fields.
- Updated connector implementations for Google Maps, Google Search, Reddit, Web Crawl, and YouTube to include detailed schema information.
- Enhanced the ConnectorPage component to render request and response schemas dynamically.
- Added SchemaField interface to standardize schema field definitions across connectors.
- Updated component props across multiple files to replace searchSpaceId with workspaceId for consistency.
- Adjusted internal logic to maintain functionality while aligning with the new terminology.
- Changed references from "search space" to "workspace" in various components for consistency.
- Updated the LayoutDataProvider to handle workspace data more effectively.
- Adjusted UI elements in IconRail and MobileSidebar to reflect the new terminology.
- Modified messages in the localization file to align with the updated terminology.
- Added activeWorkspaceIdAtom as a reference to activeSearchSpaceIdAtom.
- Refactored the UserTextPart component in user-message.tsx to simplify icon determination and tooltip logic, enhancing code clarity and maintainability.
- Updated the pricing page to include improved SEO metadata, including title, description, and keywords.
- Added structured data using JsonLd for better search engine visibility.
- Revised pricing plan descriptions and features for clarity and accuracy.
- Enhanced link behavior for external pricing links to open in a new tab with appropriate security attributes.
- Updated FAQ sections to reflect changes in credit and billing explanations.
- Introduced new skills in the skills-lock.json for animation vocabulary, emil design engineering, and review animations, enhancing the skill set available for users.
- Homepage rebuilt around competitive-intelligence positioning: connector grid,
how-it-works, use-case art, compare table, FAQ, and a scripted new-chat hero
demo (typewriter prompt, agent timeline, streamed answer, /login on send)
- Marketing pages for the Reddit/YouTube/Maps/SERP/Web Crawl scrape APIs at
/<slug>, a /connectors hub, and a bespoke /mcp-connector page
- Remove stale app/dashboard/[search_space_id] tree that broke the build
(canonical route is [workspace_id])
Co-authored-by: Cursor <cursoragent@cursor.com>
MCP consolidation:
- Route all MCP-capable connectors (Slack, Jira, Linear, ClickUp, Airtable,
Notion, Confluence, interim Gmail/Calendar, custom MCP) through a single
`mcp_discovery` subagent. Drive/OneDrive/Dropbox stay native to enrich the KB.
- Deprecate Discord/Teams/Luma: no viable official MCP server.
Google-only web search:
- Remove the main-agent `web_search` tool and the SearXNG platform service;
all public web search now flows through the `google_search` subagent via task().
- Deprecate the Tavily/SearXNG/Linkup/Baidu search connectors (HTTP 410 on
create, "Deprecated" badge); guide heavy users to the custom MCP connector.
- Remove web search from anonymous chat (pure Q&A).
- Tear SearXNG out of docker compose + install scripts; drop tavily-python
and linkup-sdk deps and their config/env vars.
Fix:
- metrics._package_version() now swallows any metadata lookup failure. A
malformed editable-install distribution with no `Version` field raised
KeyError deep in importlib.metadata, and since it runs on every
record_subagent_invoke_duration call it was crashing every task()
delegation. Verified end-to-end against live GPT-5.4.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated proxy configuration in `.env.example` files to use `PROXY_URL` and `PROXY_URLS` instead of `CUSTOM_PROXY_URL` and `CUSTOM_PROXY_URLS`.
- Introduced `DataImpulseProvider` for proxy management, replacing the deprecated `AnonymousProxiesProvider`.
- Enhanced documentation to reflect changes in proxy setup and usage.
- Adjusted related code in the proxy registry and configuration files to support the new provider structure.
The chat composers submit on Enter without checking whether an IME
composition is active. For Japanese/Chinese/Korean input, pressing Enter
to confirm a conversion fires the submit handler and sends a half-typed
message. Guard the Enter handlers with e.nativeEvent.isComposing in the
main chat editor, the anonymous free composer, and the mention/prompt
picker key navigation.
- Increased ACCESS_TOKEN_LIFETIME_SECONDS from 30 minutes to 60 minutes for improved session duration.
- Introduced getRequestHeadersWithCurrentDesktopAuth function to streamline authorization header management across fetch requests in the chat page.