Closes: [BS-2539](https://linear.app/affine-design/issue/BS-2539/为-affine-添加-ef,并且支持在-affine-预览对应的功能)
> [!warning]
> This feature is only available in the canary build and is intended for debugging purposes.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced an "Adapter Panel" feature with a new sidebar tab for previewing document content in multiple formats (Markdown, PlainText, HTML, Snapshot), controllable via a feature flag.
- Added a fully integrated adapter panel component with reactive UI elements for selecting adapters, toggling HTML preview modes, and updating content.
- Provided a customizable adapter panel for both main app and playground environments, supporting content transformation pipelines and export previews.
- Enabled seamless toggling and live updating of adapter panel content through intuitive menus and controls.
- **Localization**
- Added English translations and descriptive settings for the Adapter Panel feature.
- **Chores**
- Added new package and workspace dependencies along with TypeScript project references to support the Adapter Panel modules and 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
- **New Features**
- Enhanced filtering options for number properties with multiple comparison operators and empty/not empty checks.
- Added support for grouping and ordering by number properties.
- Introduced new UI components for number property filtering and group headers.
- Improved draft completion behavior for text and tags filters using empty/not empty methods.
- **Bug Fixes**
- Improved consistency in draft completion behavior when filtering by text or tags using empty/not empty methods.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Related to: [BS-3143](https://linear.app/affine-design/issue/BS-3143/更新-loading-和错误样式)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a reload button with an icon for audio blocks, allowing users to retry loading audio files if an error occurs.
- Error messages are now displayed with actionable options when audio loading fails.
- **Enhancements**
- Audio file sizes are now shown in a human-readable format within the audio player.
- Improved display of audio file information, including error messages and formatted descriptions.
- **Style**
- Updated styling for audio player and audio block components, including new styles for error states and reload button.
- Renamed and refined audio player description styling for better layout and spacing.
<!-- 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 tooltip to the delete icon for attachments, displaying a localized description when hovered.
- **Documentation**
- Updated English localization to include a tooltip label for deleting attachments.
<!-- 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**
- Simplified the user interface by always displaying the new All Pages view, removing the feature flag and old page version.
- Updated selection interactions to use shift+click on document items instead of checkboxes.
- Centralized drag-and-drop functionality in document list items and simplified drag handle behavior.
- Generalized new page button component to accept standard HTML attributes.
- Changed test ID attributes on new page buttons and list headers to use standard `data-testid`.
- **Bug Fixes**
- Added stable test identifiers to new page buttons, document list items, menu items, and operation buttons for improved test reliability.
- Enabled external drag-and-drop support on the trash button.
- **Tests**
- Streamlined and updated end-to-end tests to match the new selection flow and UI changes, removing outdated or redundant test cases.
- Simplified utility functions and wait conditions in test helpers for better accuracy and maintainability.
- Updated selectors in tests to reflect new document item identifiers and centralized page element retrieval using utility functions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2626
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added support for debounced input changes in input fields, improving performance for rapid typing scenarios.
- Enhanced document explorer with dynamic visibility controls for drag handles and "more" menu options.
- Introduced a new filter for searching documents by title, enabling more precise filtering in collections.
- Added a direct search method for document titles to improve search accuracy and speed.
- **Bug Fixes**
- Improved layout and centering of icons in document list items.
- Updated border styles across collection editor components for a more consistent appearance.
- **Refactor**
- Simplified page selection and rule-matching logic in collection and selector components by consolidating state management and leveraging context-driven rendering.
- Removed deprecated and redundant hooks for page list configuration.
- **Chores**
- Updated code to use new theme variables for border colors, ensuring visual consistency with the latest design standards.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
feat: optimize workspace attachment uploading & error display

### What Changes
####
Support for Workspace Attachment Uploading & Error Handling
* Added support for three attachment states: uploading (local), upload failed (local error), and uploaded (persisted). The frontend UI now displays real-time upload progress and error messages.
* Attachments that fail to upload can be deleted directly without confirmation.
* Merged display of uploading and uploaded attachments for a smoother user experience.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Attachments now show real-time upload status including uploading, error, and uploaded states.
- Users can remove failed (error) attachments instantly without confirmation.
- Attachment list merges uploading and uploaded files, displaying up to 10 items.
- **Bug Fixes**
- Improved error handling and messaging for failed attachment uploads.
- **Style**
- Enhanced visual styling for error attachments with distinct colors and backgrounds.
- **Tests**
- Added tests simulating slow network uploads, upload failures, and direct removal of error attachments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3439](https://linear.app/affine-design/issue/BS-3439/pdf-独立页面split-view-中的-status-组件)
Related to: [BS-3143](https://linear.app/affine-design/issue/BS-3143/更新-loading-和错误样式)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a dedicated error handling and reload interface for PDF attachments, allowing users to retry loading PDFs when errors occur.
- **Refactor**
- Improved PDF viewer interface with clearer loading and error states.
- Enhanced attachment type detection for better performance and maintainability.
- Streamlined attachment preview logic for more direct and efficient model retrieval.
- Simplified internal PDF metadata handling and control flow for improved clarity.
- Clarified conditional rendering logic in attachment viewer components.
- Introduced explicit loading state management and refined rendering logic in attachment pages.
- **Style**
- Updated and added styles for PDF viewer controls and error status display.
- **Tests**
- Added end-to-end tests validating PDF preview error handling and attachment not-found scenarios.
<!-- 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 an experimental "Code block HTML preview" feature, allowing users to preview HTML within code blocks when enabled.
- **Settings**
- Added a toggle in experimental features to enable or disable the code block HTML preview.
- **Localization**
- Added English translations for the new code block HTML preview feature and its description in workspace settings.
<!-- 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 event tracking for workspace embedding settings, including toggling embedding, uploading attachments, and selecting ignored documents. This enhances visibility into user interactions within the embedding settings panel.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
feat: show embedding progress in settings panel

### What changed
* show embedding progress in settings panel
* polling embedding status based on RxJS
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added real-time embedding progress tracking and display in embedding settings, including a visual progress bar and status messages.
- Introduced localized text for embedding progress statuses.
- Added an optional test ID attribute to the progress bar component for improved testing.
- **Style**
- Added new styles for embedding progress UI elements.
- **Tests**
- Added an end-to-end test to verify embedding progress is displayed correctly in the settings UI.
<!-- 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 draft mode and completion callbacks across filter components, enabling stepwise filter creation and editing.
- Enhanced filter menus and editors with external control via refs and new callback props for open/close state management.
- Introduced new filter option group component for multi-step filter interactions.
- Expanded tag filter methods for more granular filtering options.
- Enabled controlled open state and close event handling for desktop and mobile menus.
- Added programmatic control and completion callbacks to member selector and tags inline editors.
- **Improvements**
- Updated filter and tag editors with improved UI layouts and added "Done" buttons for easier completion.
- Improved menu and editor accessibility by allowing programmatic open/close and completion event handling.
- Refactored date filter components for modularity and consistent draft handling.
- Separated draft filter state management in filter UI for clearer user interactions.
- **Bug Fixes**
- Refined date filter logic for more accurate "after" and "before" comparisons.
- **Style**
- Adjusted styles for draft filters and editor layouts to enhance visual clarity and user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
refactor: rename settings, indexer embedding -> embedding
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Unified naming in workspace settings from "Indexer & Embedding" to "Embedding" for improved clarity.
- Updated sidebar labels, tab keys, and test IDs to reflect the new naming convention.
- Streamlined the layout and organization of the embedding settings interface for a more consistent user experience.
- Simplified the export and component structure for embedding settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Chores**
- Updated Apollo iOS dependency to version 1.21.0 and removed the SQLite.swift dependency in the iOS app workspace.
- **New Features**
- The "Enable Mobile AI Button" feature flag is now configurable only for mobile canary builds.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Move the `waitForSynced` method from `frontend` to `nbstore worker` to make the wait more reliable
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added explicit tracking of document updating state to indicate when data is being applied or saved.
- Introduced new methods to wait for update and synchronization completion with abort support.
- **Improvements**
- Applied throttling with leading and trailing emissions to state observables for smoother UI updates.
- Refined synchronization waiting logic for clearer separation between update completion and sync completion.
- Removed throttling in workspace selector component for more immediate state feedback.
- Updated import and clipper services to use the new synchronization waiting methods.
- Simplified asynchronous waiting logic in indexer synchronization methods.
- **Bug Fixes**
- Enhanced accuracy and reliability of document update and sync status indicators.
- **Tests**
- Increased wait timeout in avatar selection test to improve stability.
<!-- 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**
- Improved document grouping logic in the explorer view, allowing for more dynamic and responsive updates when changing grouping criteria.
- **Bug Fixes**
- Prevented unnecessary synchronization operations in local workspace environments, ensuring sync only occurs for applicable workspace types.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2569
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added the ability to edit calendar subscription names directly within the interface using an inline editor.
- **Style**
- Improved the appearance of calendar subscription names by updating layout and alignment for better readability.
- **Bug Fixes**
- Ensured that custom calendar subscription names are displayed and updated correctly.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3291](https://linear.app/affine-design/issue/BS-3291/工具栏展开时报错,链接无法点击打开)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- URLs entered without a protocol (e.g., "github.com/...") are now automatically normalized to use "https://", ensuring links are secure and consistently formatted.
- **Bug Fixes**
- Improved handling and validation of links to prevent issues with missing or invalid protocols in bookmarks and inline links.
- Simplified URL validation logic by leveraging native URL parsing, removing complex regex and email-specific checks.
- Streamlined toolbar link actions to operate only on valid normalized URLs.
- Refined URL detection in markdown preprocessing to exclude lines containing spaces from being treated as URLs.
- **Tests**
- Added tests to verify that links without a protocol are correctly normalized and displayed across different views.
- Updated URL validation tests to better reflect valid and invalid URL formats, including IP addresses and domain variants.
- **Style**
- Updated snapshots to reflect the use of "https://" in links.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2545
fix(core): go to workspace command does not work using CMDK
feat(core): add team badge to user info

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a redesigned user info section in the sidebar, including enhanced account details, cloud and AI usage indicators, and team workspace listing with improved navigation.
- Workspace selector now supports controlled open/close state for smoother sidebar integration.
- Team workspaces are grouped and displayed with role-based badges and tooltips.
- Added new localization for team roles and workspace tooltips.
- **Improvements**
- Updated theming and styling for user plan buttons and usage indicators for a more consistent look.
- Sidebar user info UI is now more modular and responsive.
- **Bug Fixes**
- Improved error handling and loading states for quota and usage displays.
- **Chores**
- Refactored internal state management and code structure for better maintainability.
<!-- 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 the ability to edit and remove pinned collections directly from the workspace UI.
- Improved filter management with clearer handling of temporary filters and editing workflows.
- Enhanced synchronization and readiness tracking for collections and pinned collections, resulting in more responsive and reliable updates.
- **Style**
- Updated pinned collection item styles for better interaction feedback, including new edit and remove button visuals.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [AF-2564](https://linear.app/affine-design/issue/AF-2564/pdf-split-view-多了-header)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved code clarity and maintainability with clearer comments and streamlined property usage.
- Updated the workspace attachment page to use a more context-appropriate attachment viewer component.
- **Style**
- Minor formatting improvements for better code readability.
<!-- 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 "Indexer & Embedding" workspace settings to manage AI embedding for local content, including document ignoring and attachment uploads.
- Added UI components for embedding settings, attachments, and ignored documents with pagination and deletion capabilities.
- Provided comprehensive file-type icons for attachments.
- **Improvements**
- Added a new tab for indexing and embedding in workspace settings navigation.
- Included test identifiers on key UI elements to enhance automated testing.
- **Localization**
- Added English localization strings covering all embedding-related UI text and actions.
- **Bug Fixes**
- Enabled previously skipped end-to-end tests for embedding settings to improve reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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**
- Introduced AI model switching in chat, allowing users to select from multiple AI models during conversations.
- Added a floating menu for easy AI model selection within the chat interface.
- Enabled visibility of the AI model switcher through a new experimental feature flag, configurable in workspace settings (canary builds only).
- **Enhancements**
- Improved session management in the chat panel for smoother model switching and state handling.
- Updated localization to support the new AI model switch feature in settings.
- **Bug Fixes**
- None.
- **Chores**
- Registered new components and services to support AI model switching 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
- **New Features**
- Trashed page titles are now visually indicated with a strikethrough style in collection editor dialogs.
- **Bug Fixes**
- Trashed pages are now properly excluded from allowed lists and filtered views.
- **Refactor**
- Improved filtering logic for collections and page lists, separating user filters from system filters for more consistent results.
- Enhanced filter configuration options for more flexible and maintainable filtering behavior.
- **Style**
- Added a new style for displaying trashed items with a strikethrough effect.
<!-- 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 handling of filter arguments to exclude invalid or empty values, reducing potential errors during filtering operations.
<!-- 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 AI-powered store extension to support chat and transcription block schemas.
- Introduced a new database view extension for enhanced database block integration.
- **Refactor**
- Updated and reorganized import paths for improved code structure and maintainability.
- Consolidated and streamlined extension registration for store and view managers.
- **Chores**
- Removed deprecated or redundant extension classes and imports.
<!-- 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 -->
<!-- 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-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 -->
<!-- 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
- **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 -->
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 -->
<!-- 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 -->
### 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 -->
Close [BS-3404](https://linear.app/affine-design/issue/BS-3404/通过embed-doc时,插入的doc还是card-view,应该要默认embed-view)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added the ability to insert and display embedded synced documents, supporting different link types based on editor mode and user preferences.
- Introduced new UI interactions and view options for embedded synced documents in edgeless mode.
- **Bug Fixes**
- Updated UI selectors and preference keys to ensure consistent behavior and correct application of user settings.
- **Tests**
- Added and updated end-to-end tests for embedding synced documents, including header interactions and viewport fitting.
- Improved test coverage for quick search insertion and edgeless embed synced doc features.
- **Chores**
- Renamed settings and updated exports to align with new embedding 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 accuracy of member quota warnings by updating the logic that detects when the member limit has been exceeded.
- Enhanced test reliability by adjusting member list pagination test to better handle confirmation modals.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
whats changed:
### orm
add a new `select$` method, can subscribe on only one field to improve batch subscribe performance
### yjs-observable
add a new `yjsObservePath` method, which can subscribe to changes from specific path in yjs. Improves batch subscribe performance
```ts
yjsGetPath(
this.workspaceService.workspace.rootYDoc.getMap('meta'),
'pages'
).pipe(
switchMap(pages => yjsObservePath(pages, '*.tags')),
map(pages => {
// only when tags changed
})
)
```
### standard property naming
All `DocProperty` components renamed to `WorkspaceProperty` which is consistent with the product definition.
### `WorkspacePropertyService`
Split the workspace property management logic from the `doc` module and create a new `WorkspacePropertyService`. The new service manages the creation and modification of properties, and the `docService` is only responsible for storing the property value data.
### new `<Filters />` component
in `core/component/filter`
### new `<ExplorerDisplayMenuButton />` component
in `core/component/explorer/display-menu`

### new `/workspace/xxx/all-new` route
New route for test components and functions
### new collection role service
Implemented some filter group order rules
see `collection-rules/index.ts`
### standard property type definition
define type in `modules\workspace-property\types.ts`

define components (name,icon,....) in `components\workspace-property-types\index.ts`

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced comprehensive filtering, grouping, and ordering capabilities for workspace documents with reactive updates.
- Added a new "All Pages" workspace view supporting dynamic filters and display preferences.
- Developed UI components for filter creation, condition editing, and display menu controls.
- Launched enhanced tag management with inline editors, selection, creation, and deletion workflows.
- Added workspace property types with dedicated filter UIs including checkbox, date, tags, and text.
- Introduced workspace property management replacing document property handling.
- Added modular providers for filters, group-by, and order-by operations supporting various property types and system attributes.
- **Improvements**
- Standardized tag and property naming conventions across the application (using `name` instead of `value` or `title`).
- Migrated document property handling to workspace property-centric logic.
- Enhanced internationalization with additional filter and display menu labels.
- Improved styling for filter conditions, display menus, and workspace pages.
- Optimized reactive data subscriptions and state management for performance.
- Refined schema typings and type safety for workspace properties.
- Updated imports and component references to workspace property equivalents throughout frontend.
- **Bug Fixes**
- Resolved tag property inconsistencies affecting display and filtering.
- Fixed filter and tag selection behaviors for accurate and reliable UI interactions.
- **Chores**
- Added and refined test cases for ORM, observables, and filtering logic.
- Cleaned up legacy document property code and improved type safety.
- Modularized and restructured components for better maintainability.
- Introduced new CSS styles for workspace pages and display menus.
- Added framework module configurations for collection rules and workspace property features.
<!-- 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**
- Documents now automatically track and display "created by" and "updated by" user information.
- Document creation and update timestamps are now managed and shown more accurately.
- Workspace and document metadata (name, avatar) updates are more responsive and reliable.
- Document creation supports middleware for customizing properties and behavior.
- **Improvements**
- Simplified and unified event handling for document list updates, reducing redundant event subscriptions.
- Enhanced integration of editor and theme settings into the document creation process.
- Explicit Yjs document initialization for improved workspace stability and reliability.
- Consolidated journal-related metadata display in document icons and titles for clarity.
- **Bug Fixes**
- Fixed inconsistencies in how workspace and document names are set and updated.
- Improved accuracy of "last updated" indicators by handling timestamps automatically.
- **Refactor**
- Removed deprecated event subjects and direct metadata manipulation in favor of more robust, reactive patterns.
- Streamlined document creation logic across various features (quick search, journal, recording, etc.).
- Simplified user avatar display components and removed cloud metadata dependencies.
- Removed legacy editor setting and theme service dependencies from multiple modules.
- **Chores**
- Updated internal APIs and interfaces to support new metadata and event handling mechanisms.
- Cleaned up unused code and dependencies related to editor settings and theme services.
- Skipped flaky end-to-end test to improve test suite stability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->