<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved the internal structure and clarity of ID handling during import processes, leading to more maintainable and modular code. No changes to user-facing functionality.
- **Chores**
- Enhanced type definitions for import events to improve code readability and maintainability. No impact on end-user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### Changed
This pr split the old `edgeless-selected-rect` into four focused modules:
- `edgeless-selected-rect`: Provide an entry point for user operation on view layer only, no further logic here.
- `GfxViewInteractionExtension`: Allow you to plug in custom resize/rotate behaviors for block or canvas element. If you don’t register an extension, it falls back to the default behaviours.
- `InteractivityManager`: Provide the API that accepts resize/rotate requests, invokes any custom behaviors you’ve registered, tracks the lifecycle and intermediate state, then hands off to the math engine.
- `ResizeController`: A pure math engine that listens for pointer moves and pointer ups and calculates new sizes, positions, and angles. It doesn’t call any business APIs.
### Customizing an element’s resize/rotate behavior
Call `GfxViewInteractionExtension` with the element’s flavour or type plus a config object. In the config you can define:
- `resizeConstraint` (min/max width & height, lock ratio)
- `handleResize(context)` method that returns an object containing `beforeResize`、`onResizeStart`、`onResizeMove`、`onResizeEnd`
- `handleRotate(context)` method that returns an object containing `beforeRotate`、`onRotateStart`、`onRotateMove`、`onRotateEnd`
```typescript
import { GfxViewInteractionExtension } from '@blocksuite/std/gfx';
GfxViewInteractionExtension(
flavourOrElementType,
{
resizeConstraint: {
minWidth,
maxWidth,
lockRatio,
minHeight,
maxHeight
},
handleResize(context) {
return {
beforeResize(context) {},
onResizeStart(context) {},
onResizeMove(context) {},
onResizeEnd(context) {}
};
},
handleRotate(context) {
return {
beforeRotate(context) {},
onRotateStart(context) {},
onRotateMove(context) {},
onRotateEnd(context) {}
};
}
}
);
```
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added interaction extensions for edgeless variants of attachment, bookmark, edgeless text, embedded docs, images, notes, frames, AI chat blocks, and various embed blocks (Figma, GitHub, HTML, iframe, Loom, YouTube).
- Introduced interaction extensions for graphical elements including connectors, groups, mind maps, shapes, and text, supporting constrained resizing and rotation disabling where applicable.
- Implemented a unified interaction extension framework enabling configurable resize and rotate lifecycle handlers.
- Enhanced autocomplete overlay behavior based on selection context.
- **Refactor**
- Removed legacy resize manager and element-specific resize/rotate logic, replacing with a centralized, extensible interaction system.
- Simplified resize handle rendering to a data-driven approach with improved cursor management.
- Replaced complex cursor rotation calculations with fixed-angle mappings for resize handles.
- Streamlined selection rectangle component to use interactivity services for resize and rotate handling.
- **Bug Fixes**
- Fixed connector update triggers to reduce unnecessary updates.
- Improved resize constraints enforcement and interaction state tracking.
- **Tests**
- Refined end-to-end tests to use higher-level resize utilities and added finer-grained assertions on element dimensions.
- Enhanced mouse movement granularity in drag tests for better simulation fidelity.
- **Chores**
- Added new workspace dependencies and project references for the interaction framework modules.
- Extended public API exports to include new interaction types and extensions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added new export paths to improve module accessibility for foundation store and view components.
- Introduced new extension points for telemetry, font configuration, link preview cache, and peek view services in the view extension foundation.
- **Improvements**
- Enhanced flexibility by allowing optional configuration of placeholders in paragraph view extensions.
- Switched to runtime schema validation for font configuration, increasing reliability.
- Streamlined service registration for peek view providers.
- **Refactor**
- Centralized and simplified extension management by removing redundant extension files and consolidating setup logic.
- Updated internal integration of telemetry, font, and peek view services for improved maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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 support for specifying alternative AI models in chat prompts, enabling users to select from multiple available models.
- Expanded AI model options with new additions: 'gpt-4.1', 'o3', and 'claude-3-5-sonnet-20241022'.
- **Enhancements**
- Users can now optionally choose a specific AI model during chat interactions.
- Prompts and chat sessions reflect and support selection of alternative models where applicable.
- **Bug Fixes**
- Improved handling of prompt configuration defaults for better reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2609
webm container with opus has limited support on Safari. Change to mp4 instead.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Audio recordings are now saved in MP4 format instead of WebM, improving compatibility with a wider range of devices and applications.
- **Chores**
- Updated dependencies to use MP4 muxing tools in place of WebM.
- Internal audio encoding utilities and references updated to support MP4 container format.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2614
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved audio processing with persistent buffered resampling and thread-local caching for smoother and more reliable sample rate conversion.
- **Bug Fixes**
- Enhanced handling of stereo and mono audio input, ensuring accurate channel extraction and upmixing.
- **Refactor**
- Updated internal audio processing logic for better performance and reduced artifacts during audio capture.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new Collection entity and store with reactive management and real-time updates.
- Added reactive favorite and shared filters with expanded filtering options.
- **Refactor**
- Overhauled collection and filtering logic for better performance and maintainability.
- Replaced legacy filtering UI and logic with a streamlined, service-driven rules system.
- Updated collection components to use reactive data streams and simplified props.
- Simplified collection creation by delegating ID generation and instantiation to the service layer.
- Removed deprecated hooks and replaced state-based filtering with observable-driven filtering.
- **Bug Fixes**
- Improved accuracy and consistency of tag and favorite filtering in collections.
- **Chores**
- Removed deprecated and unused filter-related files, types, components, and styles to reduce complexity.
- Cleaned up imports and removed unused code across multiple components.
- **Documentation**
- Corrected inline documentation for improved clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3486](https://linear.app/affine-design/issue/BS-3486/粘贴从-notion-复制的内容出错)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of Notion text segments with empty or invalid style arrays, ensuring plain text and styled text are both processed correctly and preventing errors from malformed input.
- **Tests**
- Added a test case to verify correct conversion of Notion text with empty styles arrays.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2611
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved the process for adding audio attachments after a recording is ready, ensuring all details (name, type, size, source, embed) are included at creation for a smoother and more reliable user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2612
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of recording status updates to prevent unwanted side effects after closing the recording popup.
- Enhanced error handling and logging for internal communication, ensuring errors are logged and do not disrupt the user experience.
- Refined control flow for stream encoding to avoid unnecessary errors when encoders are closed.
- **Refactor**
- Updated popup window readiness and lifecycle management for more reliable behavior and clearer logging.
- Adjusted recording state management to allow more precise control over status updates and emissions.
- **Style**
- Added additional logging for popup and recording operations to aid in troubleshooting and transparency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2606
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- The "meetings" settings panel is now only visible on macOS when using the Electron build.
- The "Meetings Settings..." menu item in the recording menu appears only when recording functionality is available.
- **Style**
- Improved the subtitle formatting in the meetings settings panel for clearer visual separation and enhanced readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-2578](https://linear.app/affine-design/issue/BS-2578/优化-footnote-预览的逻辑:支持缓存结果,避免重复-loading)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a link preview caching mechanism, enabling faster and more efficient reuse of link preview data across the app.
- Added a feature flag for enabling or disabling link preview cache, configurable through workspace experimental settings.
- Enhanced localization with new entries describing the link preview cache feature.
- **Improvements**
- Updated link preview service architecture for better extensibility and maintainability.
- Improved integration of feature flags throughout chat and rendering components.
- **Bug Fixes**
- Fixed tooltip formatting for footnote URLs.
- **Chores**
- Updated dependencies and localization completeness tracking.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- 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 -->
close AF-2494
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Added support for importing users with optional passwords via CSV, including password validation and error handling.
- Enhanced user creation form to allow password input and validation according to server-configured requirements.
- User table now displays a password column and provides granular error highlighting for email and password fields.
- Introduced detailed CSV format guidance and improved import dialog with dynamic content and footer controls.
- **Improvements**
- Updated import dialog workflow for clearer CSV formatting guidance and improved user feedback during import.
- Refined dropdown menu actions and improved UI clarity for user management actions.
- **Bug Fixes**
- Corrected menu action handlers for "Edit" and "Reset Password" in user actions dropdown.
- **Chores**
- Refactored import dialog code into modular components for maintainability and clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new mobile view extension that activates mobile-specific UI features based on the runtime environment.
- Automatically enables mobile keyboard toolbar and linked document menu features in mobile contexts.
- **Improvements**
- Simplified code and paragraph block configurations on mobile, including disabling line numbers and adjusting placeholders.
- Enhanced configuration chaining to include mobile-specific settings by default.
- Improved extension registration flow with method chaining support.
- **Refactor**
- Removed deprecated mobile patch classes and configurations, consolidating mobile logic into dedicated extensions.
- Streamlined mobile-related code for better maintainability and performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3480](https://linear.app/affine-design/issue/BS-3480/event-tracking)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added telemetry tracking to toolbar actions for embedding documents, duplicating notes, and toggling note display modes.
- Telemetry events now track when new note blocks are created from drag-and-drop actions on the whiteboard.
- **Chores**
- Improved event tracking for user interactions to enhance analytics and usage insights.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new slider component for line width selection, providing a more interactive and streamlined UI.
- Added support for using the slider component across relevant panels.
- **Improvements**
- Simplified the line width selection panel for easier use and improved maintainability.
- Enhanced event handling to prevent dropdowns from closing when interacting with the panel.
- **Bug Fixes**
- Improved event propagation control within the line styles panel.
- **Chores**
- Updated package exports to include the new slider component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced feature flag synchronization for enhanced control over feature availability.
- Added new configuration options for store management, allowing initialization and feature flag setup.
- **Improvements**
- Updated how store extensions are accessed throughout the app for more robust initialization and configuration.
- Enhanced workspace entities to support feature flag services, improving flexibility for workspace-specific features.
- Centralized configuration of storage implementations for Electron environments.
- **Refactor**
- Simplified editor module by removing direct feature flag synchronization logic.
- Streamlined imports and configuration for storage modules, especially in Electron-based apps.
- **Bug Fixes**
- Ensured consistent retrieval of store extensions across various modules and platforms.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated the HTML preview iframe to display at full width and a fixed height for improved appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a user-facing message in the HTML preview component to inform users when their browser does not support required features, with a suggestion to download the AFFiNE Desktop App.
- **Style**
- Updated styles to ensure fallback and error messages share a consistent appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [AI-118](https://linear.app/affine-design/issue/AI-118)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- The abort button in the chat input is now available during both "transmitting" and "loading" states, giving users more control to cancel ongoing actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR contains the following updates:
| Update | Change |
|---|---|
| lockFileMaintenance | All locks refreshed |
🔧 This Pull Request updates lock files to use the latest dependency versions.
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC43LjEiLCJ1cGRhdGVkSW5WZXIiOiI0MC43LjEiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a filter to exclude empty journals from document collections.
- Added a live-updating list of non-trashed document IDs for improved document management.
- **Improvements**
- Default filters in the document explorer have been updated to show all items, including trashed ones, unless filters are applied.
- Enhanced filtering in workspace views to automatically exclude empty journals and trashed documents.
- Increased the responsiveness of grouped document updates for a smoother user experience.
- **Bug Fixes**
- Removed unnecessary debug output from the document synchronization, member search, session management, and member selector components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved history and undo/redo management across the app by introducing a dedicated history extension. Undo/redo operations now use a more focused undo manager, resulting in clearer and more consistent behavior.
- **Documentation**
- Updated API documentation to reflect changes in history management, including revised method signatures and removal of outdated event references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced dedicated extensions for cloud features, turbo renderer, and PDF embed preview, enabling modular and configurable view options.
- Added audio embed preview support for attachments, enhancing the audio file viewing experience.
- **Refactor**
- Streamlined editor view configuration with modular extension registration.
- Simplified extension setup by removing some feature flags and related services from core editor configuration.
- **Chores**
- Updated internal worker configuration paths for improved organization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3438](https://linear.app/affine-design/issue/BS-3438/attachment-embed-view-中的-status-组件)
Closes: [BS-3447](https://linear.app/affine-design/issue/BS-3447/触发-litportal-re-render)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a visual status indicator for embedded attachments with reload capability.
- Added a new resource status component to display error messages and reload actions.
- **Improvements**
- Enhanced attachment rendering flow with reactive state and unified embed handling.
- Simplified resource state and blob URL lifecycle management.
- Added status visibility flags for PDF and video embeds.
- **Bug Fixes**
- Improved error handling and refresh support for embedded content including PDFs, videos, and audio.
- **Style**
- Added styles for the attachment embed status indicator positioning.
- **Refactor**
- Streamlined attachment and resource controller implementations for better maintainability.
- **Tests**
- Added end-to-end test verifying PDF viewer reload and re-rendering in embed mode.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2605
[CleanShot 2025-05-08 at 13.56.38.mp4 <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/4e36e838-7c7f-4f0a-89a8-fd582c2ef573.mp4" />](https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/4e36e838-7c7f-4f0a-89a8-fd582c2ef573.mp4)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Centralized state management in the document explorer using a reactive context, replacing prop drilling and local state with observable streams for preferences, selection, grouping, and view options.
- Updated multiple components (display menus, quick actions, doc list items, group headers) to consume and update state directly via context observables.
- Simplified component signatures by removing now-unnecessary props related to preferences and state handlers.
- **Style**
- Adjusted user avatar display: avatars now only have right margin when user names are shown, and vertical alignment was improved.
- **New Features**
- User avatar elements now include a data attribute to indicate if the user name is displayed.
- **Bug Fixes**
- Improved handling of document tags to prevent errors when tags are not in the expected format.
- **Documentation**
- Added missing group header property for updated date fields in workspace property types.
- **Chores**
- Clarified and renamed internal types for quick actions to improve code clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Related to: [BS-3101](https://linear.app/affine-design/issue/BS-3101/pdf-embed-模式的选中框选-和点开看详情有比较大的问题)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- PDF embed preview is now enabled by default for all users, regardless of workspace sharing mode.
- **Bug Fixes**
- Improved reliability of PDF viewer interaction in tests by updating the element used for visibility checks.
- Enabled opening the PDF viewer peek view in readonly and sharing modes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Streamlined and modularized the configuration of editor and theme extensions, introducing a chainable API for extension management.
- Migrated extension setup to use new provider classes and centralized patch logic, improving maintainability and consistency.
- Updated internal extension retrieval processes to use a more explicit, stepwise initialization sequence.
- Removed legacy theme and editor config registration from common views and editor setups.
- Removed direct patch registrations from editor views, consolidating them into extension providers.
- Renamed classes and variables for clarity and consistency across the codebase.
- **New Features**
- Added new extension providers for editor configuration, theme management, and edgeless block header customization, enabling more flexible and validated extension registration.
- Introduced animated viewport focus and dynamic header rendering for edgeless notes and embedded synced documents.
- Integrated reactive editor settings and toolbar configurations with workspace-aware base URL resolution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close: BS-3446
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Migrated all styling from vanilla-extract to Emotion for improved CSS-in-JS consistency across database, table, and data view components.
- Updated import paths for style modules to reflect the new Emotion-based file naming.
- Removed unused or redundant style exports and updated selector syntax where necessary.
- **Chores**
- Updated dependencies: removed vanilla-extract and added Emotion in relevant package files.
- **Style**
- No visual changes to existing components; all style definitions remain consistent with previous designs.
- **New Features**
- Introduced new reusable CSS classes for data view and table components using Emotion.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This won't affect desktop behavior, since the `MobileDataViewTable` is a standalone entry different with the default `DataViewTable`.
Horizontal scrolling needs to be disabled to prevent Safari render bug.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated table view styling on mobile to disable horizontal scrolling, improving stability on iOS Safari.
- Removed platform-specific horizontal scrolling behavior for tables on desktop for a consistent experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new grouped document explorer with a masonry layout, advanced filtering, and multi-select capabilities.
- Added a floating toolbar for batch actions, such as deleting multiple documents.
- Implemented a feature flag to enable the new "All Docs" page, allowing gradual rollout.
- Added a new navigation component with links for Docs, Collections, and Tags.
- Introduced a display menu button supporting additional menu properties.
- **Enhancements**
- Redesigned navigation headers across document, collection, and tag pages for improved consistency and usability.
- Added new display and view toggling options for document lists.
- Improved styling and responsiveness for explorer and header components.
- Updated context to support dynamic view switching in the document explorer.
- **Bug Fixes**
- Updated context and prop types to enhance state management and user interactions.
- **Refactor**
- Replaced legacy page list views with a modern, grouped explorer interface.
- Simplified and modularized header components and styles for better maintainability.
- Removed workspace-specific controls from document headers to focus on explorer functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved permission checks to ensure users only see document chunks they have read access to.
- Enhanced error handling for clearer and more user-friendly error messages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Splice will produce large yjs updates for splice because it will call insert and delete operation for every item in yarray.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added support for `splice`, `shift`, and `unshift` methods on reactive arrays, enabling enhanced dynamic array operations with synchronization.
- **Tests**
- Expanded test coverage for array operations including `push`, `splice`, `shift`, and `unshift`, verifying complete array state after each change.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### New all docs list ui
close AF-2531, AF-2585, AF-2586, AF-2580
### What changed
- a new `display-menu` component
- properties visibility
- quick actions visibility
- extend DocPropertyType definition
- `showInDocList`: configure whether to show in doc and how to show (stack | inline)
- `docListProperty`: define how to render property in doc
- `groupHeader`: define how to render group header when grouped
- implement all properties's `docListProperty` renderer and `groupHeader` renderer
- new `docs-view` component
- render doc in `card` | `list` view
- split doc card into minimal components for reuse in list and card views, as well as visibility control
- implement docs-list with `<Masonry />` and multi-view support
- for list view, make masonry column count always `1`
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Redesigned document explorer with multiple view modes (list, grid, masonry), grouping, selection, and multi-delete.
- Added customizable display properties and quick actions (favorite, trash, split view, new tab, select) for documents.
- Introduced new group header and document item components with improved styling and interaction.
- Enabled dynamic rendering of document properties including tags, dates, users, templates, and themes.
- Added filtering support for trash status and enhanced localization for UI elements.
- Introduced drag handle size customization and expanded masonry layout configurability.
- Added contextual "More" menu with document operations like favorite, info, duplicate, and trash.
- Implemented shared context for explorer state management and multi-selection logic.
- **Enhancements**
- Improved virtual scrolling with active item tracking and configurable preload and debounce settings.
- Responsive, theme-aware styling applied across explorer and property components.
- Configurable UI elements and quick actions via user preferences.
- Enhanced error messages for unsupported property types in filters.
- Refined padding and layout calculations in masonry component for better visual consistency.
- Avatar and date components refactored for explicit prop-driven rendering and customization.
- **Bug Fixes**
- Improved error messages for unsupported property types in filters.
- **Documentation**
- Added new localization keys and updated language completeness for new features.
- **Chores**
- Modularized workspace property types with list and group header display components.
- Consolidated imports and enhanced code maintainability.
- Added new CSS styling modules for explorer components and workspace property types.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- 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 -->
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 -->
### TL;DR
fix: ai chat input cannot scroll
> CLOSE AI-115
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Improved the appearance of the vertical scrollbar in the chat input area, making it visible and styled with custom colors and rounded corners.
- **Bug Fixes**
- The vertical scrollbar in the chat input now appears when needed, instead of being hidden.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
> CLOSE AI-114
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Temporarily disabled the AI onboarding feature in workspace detail and layout pages.
- **Chores**
- Added placeholders indicating the suspension of the AI onboarding feature pending future improvements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- support group for masonry
- expand/collapse group
- sticky group header

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced Masonry component with support for grouped items, collapsible and sticky group headers.
- Added multi-view transitions enabling switching between Masonry, Grid, and List layouts.
- Introduced virtual scrolling with group support for efficient handling of large datasets.
- New interactive storybook demonstrations showcasing grouped and multi-view Masonry scenarios.
- **Improvements**
- List view styling enhancements for improved clarity and layout.
- Resize panel now supports customizable offset modifications during drag interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->