close AI-218
#### PR Dependency Tree
* **PR #12861** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a "Recently Updated Documents" feature, allowing users to view a
paginated list of the most recently updated documents within a
workspace.
- Document metadata now includes a "title" field for easier
identification.
- **Tests**
- Introduced new end-to-end tests to verify the recently updated
documents query and its pagination behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### PR Dependency Tree
* **PR #12857** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling in document embedding jobs to log and skip
errors instead of interrupting the process.
- Enhanced logging with clearer messages about embedding outcomes and
skipped operations.
- Added warnings when documents or summaries are missing during
embedding.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AI-213
#### PR Dependency Tree
* **PR #12846** 👈
* **PR #12811**
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced support for AI-editable blocks in document parsing,
allowing blocks to include metadata for AI-based editing.
- Added rendering for todo list items with markdown checkbox syntax.
- Unsupported block types are now marked with placeholders in the parsed
output.
- **Tests**
- Added new test cases and snapshots to verify parsing behavior with
AI-editable content enabled.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
close AI-190
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced an endpoint to retrieve a document's markdown content and
title.
- Added backend support for parsing document snapshots directly into
markdown format.
- **Tests**
- Added comprehensive tests and snapshot files for markdown retrieval,
including success and error scenarios.
- Improved test coverage for content type validation and markdown
parsing utilities.
- **Documentation**
- Enhanced internal documentation through detailed test cases and
snapshot references for new markdown features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### PR Dependency Tree
* **PR #12812** 👈
* **PR #12846**
* **PR #12811**
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
Close [AI-193](https://linear.app/affine-design/issue/AI-193)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added support for streaming structured AI chat responses as objects,
enabling richer and more interactive chat experiences.
- Chat messages now include a new field displaying structured stream
objects, such as reasoning steps, text deltas, tool calls, and tool
results.
- GraphQL APIs and queries updated to expose these structured streaming
objects in chat histories.
- Introduced a new streaming chat endpoint for object-based responses.
- **Bug Fixes**
- Improved error handling for streaming responses to ensure more robust
and informative error reporting.
- **Refactor**
- Centralized and streamlined session preparation and streaming logic
for AI chat providers.
- Unified streaming setup across multiple AI model providers.
- **Tests**
- Extended test coverage for streaming object responses to ensure
reliability and correctness.
- **Documentation**
- Updated type definitions and schemas to reflect new streaming object
capabilities in both backend and frontend code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
fix AF-2692
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added comprehensive Windows support for audio and application capture,
including real-time microphone usage detection, combined microphone and
system audio recording, and application state monitoring.
- The "meetings" setting is now enabled on Windows as well as macOS.
- Conditional UI styling and attributes introduced for Windows
environments in the Electron renderer.
- **Bug Fixes**
- Enhanced file path handling and validation for Windows in Electron
file requests.
- **Refactor**
- Unified application info handling across platforms by consolidating
types into a single `ApplicationInfo` structure.
- Updated native module APIs by removing deprecated types, refining
method signatures, and improving error messages.
- Streamlined audio tapping APIs to use process IDs and consistent
callback types.
- **Documentation**
- Added detailed documentation for the Windows-specific audio recording
and microphone listener modules.
- **Chores**
- Updated development dependencies in multiple packages.
- Reorganized and added platform-specific dependencies and configuration
for Windows support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### PR Dependency Tree
* **PR #12615** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
---------
Co-authored-by: LongYinan <lynweklm@gmail.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Chores**
- Updated Gemini model identifiers from preview versions to their latest
stable versions across prompts and provider configurations. This ensures
continued compatibility and access to the latest Gemini 2.5 Flash and
Pro models. No changes to user-facing features or prompt content.
<!-- 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 document-related tools in chat prompts, including new options
for document keyword and semantic search.
- **Refactor**
- Renamed and reorganized document search tools for improved clarity in
tool selection and results display.
- **Bug Fixes**
- Ensured tool identifiers and results are consistent across chat and
search features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix android & ios selfhost syncing
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved WebSocket connection compatibility by enabling cross-origin
requests with credentials and restricting allowed HTTP methods to GET
and POST.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Co-authored-by: fengmk2 <fengmk2@gmail.com>
#### PR Dependency Tree
* **PR #12822** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added the ability to search for blob names by their IDs within a
workspace.
- **Tests**
- Introduced new test cases and snapshot tests to validate searching
blob names and reading filenames from document snapshots.
<!-- 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**
- Subscription end dates are now correctly saved and updated for Stripe
subscriptions, ensuring accurate display and management of subscription
periods.
<!-- 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 display of image and attachment blocks by ensuring image
captions are shown as content for images, while attachment names remain
as content for attachments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### PR Dependency Tree
* **PR #12815** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
---------
Co-authored-by: fengmk2 <fengmk2@gmail.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of document statuses to ensure documents without a finished or existing status are now explicitly marked as "processing" instead of remaining undefined.
- **Tests**
- Added comprehensive new tests and snapshot entries to verify document status merging, including edge cases and concurrent operations, ensuring robust and consistent behavior.
- **Enhancements**
- Updated context document listings to display the processing status for relevant documents.
<!-- 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 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#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 -->
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**
- 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 -->
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 -->
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 -->
<!-- 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 -->
<!-- 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
- **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**
- 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 -->
<!-- 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 -->
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
- **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
- **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 -->