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 -->
Before (brush updated even when it's not being dragged):
https://github.com/user-attachments/assets/e56ce326-56ae-4cac-a5f8-86be35fd8fcd
After (fine-grained element level update):
https://github.com/user-attachments/assets/712f4e22-0830-455d-bbe1-0f575e8920ac
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved rendering performance by introducing incremental updates, ensuring only changed elements are updated instead of re-rendering everything.
- Enhanced responsiveness when elements are added, removed, or updated, as well as during viewport, size, or zoom changes.
- **Bug Fixes**
- Reduced unnecessary full re-renders, leading to smoother and more efficient user interactions.
<!-- 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 default export for the native binding in the frontend native module, allowing easier imports.
- **Refactor**
- Streamlined and updated Rust-to-JavaScript type conversions and lifetime handling for improved safety and consistency.
- Improved object and array construction in Rust modules for more idiomatic usage.
- Simplified boolean and null value handling in JavaScript interop layers.
- **Chores**
- Upgraded several dependencies and development tools to newer versions across backend, frontend, and common packages.
- Updated build scripts for the frontend native package to simplify commands.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- **fix(editor): clear selection after toggle latex editor**
- **chore: remove useless test**
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- LaTeX rendering now outputs MathML format for improved accessibility and compatibility.
- Added support for KaTeX styling to enhance LaTeX display in the playground.
- **Bug Fixes**
- Improved editor behavior by resetting the selection group before opening the LaTeX editor.
<!-- 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 log messages to include job IDs when jobs are removed from the queue, enhancing traceability for users monitoring job activity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR fixed that the block is missing in the selecte-all set after undo a dragging from canvas to note. Related to #12473
### Before
https://github.com/user-attachments/assets/828b4f48-689a-4975-bba6-f380f324de3c
### After
https://github.com/user-attachments/assets/9996c1ca-c3ea-415c-ab2b-359d826a1ffa
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of changes to child elements, ensuring more accurate updates when items are added or removed. This results in more reliable display and interaction with nested components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix AF-2660
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Improved visual appearance of sidebar buttons and quick search input, including reduced sizes, updated padding, and enhanced hover effects.
- Adjusted layout spacing for quick search and new page elements in the sidebar.
- Updated share button styling to use the primary variant.
- **New Features**
- Notification cards now only display messages and action footers when relevant, providing a cleaner interface.
- **Refactor**
- Removed shortcut hint and spotlight elements from the quick search input for a simplified user 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**
- Improved server context awareness for workspaces on mobile web.
- Enhanced handling for missing workspaces by displaying a share page when accessing a document detail route in mobile web environments.
- **Bug Fixes**
- Workspace list now refreshes automatically when switching workspace IDs.
<!-- 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 resource management by introducing explicit cleanup for various middleware components, ensuring that resources are properly released when no longer needed.
- **Refactor**
- Updated middleware logic to support cleanup functions, enhancing the stability and performance of the application by preventing potential memory leaks.
- **Chores**
- Enhanced lifecycle management in core systems to automatically dispose of resources when appropriate.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR fixed that `rootComponent.viewportElement` is undefeined in edgeless mode, which leads that toast can not be render in playground.
388641bc89/blocksuite/affine/components/src/toast/create.ts (L23-L35)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved internal code organization for better maintainability. No changes to visible 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**
- Toolbar actions related to embedding and duplicating documents are now always available without restrictions.
- **Chores**
- Removed the feature flag controlling embed document alias features for a simpler user experience.
- **Tests**
- Updated test setup to remove reliance on the deprecated feature flag.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: #12624
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Updated the time formatting to display dates as "yyyy-mm-dd hh:mm" instead of "mm-dd hh:mm".
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AF-2615
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Enhancements**
- Improved the share menu's user experience by showing a loading indicator and disabling the public page button during revalidation. This prevents user interaction while the share info is updating.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close CLOUD-225
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added support for reading document blocks without requiring a workspace or root document snapshot.
- **Bug Fixes**
- Improved handling of large workspace snapshots by skipping them when they exceed 10MB.
- **Tests**
- Introduced new test cases to cover scenarios where root or workspace snapshots are absent.
- Expanded snapshot tests for document block reading.
- **Refactor**
- Updated several function signatures to make root and workspace snapshot parameters optional for greater flexibility.
<!-- 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**
- Improved layering of the sign-in page container to ensure it displays above other elements when necessary.
<!-- 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 reliability and clarity of loading state and error tracking in the editor, resulting in more accurate feedback during document loading.
<!-- 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 icon for the embedding workspace setting to a new design for improved visual clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
## TL;DR
Workspace embedding settings opt:
* **local workspace**: show enable cloud panel
* **no-access workspace**: disable settings panel


> CLOSE AI-155
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Embedding settings UI now displays a tooltip indicating that only workspace owners can enable Workspace Embedding.
- Embedding settings are modularized for local and cloud workspaces, with clear separation and appropriate enablement controls.
- Attachments in embedding settings cannot be deleted when the settings are disabled.
- **Accessibility**
- Settings wrapper now includes an aria-disabled attribute for improved assistive technology support.
- **Localization**
- Added a new tooltip message: "Only the workspace owner can enable Workspace Embedding."
- **Tests**
- Added end-to-end tests for local workspace UI and disabled state when not the workspace owner.
- **UI Improvements**
- Updated settings panel to better reflect disabled states with tooltips and conditional controls.
- Improved synchronization when opening the embedding settings panel for a smoother user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### Before
Extra padding between toolbaar and keyboard

### After

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved accuracy of keyboard height calculations by properly accounting for the navigation bar height on Android devices.
- **Refactor**
- Standardized naming conventions for navigation bar height methods and unit conversion utilities to enhance consistency across the app.
<!-- 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 an AI Playground accessible from the chat panel, allowing users to experiment with AI chat sessions in a dedicated modal interface.
- Added a playground icon to the chat panel for quick access to the new playground feature.
- Added new interactive components for managing AI chat sessions, including chat panels, session lists, and modal dialogs.
- **Improvements**
- Enhanced chat panel session management for a smoother experience by simplifying session filtering.
- Updated property names in chat input and composer components for improved clarity and consistency.
- Made tracking options optional in chat input and composer components to improve flexibility.
- **Bug Fixes**
- Corrected property bindings in AI chat composer to ensure proper panel sizing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3338](https://linear.app/affine-design/issue/BS-3338/center-peek-框选会出现奇怪的选区)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved the method for locating the viewport element to ensure it is found relative to a scoped host element rather than the entire document. No visible changes to user-facing features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: [BS-3564](https://linear.app/affine-design/issue/BS-3564/ui-embed-view-报错-ui-加-title)
Closes: [BS-3454](https://linear.app/affine-design/issue/BS-3454/点击-reload-后应该隐藏-attachment-embed-view-左下角-status(待新状态))
<img width="807" alt="Screenshot 2025-05-28 at 17 23 26" src="https://github.com/user-attachments/assets/9ecc29f8-73c6-4441-bc38-dfe9bd876542" />
<img width="820" alt="Screenshot 2025-05-28 at 17 45 37" src="https://github.com/user-attachments/assets/68e6db17-a814-4df4-a9fa-067ca03dec30" />
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added support for retrying failed uploads of attachments and images, allowing users to re-upload files directly from the error status interface.
- The error status dialog now dynamically displays "Retry" for upload failures and "Reload" for download failures, with appropriate actions for each.
- **Enhancements**
- Improved clarity and consistency in file type display and icon usage for attachments and citations.
- Button labels in the attachment interface now have capitalized text for better readability.
- **Bug Fixes**
- Streamlined error handling and status updates for attachment and image uploads/downloads, reducing redundant UI elements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Related to: [BS-3559](https://linear.app/affine-design/issue/BS-3559/ui-%E5%9B%BE%E7%89%87-loading-%E5%8F%98%E9%87%8F%E6%9B%B4%E6%96%B0)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Improved the appearance of image loading indicators by updating background and ring colors for a more consistent visual experience.
- **New Features**
- Added customization options for the loading icon's ring color.
- **Chores**
- Updated the "@toeverything/theme" dependency to version ^1.1.15 across multiple packages for improved consistency and compatibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3030](https://linear.app/affine-design/issue/BS-3030/侧边栏:toc-目录,这里拖动要限定一个最大高度,建议就-500-px)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Limited the drag preview container's height to 500px and hid overflow content for improved visual consistency during drag operations.
- **Bug Fixes**
- Enhanced drag preview appearance to prevent content from spilling outside the container.
<!-- 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 when updating collection information, ensuring data is correctly migrated and validated before saving changes. This prevents issues with incomplete or invalid collection data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close: BS-3567
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Improved the process for adding new views by centralizing related logic, resulting in a more streamlined and consistent user experience.
- **Chores**
- Enhanced event tracking for database views to support better analytics.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close [BS-3159](https://linear.app/affine-design/issue/BS-3159/输入法自带的键盘收起操作后-占位符还留着)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- The toolbar now automatically closes when the keyboard is dismissed and no panel is open, ensuring smoother user experience.
- Improved cleanup to prevent delayed actions after the toolbar is closed, enhancing stability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Close BS-3423
Close BS-3505
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated toolbar button background color and adjusted layout spacing for toolbar and preview buttons to improve visual consistency.
- **Refactor**
- Reorganized toolbar menu groups for better clarity, separating toggle and clipboard actions within the code block toolbar.
- **Bug Fixes**
- Improved UI interaction in code block tests to ensure menus behave as expected without closing prematurely.
<!-- 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**
- Adjusted logging verbosity to be more detailed in the 'canary' environment, providing debug-level logs, while maintaining info-level logs elsewhere.
<!-- 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 tracking for code block interactions, including language selection and preview toggling.
- Improved error reporting for HTML block preview failures, providing better visibility into issues.
- **Bug Fixes**
- Added explicit feedback and tracking when cross-origin isolation is not supported during code block preview setup.
<!-- 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 visibility of job start and finish events by updating logging level, making these events more prominent in logs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Documentation**
- Clarified citation formatting rules, specifying that multiple citations should not be grouped within a single bracket.
- Added support and examples for citing web URLs in the allowed citation formats.
- Improved formatting in the "About AFFiNE" section for better readability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Need to query the payload through job id for debugging
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Tests**
- Updated job metrics test to include an explicit job ID during execution.
- **Refactor**
- Enhanced job execution to support an optional job ID, improving job tracking and logging.
<!-- 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 tracking for document creation when importing with the clipper tool.
<!-- 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**
- Updated the migration notification with a clearer header and description to better guide users through the data migration 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
- **Removed Features**
- Removed all quota-reached modal dialogs, including both cloud and local storage quota notifications.
- Users will no longer see modal alerts when storage limits are reached in workspaces.
- **User Interface**
- Quota-reached modals and related styles have been removed from workspace layouts on both desktop and mobile.
- **Other Changes**
- Quota notification logic and related settings have been eliminated from the application.
- Maximum blob size enforcement and related callbacks have been removed from blob management.
- Localization entries related to file upload size limits and quota tips have been removed.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close CLOUD-223
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling for search requests to prevent issues when error details are missing, ensuring clearer fallback messages for unknown errors.
<!-- 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**
- Improved chat session forking to allow creating a fork without specifying the latest message, enabling more flexible session management.
- **Bug Fixes**
- Forking a chat session with an invalid latest message ID now correctly returns an error.
- **Tests**
- Added and updated test cases to cover session forking with missing or invalid latest message IDs, ensuring robust behavior in these scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling for ordering and grouping features to prevent disruptions and ensure the app continues running smoothly if errors occur.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
not changing the favicon.ico file to make sure the change will be updated on the user's browser to get rid of caching
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Updated the favicon URL across the application and link previews to include a version query parameter (`?v=2`) for better cache control.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: #12576
Closes: [BS-2080](https://linear.app/affine-design/issue/BS-2080/update-inline-code-font-size)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Style**
- Improved the appearance of code elements within lists by adjusting font size and padding.
- Updated inline code styling for better vertical alignment and consistency with surrounding text.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
### Changed
- Note scale issue
- Overlay should call refresh when `clear` is called
- Optimize edgeless-selected-rect to avoid unecessary rerendering
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Edgeless note blocks now respect both minimum and maximum size limits when resizing.
- **Improvements**
- Enhanced performance and responsiveness of resize and rotate handles in selection overlays by caching allowed handles and optimizing cursor management.
- Cursor styles for resize and rotate handles are now set more reliably and efficiently through declarative styling.
- **Bug Fixes**
- Ensured overlay clearing now properly refreshes the renderer for more consistent visual updates.
<!-- 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 icon for the "shared" property to use a new visual representation.
<!-- 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 file selection dialogs for attachments, imports, and uploads, allowing for more consistent and streamlined file picking across the app.
- **Bug Fixes**
- Resolved inconsistencies when selecting single or multiple files, ensuring a smoother user experience during file import and upload.
- **Refactor**
- Unified and simplified file selection logic throughout the app for better reliability and maintainability.
- Standardized import functions to uniformly handle arrays of files, enhancing consistency in file processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes [BS-2753](https://linear.app/affine-design/issue/BS-2753/)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added snapping support when resizing elements, improving alignment and precision during resize operations.
- Introduced new resize event handlers allowing extensions to customize resize behavior with start, move, and end callbacks.
- **Bug Fixes**
- Improved handling of snapping state to prevent errors during drag and resize actions.
- **Tests**
- Updated resizing tests to ensure consistent snapping behavior by removing default elements that could interfere with test results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes: BS-2782
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added KaTeX as a dependency to improve LaTeX rendering support.
- KaTeX styles are now applied globally for consistent math formatting.
- **Refactor**
- Updated LaTeX rendering to use inline math mode and removed MathML output.
- **Tests**
- Enhanced inline LaTeX tests with snapshot-based verification for consistent rendering.
- Added new snapshot files capturing expected LaTeX rendering outputs for various scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-28 02:23:45 +00:00
399 changed files with 12005 additions and 3387 deletions
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.