mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
ea21de8311a2b7252b8ebed18e0eb57dd4dce958
86 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
cc1d5b497a |
feat(server): cleanup trashed doc's embedding (#13201)
fix AI-359 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added automated cleanup of embeddings for documents deleted or trashed from workspaces. * Introduced a new job to schedule and perform this cleanup per workspace daily and on demand. * Added new GraphQL mutation to manually trigger the cleanup process. * Added the ability to list workspaces with flexible filtering and selection options. * **Improvements** * Enhanced document status handling to more accurately reflect embedding presence. * Refined internal methods for managing and checking document embeddings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8e374f5517 |
feat(server): skip embedding for deprecated doc ids & empty docs (#13211)
fix AI-367 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved document filtering to exclude settings documents and empty blobs from embedding and status calculations. * Enhanced embedding jobs to skip processing deprecated documents if a newer version exists, ensuring only up-to-date documents are embedded. * **New Features** * Added a mutation to trigger the cron job for generating missing titles. * **Tests** * Added test to verify exclusion of documents with empty content from embedding. * Updated embedding-related tests to toggle embedding state during attachment upload under simulated network conditions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
812c199b45 |
feat: split individual semantic change (#13155)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a new AI-powered document update feature, allowing users to apply multiple independent block-level edits to Markdown documents. * Added support for applying document updates via a new GraphQL query, enabling seamless integration with the frontend. * **Enhancements** * Improved the document editing tool to handle and display multiple simultaneous edit operations with better UI feedback and state management. * Expanded model support with new "morph-v3-fast" and "morph-v3-large" options for document update operations. * Enhanced frontend components and services to support asynchronous application and acceptance of multiple document edits independently. * **Bug Fixes** * Enhanced error handling and user notifications for failed document update operations. * **Documentation** * Updated tool descriptions and examples to clarify the new multi-edit workflow and expected input/output formats. <!-- end of auto-generated comment: release notes by coderabbit.ai --> > CLOSE AI-337 |
||
|
|
d5f63b9e43 |
fix(server): recent session missing params (#13188)
fix AI-349 |
||
|
|
2052a34d19 |
chore(server): add detail for error (#13151)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Error messages for unavailable copilot providers now include specific model IDs for clearer context. * Added new detailed error messages for embedding generation failures specifying provider and error details. * The API and GraphQL schema have been extended with new error types reflecting these detailed error cases. * **Bug Fixes** * Enhanced error handling to detect and report incomplete or missing embeddings from providers. * Added safeguards to skip embedding insertions when no embeddings are provided, preventing unnecessary processing. * **Documentation** * Updated localization and translation keys to support dynamic error messages with model IDs and provider details. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2dacba9011 |
feat(core): restore pinned chat for independent chat (#13154)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Improved chat session management by automatically restoring a pinned chat session when opening the workspace chat. * **Enhancements** * Added support for cancelling certain requests, improving responsiveness and user experience. * **Style** * Updated the label "AFFiNE Intelligence" to "Intelligence" in relevant UI components for a more concise display. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e0f88451e1 |
feat(core): render session title in ai session history (#13147)
Close [AI-331](https://linear.app/affine-design/issue/AI-331) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Improvements** * Session history now displays the session title (or "New chat" if unavailable) instead of the session ID for a clearer user experience. * **Performance** * Recent copilot chat session lists now load faster by excluding message details from the initial query. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f655e6e8bf |
feat(server): export title and summary on doc resolver (#13139)
close AF-2732 #### PR Dependency Tree * **PR #13139** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for a document summary field, allowing documents to include and display an optional summary alongside the title. * **Bug Fixes** * Improved access control when retrieving documents, ensuring proper permission checks are enforced. * **Tests** * Expanded test coverage to verify correct handling of document title and summary fields, including cases where the summary is absent. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
95f88c378c |
fix(server): use new LocalWorkspace ServerFeature instead (#13091)
keep compatibility close AF-2720 #### PR Dependency Tree * **PR #13091** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit * **New Features** * Added a new `LocalWorkspace` feature flag to server configuration, enabling more flexible feature management. * **Deprecations** * The `allowGuestDemoWorkspace` flag is now deprecated and will be removed in version 0.25.0. Please use the `features` array for feature checks instead. * **Bug Fixes** * Updated UI and logic throughout the app to rely on the new `LocalWorkspace` feature flag rather than the deprecated boolean flag. * **Chores** * Removed references to `allowGuestDemoWorkspace` from configuration, queries, and type definitions for improved consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> #### PR Dependency Tree * **PR #13091** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) |
||
|
|
6dac94d90a |
feat(server): paginated list endpoint (#13026)
fix AI-323 |
||
|
|
db79c00ea7 |
feat(server): support read all notifications (#13083)
close AF-2719 #### PR Dependency Tree * **PR #13083** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added the ability to mark all notifications as read with a single action. * **Bug Fixes** * Ensured notifications marked as read are no longer shown as unread. * **Tests** * Introduced new tests to verify the functionality of marking all notifications as read. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0833d0314c |
feat(core): reply actions (#13071)
fix AF-2717, AF-2716 #### PR Dependency Tree * **PR #13071** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit * **New Features** * Introduced full editing, replying, and deletion capabilities for individual replies within comments, with consistent UI and state management. * Added support for editing drafts for both comments and replies, allowing users to start, commit, or dismiss edits. * Improved editor focus behavior for a more seamless editing experience. * Added permission checks for comment and reply creation, editing, deletion, and resolution, controlling UI elements accordingly. * Refactored reply rendering into dedicated components with enhanced permission-aware interactions. * **Bug Fixes** * Enhanced comment normalization to handle cases where content may be missing, preventing potential errors. * **Style** * Updated comment and reply UI styles for clearer editing and action states, including new hover and visibility behaviors for reply actions. * **Chores** * Removed unnecessary debugging statements from reply configuration. <!-- end of auto-generated comment: release notes by coderabbit.ai --> #### PR Dependency Tree * **PR #13071** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) |
||
|
|
296089efc9 |
feat(core): add comment notification settings (#13029)
 #### PR Dependency Tree * **PR #13029** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added an option in user settings to enable or disable email notifications for comments on your documents. * Updated the user interface to include a toggle for comment email notifications. * Extended GraphQL queries and schema to support the new comment email notification setting. * **Localization** * Added new English translations for comment email notification settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2ea3c3da9d |
feat(server): expose reuse latest chat (#12999)
fix AI-289 |
||
|
|
2ae3c3e2cd |
feat(server): deprecate blob id provide by client (#12991)
fix AI-287 |
||
|
|
aa7edb7255 |
chore(server): add comment server feature flags (#12993)
https://github.com/toeverything/AFFiNE/pull/12989#discussion_r2180167232 #### PR Dependency Tree * **PR #12993** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * The "Comment" feature is now recognized as a server feature and is enabled by default. * The server configuration and API schema have been updated to include the "Comment" feature. * **Tests** * Added a new end-to-end test to verify that the "Comment" feature is enabled by default. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a2810f3f61 |
feat(server): send comment notifications (#12925)
close CLOUD-228 #### PR Dependency Tree * **PR #12924** * **PR #12925** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) |
||
|
|
7ed72ed1d0 |
feat(server): support comment notification type (#12924)
#### PR Dependency Tree * **PR #12924** 👈 * **PR #12925** This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced comment and comment mention notifications, including email notifications when users are mentioned or receive comments on documents. * Added new email templates for comment and comment mention notifications. * Users can now control whether they receive comment-related emails via a new user setting. * **Bug Fixes** * None. * **Documentation** * Updated GraphQL schema documentation to reflect new notification types and user settings. * **Refactor** * Streamlined and enhanced test coverage for notification and user settings, including comment notifications. * **Chores** * Improved test setup and snapshot coverage for user settings and notifications. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2aa5c13082 |
feat(server): comment service and resolver (#12761)
close CLOUD-227 close CLOUD-230 #### PR Dependency Tree * **PR #12761** 👈 * **PR #12924** * **PR #12925** This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced a comprehensive commenting system, enabling users to create, update, resolve, and delete comments and replies on documents. * Added support for uploading attachments to comments, with clear error messaging if size limits are exceeded. * Implemented role-based permissions for comment actions, including a new "Commenter" role. * Enabled paginated listing and change tracking of comments and replies via GraphQL queries. * Provided full localization and error handling for comment-related actions. * **Bug Fixes** * Improved uniqueness handling when fetching user data for comments and replies. * **Documentation** * Extended GraphQL schema and frontend localization to document and support new comment features. * **Tests** * Added extensive backend test suites covering all comment and reply functionalities, permissions, and attachment uploads. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0326da0806 |
feat(server): add typed list session gql (#12979)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Introduced new API endpoints and GraphQL queries to retrieve Copilot chat sessions by workspace, document, and pinned status, with detailed session and message information. * Added support for filtering and querying Copilot chat histories with new options such as pinned status and message ordering. * **Bug Fixes** * Improved filtering logic for listing and retrieving chat sessions, ensuring accurate results for workspace, document, and pinned session queries. * **Tests** * Expanded and refactored test coverage for session listing, filtering, and new query options to ensure reliability and correctness of Copilot session retrieval. * Updated snapshot data to reflect new session types and filtering capabilities. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e8bc8f2d63 |
feat(server): add comment-attachment storage (#12911)
close CLOUD-230 #### PR Dependency Tree * **PR #12911** 👈 * **PR #12761** * **PR #12924** * **PR #12925** This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added support for uploading and retrieving comment attachments in workspace documents via a new API endpoint. * Introduced a service for managing comment attachments, including storage, retrieval, deletion, and URL generation. * Implemented localized error messages and improved error handling for missing comment attachments. * **Bug Fixes** * Improved error feedback when comment attachments are not found. * **Tests** * Added comprehensive tests for comment attachment storage, retrieval, deletion, API endpoint behavior, and permission checks. * **Documentation** * Updated GraphQL schema and localization files to include new error types for comment attachments. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6e034185cf |
feat: title of session (#12971)
fix AI-253 |
||
|
|
82b3c0d264 |
feat(core): add allowGuestDemoWorkspace flag to force login (#12779)
https://github.com/user-attachments/assets/41a659c9-6def-4492-be8e-5910eb148d6f This PR enforces login‑first access (#8716) by disabling or enabling the guest demo workspace via Admin Server Client Page and redirecting unauthenticated users straight to `/sign‑in`. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a configuration option to control whether guest users can create demo workspaces. * Updated server and client interfaces, GraphQL schema, and queries to support the new guest demo workspace flag. * **Bug Fixes** * Improved sign-out behavior to redirect users appropriately based on guest demo workspace permissions. * Enhanced navigation flow to handle guest demo workspace access and user authentication state. * **Tests** * Added tests to verify sign-out logic when guest demo workspaces are enabled or disabled. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: liuyi <forehalo@gmail.com> Co-authored-by: fengmk2 <fengmk2@gmail.com> |
||
|
|
e2a799c70a |
feat(server): comment model (#12760)
close CLOUD-226 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced support for comments and replies within workspaces and documents, enabling users to create, update, delete, and resolve comments, as well as manage threaded replies. - **Bug Fixes** - Added user-friendly error messages and handling for situations where comments or replies are not found. - **Tests** - Added comprehensive tests to ensure correct behavior of comment and reply operations. - **Localization** - Added English translations for new comment and reply error messages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> #### PR Dependency Tree * **PR #12760** 👈 * **PR #12909** * **PR #12911** * **PR #12761** * **PR #12924** * **PR #12925** This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) |
||
|
|
06f27e8d6a |
feat(server): allow multiple session attach to doc (#12933)
fix AI-236 |
||
|
|
9e1fa23c5e | chore: bump base version | ||
|
|
011f92f7da |
feat(server): add search docs by keyword gql api (#12866)
close AI-220 #### PR Dependency Tree * **PR #12866** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new document search capability, allowing users to search for documents by keyword within a workspace. - Search results include document details such as title, highlights, creation and update timestamps, and creator/updater information. - Added support for limiting the number of search results returned. - **Tests** - Added comprehensive end-to-end and snapshot tests to ensure accuracy and access control for the new search functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c7113b0195 |
feat(server): add pinned & action filter for session query (#12876)
fix AI-222 |
||
|
|
ad5722f637 |
feat(server): get recently updated docs (#12861)
close AI-218 #### PR Dependency Tree * **PR #12861** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a "Recently Updated Documents" feature, allowing users to view a paginated list of the most recently updated documents within a workspace. - Document metadata now includes a "title" field for easier identification. - **Tests** - Introduced new end-to-end tests to verify the recently updated documents query and its pagination behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
bd04930560 |
feat(server): allow chat session dangling & pin session support (#12849)
fix AI-181 fix AI-179 fix AI-178 fix PD-2682 fix PD-2683 |
||
|
|
6169cdab3a |
feat(core): add stream object api (#12841)
Close [AI-193](https://linear.app/affine-design/issue/AI-193) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for streaming structured AI chat responses as objects, enabling richer and more interactive chat experiences. - Chat messages now include a new field displaying structured stream objects, such as reasoning steps, text deltas, tool calls, and tool results. - GraphQL APIs and queries updated to expose these structured streaming objects in chat histories. - Introduced a new streaming chat endpoint for object-based responses. - **Bug Fixes** - Improved error handling for streaming responses to ensure more robust and informative error reporting. - **Refactor** - Centralized and streamlined session preparation and streaming logic for AI chat providers. - Unified streaming setup across multiple AI model providers. - **Tests** - Extended test coverage for streaming object responses to ensure reliability and correctness. - **Documentation** - Updated type definitions and schemas to reflect new streaming object capabilities in both backend and frontend code. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
e118db4387 |
chore(ios): update gql schema (#12825)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced advanced search and aggregation capabilities, including support for new search query types, options, and pagination. - Added new GraphQL mutations and queries for managing workspace embedding files and ignored documents. - Extended user and workspace management with new fields and configuration options. - Added support for sending test emails and validating app configuration. - **Improvements** - Enhanced license management with updated fragments and additional fields. - Improved invitation and member management workflows, including removal of deprecated arguments and streamlined APIs. - Expanded support for audio transcription actions and retry functionality. - Added new enum values for OAuth providers, server features, and workspace member status. - **Removals** - Deprecated and removed legacy queries and mutations related to user roles and invitations. - **Bug Fixes** - Corrected field types and documentation comments for improved consistency and clarity. - **Other** - Numerous schema and type updates to support new features and enhance data modeling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
13fa4f922a | fix(server): token calculate (#12667) | ||
|
|
eb49ffaedb |
feat(core): support fork session without latestMessageId (#12587)
Close [AI-86](https://linear.app/affine-design/issue/AI-86) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved chat session forking to allow creating a fork without specifying the latest message, enabling more flexible session management. - **Bug Fixes** - Forking a chat session with an invalid latest message ID now correctly returns an error. - **Tests** - Added and updated test cases to cover session forking with missing or invalid latest message IDs, ensuring robust behavior in these scenarios. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f4e7595f4b |
feat(server): add copilot embedding feature (#12590)
fix AI-154 |
||
|
|
2f139bd02c |
chore(admin): remove useless config diff (#12545)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a GraphQL mutation to validate multiple app configuration updates, returning detailed validation results for each item. - Extended the API schema to support validation feedback, enabling client-side checks before applying changes. - Introduced a detailed, parameterized error message system for configuration validation errors. - Enabled validation of configuration inputs via the admin UI with clear, descriptive error messages. - **Improvements** - Enhanced error reporting with specific, context-rich messages for invalid app configurations. - Simplified admin settings UI by removing the confirmation dialog and streamlining save actions. - Improved clarity and maintainability of validation logic and error handling components. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
41781902f6 | feat(core): support apple sign in (#12424) | ||
|
|
f38b8fef4d |
feat(server): handle account deleting properly (#12399)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Users are now prevented from deleting their account if they own one or more team workspaces. A clear error message instructs users to transfer ownership or delete those workspaces first. - Disabled (banned) users are explicitly prevented from signing in or re-registering. - Added new error messages and translations to improve clarity around account deletion restrictions. - **Bug Fixes** - Disabled users are now explicitly handled to prevent sign-in attempts. - **Tests** - Introduced comprehensive end-to-end tests covering account deletion, banning, and re-registration scenarios. - **Chores** - Improved event handling for user deletion and subscription cancellation. - Updated localization resources with new error messages. - Renamed payment event handler class for clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
940ab69374 |
fix(admin): user count is out of sync and search results are not cached in account management (#11980)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved user management table with dynamic row count updates and enhanced synchronization of memoized user lists. - **Bug Fixes** - User count and displayed data now update immediately after user creation, deletion, or import, ensuring accurate and consistent information. - **Chores** - Enhanced internal state management for better responsiveness and reliability in the accounts section. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b388f92c96 |
feat(server): refactor provider interface (#11665)
fix AI-4 fix AI-18 better provider/model choose to allow fallback to similar models (e.g., self-hosted) when the provider is not fully configured split functions of different output types |
||
|
|
fcc9b31da9 |
feat(core): add get session graphql api (#12237)
Close [AI-116](https://linear.app/affine-design/issue/AI-116) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added the ability to retrieve detailed information for a specific Copilot session by its ID, including model metadata and optional models, via the user interface and API. - Session data now includes additional fields such as the model used and a list of optional models. - Enhanced GraphQL queries and UI components to support fetching and displaying these new session details. - **Improvements** - Session lists now provide richer information, including model details, for each session. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a1bcf77447 |
feat(server): add cloud indexer with Elasticsearch and Manticoresearch providers (#11835)
close CLOUD-137 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced advanced workspace-scoped search and aggregation capabilities with support for complex queries, highlights, and pagination. - Added pluggable search providers: Elasticsearch and Manticoresearch. - New GraphQL queries, schema types, and resolver support for search and aggregation. - Enhanced configuration options for search providers in self-hosted and cloud deployments. - Added Docker Compose services and environment variables for Elasticsearch and Manticoresearch. - Integrated indexer service into deployment and CI workflows. - **Bug Fixes** - Improved error handling with new user-friendly error messages for search provider and indexer issues. - **Documentation** - Updated configuration examples and environment variable references for indexer and search providers. - **Tests** - Added extensive end-to-end and provider-specific tests covering indexing, searching, aggregation, deletion, and error cases. - Included snapshot tests and test fixtures for search providers. - **Chores** - Updated deployment scripts, Helm charts, and Kubernetes manifests to include indexer-related environment variables and secrets. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
cecf545590 |
feat(server): improve context metadata & matching (#12064)
fix AI-20 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced file metadata with MIME type, blob ID, and file name across context and workspace, now visible in UI and API. - Added workspace-level matching for files and documents with configurable thresholds and workspace scoping in search queries. - Introduced a new error type and user-friendly messaging for global workspace context matching failures. - **Bug Fixes** - Improved consistent handling of file MIME types and nullable context IDs for accurate metadata. - **Documentation** - Updated GraphQL schema, queries, and mutations to include new metadata fields, optional parameters, and error types. - **Style** - Added new localization strings for global context matching error messages. - **Tests** - Extended test coverage with new and updated snapshot tests for metadata and matching logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
cfe7b7cf29 |
refactor(core): use workspace role query instead of isOwner query (#12118)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Updated workspace permission handling to use a unified role field within workspace data instead of separate admin and owner flags. - Permission checks now rely on the workspace role for determining admin and owner status. - **Chores** - Removed deprecated queries and types related to admin and owner status. - Cleaned up internal logic and variable naming for improved consistency. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
93e01b4442 |
feat(server): support installable license (#12181)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for installing self-hosted team licenses via encrypted license files. - Introduced a new "Onetime" license variant for self-hosted environments. - Added a GraphQL mutation to upload and install license files. - License details now display the license variant. - **Bug Fixes** - Improved error messages for license activation and expiration, including dynamic reasons. - **Localization** - Updated and improved license-related error messages for better clarity. - **Tests** - Added comprehensive end-to-end tests for license installation scenarios. - **Chores** - Enhanced environment variable handling and public key management for license verification. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3db91bdc8e | feat(server): expose threshold (#12023) | ||
|
|
cb49ab0f69 |
feat(server): rerank for matching (#12039)
fix AI-20 fix AI-77 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced relevance-based re-ranking for embedding results, improving the accuracy of content suggestions. - Added prioritization for workspace content that matches specific document IDs in search results. - Introduced a new scoped threshold parameter to refine workspace document matching. - **Improvements** - Increased default similarity threshold for file chunk matching, resulting in more precise matches. - Doubled candidate retrieval for file and workspace chunk matching to improve result quality. - Updated sorting to prioritize context-relevant documents in workspace matches. - Explicitly included original input content in re-ranking calls for better relevance assessment. - **Bug Fixes** - Adjusted re-ranking logic to return only highly relevant results based on confidence scores. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7c8b977bf9 | feat(core): migration for created by and updated by fields (#12171) | ||
|
|
52253e9e82 |
fix(nbstore): update workspace blob quota query (#12191)
Change the query for querying quota of Cloud Blob Storage. The original query used new fields, which caused errors in the old version of the server. This PR uses a simpler query to ensure compatibility. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added the ability to retrieve a workspace's blob storage quota, including both the raw limit and a human-readable format, via a new query. - **Bug Fixes** - Updated quota retrieval to use the new blob-specific quota query for improved accuracy. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
bcc728a929 |
chore: bump up all non-major npm dependencies (#12151)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@ai-sdk/google](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.14` -> `1.2.15`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.14/1.2.15) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.5` -> `5.0.6`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.5/5.0.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@graphql-codegen/typescript-operations](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`4.6.0` -> `4.6.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.6.0/4.6.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@react-email/components](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/components)) | [`0.0.36` -> `0.0.38`](https://renovatebot.com/diffs/npm/@react-email%2fcomponents/0.0.36/0.0.38) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.20` -> `1.2.21` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch | | [chrono](https://redirect.github.com/chronotope/chrono) | `0.4.40` -> `0.4.41` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [cssnano](https://redirect.github.com/cssnano/cssnano) | [`7.0.6` -> `7.0.7`](https://renovatebot.com/diffs/npm/cssnano/7.0.6/7.0.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`25.0.2` -> `25.1.1`](https://renovatebot.com/diffs/npm/i18next/25.0.2/25.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.3` -> `2.12.4`](https://renovatebot.com/diffs/npm/jotai/2.12.3/2.12.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.5.1` -> `15.5.2`](https://renovatebot.com/diffs/npm/lint-staged/15.5.1/15.5.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.503.0` -> `^0.507.0`](https://renovatebot.com/diffs/npm/lucide-react/0.503.0/0.507.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [react-email](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email)) | [`4.0.7` -> `4.0.11`](https://renovatebot.com/diffs/npm/react-email/4.0.7/4.0.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`3.3.0` -> `3.4.0`](https://renovatebot.com/diffs/npm/shiki/3.3.0/3.4.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.44.2` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor | | [uniffi](https://mozilla.github.io/uniffi-rs) ([source](https://redirect.github.com/mozilla/uniffi-rs)) | `0.29.1` -> `0.29.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/vitest/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [webpack](https://redirect.github.com/webpack/webpack) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [webpack](https://redirect.github.com/webpack/webpack) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.1.20-2.0.0` -> `2.1.20-2.0.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | patch | | [com.apollographql.adapters:apollo-adapters-kotlinx-datetime](https://redirect.github.com/apollographql/apollo-kotlin-adapters) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.apollographql.adapters:apollo-adapters-core](https://redirect.github.com/apollographql/apollo-kotlin-adapters) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.apollographql.apollo](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | minor | | [com.apollographql.apollo:apollo-runtime](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [com.apollographql.apollo:apollo-api](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>vercel/ai (@​ai-sdk/google)</summary> ### [`v1.2.15`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.15) [Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.14...@ai-sdk/google@1.2.15) ##### Patch Changes - [`2afd354`](https://redirect.github.com/vercel/ai/commit/2afd354): fix(providers/google): accept nullish in safetyRatings </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/cli)</summary> ### [`v5.0.6`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#506) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.5...@graphql-codegen/cli@5.0.6) ##### Patch Changes - [#​10338](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10338) [`5d1c4e1`]( |