<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added the ability to upload and replace license files for self-hosted team workspaces via a new modal dialog.
- Introduced clearer UI flows for activating, deactivating, and managing team licenses, including one-time purchase licenses.
- Provided direct links and guidance for requesting licenses and managing payments.
- **Enhancements**
- Improved license management interface with updated button labels and descriptions.
- Added new styles for better layout and clarity in license dialogs.
- Updated internationalization with new and revised texts for license operations.
- **Bug Fixes**
- Prevented duplicate opening of license or plan dialogs when already open.
- **Chores**
- Updated support and pricing links for clarity and accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2658
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Tests**
- Added new test cases and snapshots to enhance coverage for search results involving empty or missing fields like summary, title, and ref_doc_id.
- Verified consistent handling of empty string values and absence of fields across different search providers.
- **Bug Fixes**
- Improved handling of empty string values for specific fields by converting them to null to ensure consistent search result formatting.
<!-- 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 default sorting and grouping by "Last Updated" for document views.
- Introduced clearer group headers for documents grouped by creation or update date, displaying relative dates or appropriate fallback text.
- **Improvements**
- Enhanced date grouping headers with capitalized, user-friendly text and improved handling of missing dates.
- Added a new localization for "Never updated" to improve clarity in document groupings.
- Initialized document update timestamps at creation to improve date accuracy.
<!-- 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 stability during shutdown by preventing potential crashes when removing audio property listeners on macOS.
- Suppressed unnecessary error logs related to device listener removal during system shutdown.
- Enhanced handling of internal subscriptions to avoid redundant operations and improve reliability when loading or destroying views.
<!-- 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 audio block containers to remove borders and allow visible overflow, improving the appearance of audio attachments.
- **Bug Fixes**
- Ensured that the actions field is always present in audio transcription job results, defaulting to an empty string when not specified.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2670
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated styling so that opacity and transition effects apply only when a translucent background is present, enhancing visual precision.
- **Chores**
- Renamed a data attribute in the app container for improved consistency.
- Disabled background throttling for specific views to maintain performance when running in the background.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2662
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Chores**
- Changed the default setting for blur background effect to be disabled for new users. Existing users' preferences remain unaffected.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3391](https://linear.app/affine-design/issue/BS-3391/无法从note中拖出embed-synced-doc到白板)
### Before
can not hover on drag handle
https://github.com/user-attachments/assets/5596538e-e922-4d7f-8188-b719b234f3ee
### After
can hover on drag handle
https://github.com/user-attachments/assets/855743ec-7601-48a8-8453-cd5aa395bd06
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved detection of hovering over notes in edgeless mode, ensuring the drag handle appears correctly when hovering on the background of a selected note.
- Enhanced background style updates for edgeless notes, providing more accurate visual feedback.
- **Tests**
- Added a test to verify that the drag handle is visible when hovering over the background of a selected edgeless note.
- Updated undo/redo tests to improve accuracy of background color evaluation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
`AbortSignal.timeout` will cause a timeout when transferring large blobs. by using `setTimeout` currently, the timeout only covers the phase of establishing a connection.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved reliability of request cancellation and timeout handling for HTTP requests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
fix: workspace embedding ui optimization
> CLOSE BS-3531
> CLOSE BS-3532
> CLOSE BS-3533
> CLOSE BS-3534
> CLOSE BS-3535
> CLOSE BS-3536
> CLOSE BS-3553
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a localized "Upload file" label for improved internationalization in embedding settings.
- **Style**
- Improved layout and text overflow handling for attachments and ignored documents.
- Enhanced visual alignment and consistency across embedding-related components.
- Updated progress indicator color for better theme integration.
- **Bug Fixes**
- Adjusted text truncation and spacing to prevent layout issues with long filenames and document titles.
- **Chores**
- Updated translation completeness percentage for the "es-CL" locale.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AI-63
fix PD-2567
fix AI-150
fix AI-149
fix AI-148
fix AI-147
fix AI-146
fix AI-145
fix AI-144
fix AI-143
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced AI-generated responses for writing and code-related prompts with detailed, structured instructions for improved clarity and consistency.
- Updated AI model for multiple prompts to deliver faster and more accurate results.
- **Bug Fixes**
- Improved test validation for code explanation and error-checking prompts to better recognize correct outputs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Support [AI-59](https://linear.app/affine-design/issue/AI-59)
Deprecated use of the perplexity model. Makes chat and search use the same prompt content.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
- **New Features**
- Added support for two new AI models: Claude Opus 4 and Claude Sonnet 4, enabling enhanced text and image input capabilities.
- Introduced a new chat prompt with detailed instructions for specialized AI interactions within AFFiNE.
- **Refactor**
- Improved prompt management for AI chat and search features by centralizing shared settings for better consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [AI-125](https://linear.app/affine-design/issue/AI-125)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added new provider configurations `geminiVertex` and `anthropicVertex` for Google Vertex AI in backend schema, provider classes, and admin config.
- Introduced `GeminiVertexProvider` and `AnthropicVertexProvider` classes supporting Vertex AI models with specific capabilities.
- Expanded model options for transcription prompts with newer Gemini models.
- Re-exported provider modules to include Vertex AI variants.
- **Improvements**
- Extended provider architecture to support separate Vertex AI configurations and models.
- Updated test setup to replace deprecated provider references with new Vertex variants.
- Consolidated environment variables for server testing with a single `SERVER_CONFIG`.
- **Bug Fixes**
- Updated mock models and import references in tests to align with new provider classes.
- **Chores**
- Added `@ai-sdk/google-vertex` dependency for Vertex AI support.
- Updated dependency list to include `@ai-sdk/google-vertex`.
<!-- 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 reliability by ensuring certain features are only enabled when required support and configuration are present, reducing the risk of runtime errors.
- Enhanced platform detection logic for better accuracy across different environments, including macOS and Windows systems.
<!-- 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**
- The "Add Selfhosted" and "Add Server" options are now displayed whenever the build configuration is native, without relying on feature flags.
- **Refactor**
- Simplified conditional rendering for server addition buttons by replacing feature flag checks with build configuration checks.
- **Chores**
- Removed the "Multiple Cloud Servers" feature flag and its related localization strings, streamlining feature management and UI labels.
<!-- 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 development server with automatic handling of exit signals.
- Configured default WebSocket URL for enhanced client-server communication during development.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: BS-2896
<img width="468" alt="image" src="https://github.com/user-attachments/assets/2b84c484-29b8-4650-b74c-da7afd3a1e41" />
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced member search results with highlighted text, making it easier to visually identify matched parts of member names during searches.
<!-- 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**
- The emoji container in callout blocks now automatically hides when no emoji is present, providing a cleaner appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes [BS-3152](https://linear.app/affine-design/issue/BS-3152/)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved widget stability by removing the event listener that caused the widget to hide on block updates, leaving only viewport changes to trigger hiding.
<!-- 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 telemetry tracking for LaTeX and equation creation actions, capturing detailed context such as editor mode and location within the app.
- **Chores**
- Expanded telemetry event types to include LaTeX-specific actions for improved analytics and observability.
<!-- 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 scrolling behavior to the focused item in the linked document popover, ensuring reliable navigation regardless of special characters in item identifiers.
<!-- 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**
- The app now remembers the last selected workspace when importing, improving continuity for future imports.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: BS-3009
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- The mention members menu now displays up to three members, with a localized hint indicating the number of additional hidden members.
- **Localization**
- Added a new translation key for the overflow members hint in the English language pack.
- **Chores**
- Updated translation completeness statistics for the "es-CL" locale.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## TL;DR
refactor workspace embedding:
* using computed data
* optimizing data fetching timing(constructor -> component mounted)
* set loading initial values to `true`
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved loading indicators and state handling for embedding settings, including a more accurate loading state for the embedding toggle.
- **Bug Fixes**
- The embedding toggle now safely handles unknown or loading states and is disabled while loading, preventing unintended interactions.
- **Refactor**
- Simplified pagination logic and optimized initial data fetching for a smoother user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: BS-3395
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved keyboard input handling in filterable lists to prevent unintended interactions when using arrow keys, Enter, or Escape.
<!-- 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**
- Adjusted telemetry settings to ensure Sentry is disabled when telemetry is enabled and clarified Mixpanel’s automatic opt-out behavior.
- **Documentation**
- Added a comment explaining Mixpanel’s handling of telemetry preferences for improved transparency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: BS-3538
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved click handling for LaTeX blocks, making interactions more consistent and maintainable.
- Updated LaTeX editor menu layout to enhance vertical scrolling, ensuring better usability with large content.
- **Style**
- Added a maximum height and vertical scrolling to the LaTeX editor for improved user experience with lengthy formulas.
<!-- 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 select line width for pen tools, allowing users to customize brush and highlighter thickness in the toolbar menu.
- **Bug Fixes**
- Restored and verified the functionality for adding brush elements with different sizes, ensuring accurate rendering of brush strokes based on selected size.
- **Improvements**
- Enhanced slider component interaction by refining pointer event handling and updated slider styles for better touch interaction support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes [BS-3528](https://linear.app/affine-design/issue/BS-3528)
Fixes [BS-3331](https://linear.app/affine-design/issue/BS-3331/frame-移动逻辑很奇怪)
### Changed
- Remove `onSelected` method from gfx view, use `handleSelection` provided by `GfxViewInteraction` instead.
- Add `selectable` to allow model to filter out itself from selection.
- Frame can be selected by body only if it's locked or its background is not transparent.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced selection behavior for frames, edgeless text, notes, and mind map elements with refined control based on lock state and background transparency.
- Introduced group-aware selection logic promoting selection of appropriate group ancestors.
- Added support for element selection events in interactivity extensions.
- **Bug Fixes**
- Resolved frame selection issues by enabling selection via title clicks and restricting body selection to locked frames or those with non-transparent backgrounds.
- **Documentation**
- Added clarifying comments for group retrieval methods.
- **Tests**
- Updated and added end-to-end tests for frame and lock selection reflecting new selection conditions.
- **Refactor**
- Unified and simplified selection handling by moving logic from component methods to interaction handlers and removing deprecated selection methods.
- Streamlined selection candidate processing with extension-driven target suggestion.
- Removed legacy group element retrieval and selection helper methods to simplify interaction logic.
- **Style**
- Renamed types and improved type signatures for selection context and interaction configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2659

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated the share button to use the primary styling for improved visual emphasis.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2670
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated the maximum width of the settings modal for improved adaptability across different screen sizes.
<!-- 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 '@affine/admin' to the list of selectable packages for development commands.
- **Enhancements**
- Improved package selection prompt by displaying up to 10 choices at a time for easier navigation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2624, AF-2628, AF-2581
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a draggable handle to document cards in the explorer, visible on hover in card view.
- Added an option to remove grouping in the display menu.
- Added contextual tooltips for user avatars indicating creation or last update.
- Enabled optional tooltips on public user labels.
- Extended dropdown buttons to accept custom styling classes.
- Added a new masonry story showcasing item heights determined by ratios.
- **Style**
- Enhanced drag handle appearance and visibility for card view items.
- Replaced static shadows with theme-aware, smoothly transitioning shadows on card items.
- Adjusted spacing between items in the document explorer for improved layout, with increased horizontal and (in card view) vertical gaps.
- Reduced top padding in workspace page styles.
- Added new button background style for secondary buttons.
- **Bug Fixes**
- Removed duplicate internal property declarations to eliminate redundancy.
- **Refactor**
- Simplified layout props by removing fixed height parameters in multiple components.
- Updated masonry layout logic to support ratio-based item sizing alongside fixed heights.
- Removed randomized skeleton loading placeholders, replacing them with fixed or no placeholders.
- Refined masonry component typings and scrollbar placement for improved styling and layout.
- Improved selection logic to activate selection mode when selecting all documents.
- **Localization**
- Added new translation keys for grouping removal and user attribution tooltips.
- Updated English locale with new strings for "Remove group" and user-created/updated tooltips.
<!-- 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 background image to migration notifications that adapts to light or dark theme settings.
- **Style**
- Improved padding for migration notification containers for a more balanced appearance.
- Introduced new styling for the migration background image.
- **Chores**
- Updated translation completeness percentage for Argentinian Spanish.
<!-- 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**
- Implemented an exponential backoff retry strategy for job queues, resulting in progressively longer wait times between retry attempts.
<!-- 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 navigation header to include additional left padding for improved spacing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
Fix presentation mode space-drag interaction by disabling black background during panning and properly restoring presentation state.
### What changed?
- Modified how the presentation tool handles state restoration after panning
- Disabled black background during space-drag and middle-mouse panning in presentation mode
- Fixed tool state management to properly restore presentation mode after space panning
- Added direct modification of the current tool's activated options instead of triggering a full tool change
### How to test?
1. Create a frame in edgeless mode
2. Enter presentation mode
3. Press space and drag to pan around
4. Verify the black background disappears during panning
5. Verify presentation mode is properly restored after releasing space
6. Try the same with middle-mouse button dragging
### Why make this change?
The black background in presentation mode was causing visibility issues during panning operations. Additionally, the presentation state wasn't being properly restored after space-drag panning. These changes improve the user experience by making content visible during navigation while maintaining the presentation mode state.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Presentation mode now automatically hides the black background overlay when dragging with the space key or middle mouse button, improving visibility during navigation.
- **Bug Fixes**
- Improved handling of tool switching after panning in presentation mode, ensuring smoother transitions and state restoration.
- **Tests**
- Added an end-to-end test to verify that the black background is hidden during space-drag actions in presentation mode.
<!-- 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 "Delete permanently" and "Restore" quick actions for documents in the Trash, enabling users to restore or permanently delete trashed documents directly from the UI.
- Introduced multi-restore support, allowing batch restoration of selected trashed documents.
- **Improvements**
- Quick action tooltips are now localized for better international user experience.
- Trash page now uses an updated explorer interface for a more consistent and reactive document management experience.
- Enhanced quick actions with optional click handlers for better extensibility.
- **Documentation**
- Added new translation keys for "Delete permanently" and "Restore" actions.
<!-- 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 system stability by ensuring that indexing jobs do not run when the indexer feature is disabled.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3305](https://linear.app/affine-design/issue/BS-3305/白板按s应该使用上次的shape形状)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added a method to cycle through shape types when using the shape tool.
- **Bug Fixes**
- Improved shape tool behavior to ensure the selected shape type does not change unexpectedly after adding a new shape.
- **Tests**
- Added an end-to-end test to verify that the shape tool retains the selected shape type after adding a new shape.
- Enhanced shortcut tests to verify cycling shapes forward and backward using 's' and 'Shift+s' keys.
- **Refactor**
- Streamlined the logic for cycling through shape types and connector modes for improved maintainability.
- Removed external utility for cycling shapes, integrating the functionality directly into the shape tool.
- Updated keyboard shortcut handling to use the new cycling method within the shape tool.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix: https://github.com/toeverything/AFFiNE/issues/12403
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of certain table cell content to prevent potential display or behavior issues when content is missing.
- Updated language completeness data for Spanish (Argentina) locale.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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 -->