<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved tag options management to use a reactive, real-time approach, ensuring tag options are always up to date throughout the application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2685
When the button is disabled, the frontmost icon is not positioned correctly. This commit is to fix the icon position.

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Improved the layout of the share menu trigger text by aligning its content vertically and adding spacing between elements for a cleaner appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close#12692
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling during migration rollbacks to better recognize and safely skip specific migration errors.
- Enhanced logging for migration rollback failures to provide clearer information without interrupting the process.
<!-- 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 workflow configuration to set the environment for the build process based on input parameters.
<!-- 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 the default setting for the indexer feature to be disabled by default.
- Added a sample environment variable for enabling the indexer in the example configuration file.
- Introduced a new environment variable for the indexer in the CI workflow configuration.
- **Tests**
- Adjusted test configurations to explicitly enable the indexer feature during test execution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3551](https://linear.app/affine-design/issue/BS-3551/citation埋点)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced citation tracking across attachments, bookmarks, embedded documents, paragraphs, footnotes, rename modals, and toolbars for actions like editing, deleting, expanding, and hovering on citations.
- Introduced a centralized citation service to unify citation detection and telemetry event management.
- **Chores**
- Updated service exports and telemetry modules to include the new citation service and citation-related event 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**
- The application now automatically becomes inactive when the document is hidden, improving resource management and responsiveness to visibility changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
v36 breaks worker loading in Electron's renderer
this use to work by turning off "PlzDedicatedWorker"
related to https://github.com/electron/electron/issues/43556
Before we know the root cause, revert back the electron version.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Chores**
- Updated the version of Electron used in the application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [AI-160](https://linear.app/affine-design/issue/AI-160)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved preview state management for code blocks, ensuring consistent behavior in both editable and readonly modes.
- **Refactor**
- Streamlined the way preview state is toggled and displayed for code blocks, resulting in a more reliable and maintainable user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
closes#12701
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling during migration rollbacks to prevent unnecessary errors when migrations were never applied.
<!-- 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 the handling of attachments in chat messages for more efficient processing of images and files without impacting user experience.
- **Chores**
- Added internal logging to enhance monitoring of AI model interactions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [AI-165](https://linear.app/affine-design/issue/AI-165)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced chat components to support advanced reasoning and network search options, providing more control over AI-powered interactions.
- Improved polling for context documents and files, now also triggered by additional chip types for more comprehensive updates.
- **Bug Fixes**
- Ensured consistent application of configuration settings across all relevant chat 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**
- Added support for ordering documents by their title.
- Introduced a new "title" system property type with an associated icon and display name.
- **Improvements**
- Enhanced system property types to allow more flexible filtering options.
- Improved filter condition handling to show an unknown filter UI when filtering methods or values are unavailable.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AI-162
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Chores**
- Improved database migration scripts to prevent errors by ensuring changes are only applied if relevant tables exist. No visible changes to user features or 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**
- All available integrations are now shown without restriction; calendar integration is always visible.
- **Chores**
- Removed an obsolete feature flag related to calendar integration.
<!-- 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 "Delete my account" option in mobile settings with role-based warnings and confirmation modals.
- **Enhancements**
- Added flexible row and reverse row layout options for modal footers and action buttons on mobile.
- **Localization**
- Added English translation for the "Delete my account" setting.
- **Style**
- Updated styles for modal footers and action buttons on mobile.
- Added styling for account deletion dialog descriptions.
<!-- 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**
- Enforced signup restrictions for OAuth login based on configuration settings. Users will not be able to sign up via OAuth if signup is disabled by the administrator.
- **Bug Fixes**
- Improved error handling during OAuth login when signup is not permitted.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- **feat(android): chat send & receive**
- **[WIP] feat(android): markdown style for chat**
- **fix(android): fix auto scroll & ai message id replacement**
- **feat(android): replace icons**
- **refactor(android): design system**
- **feat(android): markdown style for chat**
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a comprehensive custom theme system with new color palettes, typography, and theme modes (Light, Dark, System).
- Added support for rendering Markdown-formatted text in chat messages with custom styling.
- Integrated new vector icons for UI elements such as lists, camera, image, send, close, and more.
- Added composable icon and icon button components for consistent icon usage across the app.
- **Enhancements**
- Updated chat UI to use the new theme, icons, and Markdown rendering for AI messages.
- Improved chat message management and send button state handling with enhanced session retrieval and SSE stream processing.
- Refined app bar and dropdown menu components with updated icons and theme integration.
- Enhanced floating action button appearance with tinted vector drawable.
- Unified UI components and styling under the AFFiNE design system in chat input and app bars.
- **Bug Fixes**
- Corrected application and theme class naming for consistency.
- **Chores**
- Added new dependencies for rich text and Markdown support.
- Updated color and icon resources for a unified visual style.
- Removed deprecated headers from authentication requests.
<!-- 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 when observing document title changes by ensuring internal checks before updating.
- Enhanced document initialization to reuse existing documents when available, reducing unnecessary duplication and improving performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
refactor(core): add to edgeless as note icon
> CLOSE AI-152
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated the icon for the "Add to Edgeless as Note" chat action to improve visual representation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
It would cause the napi-derive not work as expect in workspace level
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved internal handling and type definitions for document parsing, resulting in clearer and more maintainable data structures.
- **Chores**
- Introduced a new feature flag for mobile native builds, enabling conditional compilation for enhanced flexibility across Android and iOS.
- Updated build scripts to support the new feature flag for both Android and iOS platforms.
- Updated iOS app dependencies to newer versions, including Apollo iOS, ChidoriMenu, and swift-collections, and removed SQLite.swift.
- **Tests**
- Enhanced Rust linting and testing workflows to run selectively across workspace packages with the new feature flag enabled.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Support [AI-59](https://linear.app/affine-design/issue/AI-59)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Updated the default AI model for chat prompts to use Claude Sonnet 4.
- **Bug Fixes**
- Improved model selection logic to better support reasoning features across more AI models.
- **Tests**
- Enhanced test cases with consistent instructions for response length.
- Skipped certain chat-related tests to refine test suite stability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
* fix: ai message copy bug
* Select a section of content in the Page
* Choose the user's question from the AI chat conversation history and copy it
* The copied (pasted) content will be the selected section from the Page
* fix: ai message paste bug
* Select a section of content in the Page
* Choose the user's question from the AI chat conversation history and copy it
* Paste it into the AI Input, and the content will be pasted back into the original Page text
> CLOSE AF-2683
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of copy and paste events in chat components to prevent unintended interactions with surrounding elements.
- Enhanced test stability by adding error handling during embedding progress checks.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AI-163
fix AI-164
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Tests**
- Added a new test to verify multi-turn chat interactions, ensuring accurate handling of chat history and correct responses for translation and explanation requests.
- **Bug Fixes**
- Improved chat session logic to better merge user messages and attachments, enhancing the accuracy and continuity of multi-step conversations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3351](https://linear.app/affine-design/issue/BS-3351/无法通过拖拽frame-title来拖拽frame)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved rendering performance and consistency for widgets within frames.
- Frame titles are now directly associated with individual frames and are draggable.
- **Bug Fixes**
- Selection logic for frames has been refined to better handle locked states and title area interactions.
- **Refactor**
- Frame title widget and related components have been simplified for clarity and maintainability.
- Removed dynamic positioning and click toggling from frame titles for a cleaner interaction model.
- **Tests**
- Added a test to verify that frame titles are draggable.
- Temporarily disabled tests related to frame title stacking and selection due to ongoing changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Tests**
- Improved test stability by handling potential errors during embedding progress checks in end-to-end tests.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### Changed
- Better snapping when resize elements
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved resizing behavior with enhanced alignment and snapping during element resizing, supporting rotation and multiple element selection.
- Alignment lines now display more accurately when resizing elements.
- **Refactor**
- Resizing logic updated to use scale factors instead of position deltas, enabling smoother and more precise resize operations.
- Resize event data now includes richer details about handle positions, scaling, and original bounds.
- Coordinate transformations and scaling now account for rotation and aspect ratio locking more robustly.
- Cursor updates are disabled during active resize or rotate interactions for a smoother user experience.
- **Tests**
- Updated resizing tests to use square shapes, ensuring consistent verification of aspect ratio maintenance.
<!-- 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**
- Improved internal monitoring for AI embedding operations to enhance reliability and performance tracking. No changes to user-facing features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3496](https://linear.app/affine-design/issue/BS-3496/toolbar-菜单字重)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated dropdown menu appearance by removing bold styling from button labels.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3578](https://linear.app/affine-design/issue/BS-3578/复制本的-url-无法识别)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved URL validation to recognize and allow IPv4 addresses when the origin matches the provided base URL.
- **Tests**
- Added a test to ensure URLs with IP addresses (e.g., http://127.0.0.1) are considered valid when the origin matches.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3148](https://linear.app/affine-design/issue/BS-3148/拖拽到note后,更新card样式)
### What Changes
- fix the style of card not updated after draggin it from canvas to note
- narrow type of specific card style by using `as const satisfies EmbedCardStyle[]`
- add type hint to the `props`, the second parameter of `store.updateBlock`
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added middleware to automatically update card styles when dragging blocks into notes.
- **Bug Fixes**
- Ensured that dragging a bookmark card into a note preserves its style.
- **Tests**
- Introduced an end-to-end test to verify bookmark card style is retained after drag-and-drop.
- **Refactor**
- Enhanced type safety and clarity for card style configurations and block properties.
- **Chores**
- Refined type annotations and assertions across multiple block style constants and toolbar configurations.
- Improved generic typing for block update methods to increase type precision.
<!-- 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 workspace embedding events to ensure they are only triggered for workspace-type spaces.
- **Chores**
- Added additional debug logging for document embedding jobs to aid in monitoring and troubleshooting.
<!-- 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 state management for display preferences, view mode, and selected collection in the "All Docs" page, making the experience more modular and consistent, especially when using multiple views.
- Updated the header component to handle view changes more directly, allowing smoother toggling between different document views.
- **New Features**
- Enhanced support for independent display settings in split view or multiple "All Docs" instances.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close: BS-3568
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added event tracking for filter creation in database views to improve activity monitoring and analytics.
- **Chores**
- Updated internal event types to support new database view tracking.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### TL;DR
* fix(core): prevent ai input tip loop-play
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added an option to control whether tips in the AI chat composer scroll continuously or stop after the last tip.
- **Style**
- Improved layout and spacing in the embedding status tooltip for better readability and alignment.
- **Refactor**
- Updated the structure of elements in the embedding status tooltip for more consistent 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**
- Introduced support for parsing and converting duration strings (e.g., "1h30m") into milliseconds and seconds.
- Added utility methods to handle a wide range of time units and their combinations.
- Added functions to calculate dates offset before or after a given date by specified durations.
- **Tests**
- Implemented comprehensive automated tests to ensure accurate parsing and conversion of duration strings.
<!-- 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 Apple OAuth login reliability by ensuring client version checks do not block the callback process.
- **New Features**
- Enhanced OAuth account information by including an optional display name field.
<!-- 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 button on the Request to Join page now dynamically updates its label to show "accept invitation" when an invitation is pending, improving clarity for users responding to workspace invites.
<!-- 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 rendering for diamond and triangle shapes using SVG, resulting in more accurate stroke and fill display.
- **Bug Fixes**
- Ensured background and border styles do not interfere with SVG-based shapes.
- **Tests**
- Added tests to verify correct DOM rendering for diamond and triangle shapes.
- **Refactor**
- Streamlined and clarified the rendering logic for polygonal shapes, separating SVG and CSS rendering paths.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->