mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-13 21:05:19 +00:00
b3f0f38b41fec3143185e0139c36af08f889cf6f
6039 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b3f0f38b41 |
feat(editor): improve status display in attachment embed view (#12180)
Closes: [BS-3438](https://linear.app/affine-design/issue/BS-3438/attachment-embed-view-中的-status-组件) Closes: [BS-3447](https://linear.app/affine-design/issue/BS-3447/触发-litportal-re-render) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a visual status indicator for embedded attachments with reload capability. - Added a new resource status component to display error messages and reload actions. - **Improvements** - Enhanced attachment rendering flow with reactive state and unified embed handling. - Simplified resource state and blob URL lifecycle management. - Added status visibility flags for PDF and video embeds. - **Bug Fixes** - Improved error handling and refresh support for embedded content including PDFs, videos, and audio. - **Style** - Added styles for the attachment embed status indicator positioning. - **Refactor** - Streamlined attachment and resource controller implementations for better maintainability. - **Tests** - Added end-to-end test verifying PDF viewer reload and re-rendering in embed mode. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
66500669c8 |
perf(core): optimize rendering of all docs (#12188)
close AF-2605 [CleanShot 2025-05-08 at 13.56.38.mp4 <span class="graphite__hidden">(uploaded via Graphite)</span> <img class="graphite__hidden" src="https://app.graphite.dev/api/v1/graphite/video/thumbnail/LakojjjzZNf6ogjOVwKE/4e36e838-7c7f-4f0a-89a8-fd582c2ef573.mp4" />](https://app.graphite.dev/media/video/LakojjjzZNf6ogjOVwKE/4e36e838-7c7f-4f0a-89a8-fd582c2ef573.mp4) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Centralized state management in the document explorer using a reactive context, replacing prop drilling and local state with observable streams for preferences, selection, grouping, and view options. - Updated multiple components (display menus, quick actions, doc list items, group headers) to consume and update state directly via context observables. - Simplified component signatures by removing now-unnecessary props related to preferences and state handlers. - **Style** - Adjusted user avatar display: avatars now only have right margin when user names are shown, and vertical alignment was improved. - **New Features** - User avatar elements now include a data attribute to indicate if the user name is displayed. - **Bug Fixes** - Improved handling of document tags to prevent errors when tags are not in the expected format. - **Documentation** - Added missing group header property for updated date fields in workspace property types. - **Chores** - Clarified and renamed internal types for quick actions to improve code clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
76b4da54b7 |
chore(core): pdf viewer is enabled by default (#12207)
Related to: [BS-3101](https://linear.app/affine-design/issue/BS-3101/pdf-embed-模式的选中框选-和点开看详情有比较大的问题) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - PDF embed preview is now enabled by default for all users, regardless of workspace sharing mode. - **Bug Fixes** - Improved reliability of PDF viewer interaction in tests by updating the element used for visibility checks. - Enabled opening the PDF viewer peek view in readonly and sharing modes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8704c98c7e |
feat(editor): implement view extension manager with builder pattern (#12193)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Streamlined and modularized the configuration of editor and theme extensions, introducing a chainable API for extension management. - Migrated extension setup to use new provider classes and centralized patch logic, improving maintainability and consistency. - Updated internal extension retrieval processes to use a more explicit, stepwise initialization sequence. - Removed legacy theme and editor config registration from common views and editor setups. - Removed direct patch registrations from editor views, consolidating them into extension providers. - Renamed classes and variables for clarity and consistency across the codebase. - **New Features** - Added new extension providers for editor configuration, theme management, and edgeless block header customization, enabling more flexible and validated extension registration. - Introduced animated viewport focus and dynamic header rendering for edgeless notes and embedded synced documents. - Integrated reactive editor settings and toolbar configurations with workspace-aware base URL resolution. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7013f9b804 |
feat(core): new all docs header (#12182)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new grouped document explorer with a masonry layout, advanced filtering, and multi-select capabilities. - Added a floating toolbar for batch actions, such as deleting multiple documents. - Implemented a feature flag to enable the new "All Docs" page, allowing gradual rollout. - Added a new navigation component with links for Docs, Collections, and Tags. - Introduced a display menu button supporting additional menu properties. - **Enhancements** - Redesigned navigation headers across document, collection, and tag pages for improved consistency and usability. - Added new display and view toggling options for document lists. - Improved styling and responsiveness for explorer and header components. - Updated context to support dynamic view switching in the document explorer. - **Bug Fixes** - Updated context and prop types to enhance state management and user interactions. - **Refactor** - Replaced legacy page list views with a modern, grouped explorer interface. - Simplified and modularized header components and styles for better maintainability. - Removed workspace-specific controls from document headers to focus on explorer functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5f5de8e89d |
feat(server): workspace doc update event from indexer (#12186)
fix AI-108 fix AI-109 fix AI-13 |
||
|
|
918b3b2dab |
feat(server): permission check for workspace doc match (#12139)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved permission checks to ensure users only see document chunks they have read access to. - Enhanced error handling for clearer and more user-friendly error messages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2e3b721603 |
feat(core): new all docs list ui (#12102)
### New all docs list ui close AF-2531, AF-2585, AF-2586, AF-2580 ### What changed - a new `display-menu` component - properties visibility - quick actions visibility - extend DocPropertyType definition - `showInDocList`: configure whether to show in doc and how to show (stack | inline) - `docListProperty`: define how to render property in doc - `groupHeader`: define how to render group header when grouped - implement all properties's `docListProperty` renderer and `groupHeader` renderer - new `docs-view` component - render doc in `card` | `list` view - split doc card into minimal components for reuse in list and card views, as well as visibility control - implement docs-list with `<Masonry />` and multi-view support - for list view, make masonry column count always `1` <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Redesigned document explorer with multiple view modes (list, grid, masonry), grouping, selection, and multi-delete. - Added customizable display properties and quick actions (favorite, trash, split view, new tab, select) for documents. - Introduced new group header and document item components with improved styling and interaction. - Enabled dynamic rendering of document properties including tags, dates, users, templates, and themes. - Added filtering support for trash status and enhanced localization for UI elements. - Introduced drag handle size customization and expanded masonry layout configurability. - Added contextual "More" menu with document operations like favorite, info, duplicate, and trash. - Implemented shared context for explorer state management and multi-selection logic. - **Enhancements** - Improved virtual scrolling with active item tracking and configurable preload and debounce settings. - Responsive, theme-aware styling applied across explorer and property components. - Configurable UI elements and quick actions via user preferences. - Enhanced error messages for unsupported property types in filters. - Refined padding and layout calculations in masonry component for better visual consistency. - Avatar and date components refactored for explicit prop-driven rendering and customization. - **Bug Fixes** - Improved error messages for unsupported property types in filters. - **Documentation** - Added new localization keys and updated language completeness for new features. - **Chores** - Modularized workspace property types with list and group header display components. - Consolidated imports and enhanced code maintainability. - Added new CSS styling modules for explorer components and workspace property types. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
93e01b4442 |
feat(server): support installable license (#12181)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for installing self-hosted team licenses via encrypted license files. - Introduced a new "Onetime" license variant for self-hosted environments. - Added a GraphQL mutation to upload and install license files. - License details now display the license variant. - **Bug Fixes** - Improved error messages for license activation and expiration, including dynamic reasons. - **Localization** - Updated and improved license-related error messages for better clarity. - **Tests** - Added comprehensive end-to-end tests for license installation scenarios. - **Chores** - Enhanced environment variable handling and public key management for license verification. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3db91bdc8e | feat(server): expose threshold (#12023) | ||
|
|
cb49ab0f69 |
feat(server): rerank for matching (#12039)
fix AI-20 fix AI-77 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced relevance-based re-ranking for embedding results, improving the accuracy of content suggestions. - Added prioritization for workspace content that matches specific document IDs in search results. - Introduced a new scoped threshold parameter to refine workspace document matching. - **Improvements** - Increased default similarity threshold for file chunk matching, resulting in more precise matches. - Doubled candidate retrieval for file and workspace chunk matching to improve result quality. - Updated sorting to prioritize context-relevant documents in workspace matches. - Explicitly included original input content in re-ranking calls for better relevance assessment. - **Bug Fixes** - Adjusted re-ranking logic to return only highly relevant results based on confidence scores. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c24fde7168 |
fix(core): ai input cannot scroll (#12184)
### TL;DR fix: ai chat input cannot scroll > CLOSE AI-115 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Style** - Improved the appearance of the vertical scrollbar in the chat input area, making it visible and styled with custom colors and rounded corners. - **Bug Fixes** - The vertical scrollbar in the chat input now appears when needed, instead of being hidden. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
35aaf5f2b8 |
fix(core): hide onboarding until the ai features are stable (#12198)
> CLOSE AI-114 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Temporarily disabled the AI onboarding feature in workspace detail and layout pages. - **Chores** - Added placeholders indicating the suspension of the AI onboarding feature pending future improvements. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d51008bab5 |
feat(component): grouped masonry (#11958)
- support group for masonry - expand/collapse group - sticky group header  <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced Masonry component with support for grouped items, collapsible and sticky group headers. - Added multi-view transitions enabling switching between Masonry, Grid, and List layouts. - Introduced virtual scrolling with group support for efficient handling of large datasets. - New interactive storybook demonstrations showcasing grouped and multi-view Masonry scenarios. - **Improvements** - List view styling enhancements for improved clarity and layout. - Resize panel now supports customizable offset modifications during drag interactions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
108f9e760e |
fix(editor): disable html preview when no cross-origin isolated (#12192)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved compatibility by ensuring code block preview features only activate when the browser supports isolated contexts, preventing potential issues in unsupported environments. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6d012f093f |
fix(core): ai replace selection (#11875)
### TL;DR * Fix the issue of inaccurate content replacement in AI Replace Selection * Optimize unit Tests utils ### What Changed 1. Fixed the issue of inaccurate content replacement in AI Replace Selection: - Convert the AI Answer into a Snapshot, then transform it into a sequence of Blocks ready for insertion. - Invoke the `replaceSelectedTextWithBlocks` command to replace the current selection with blocks (given the complexity of block combinations, this command uses [ts-pattern](https://github.com/gvergnaud/ts-pattern) implementation to ensure compile-time prevention of pattern handling omissions). 2. Optimized unit test assertions for commands, now allowing direct document content comparison using `toEqualDoc`. ```ts const host = affine` <affine-page id="page"> <affine-note id="note"> <affine-paragraph id="paragraph-1">Hel<anchor />lo</affine-paragraph> <affine-paragraph id="paragraph-2">Wor<focus />ld</affine-paragraph> </affine-note> </affine-page> `; // .... const expected = affine` <affine-page id="page"> <affine-note id="note"> <affine-paragraph id="paragraph-1">Hel111</affine-paragraph> <affine-code id="code"></affine-code> <affine-paragraph id="paragraph-2">222ld</affine-paragraph> </affine-note> </affine-page> `; expect(host.doc).toEqualDoc(expected.doc); ``` 3. Added support for text cursors in unit test template syntax. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit > CLOSE BS-3278 - **New Features** - Introduced the ability to replace selected text in documents with blocks, supporting advanced merging and insertion scenarios for various block types. - **Bug Fixes** - Improved handling of text selection and cursor placement in document templates used for testing. - **Tests** - Added comprehensive tests for replacing selected text with blocks, including edge cases and complex selection scenarios. - Enhanced test utilities for document structure comparison and selection handling. - Updated end-to-end tests to verify correct replacement of selected text via AI-driven actions. - **Chores** - Added and updated dependencies to support new features. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6689bd1914 |
feat(editor): add created-time and created-by property for database block (#12156)
close: BS-3431 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added "Created By" property type and cell renderer, displaying creator's avatar and name in database blocks. - Introduced "Created Time" property type and cell renderer, showing formatted creation timestamps. - **Improvements** - Enhanced table and Kanban views with improved column and row movement, hiding, and statistics capabilities. - Streamlined property and row management with unified object handling and reactive signals for better performance and reliability. - Improved avatar display logic to handle removed or unnamed users gracefully. - Refactored property and row APIs to consolidate access patterns and support reactive updates. - Updated icon retrieval and reactive value access for improved UI responsiveness in database and Kanban cells. - Consolidated property and cell access methods to use "get or create" patterns ensuring consistent data availability. - Added locking mechanism to stabilize computed signals during locked states. - Modularized table and Kanban column and row abstractions for better encapsulation and maintainability. - **Bug Fixes** - Corrected row and column deletion, movement, and selection behaviors across table and Kanban views. - Fixed issues with property and row referencing, ensuring consistent handling of identifiers and objects. - Removed debugging logs and fixed method calls to align with updated APIs. - **Style** - Updated and simplified table column header styles for a cleaner appearance. - **Chores** - Added `@emotion/css` dependency for styling support. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7c8b977bf9 | feat(core): migration for created by and updated by fields (#12171) | ||
|
|
11dfc1d1df |
feat(editor): insert embed doc with quick search by default (#12165)
Close [BS-3404](https://linear.app/affine-design/issue/BS-3404/通过embed-doc时,插入的doc还是card-view,应该要默认embed-view) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added the ability to insert and display embedded synced documents, supporting different link types based on editor mode and user preferences. - Introduced new UI interactions and view options for embedded synced documents in edgeless mode. - **Bug Fixes** - Updated UI selectors and preference keys to ensure consistent behavior and correct application of user settings. - **Tests** - Added and updated end-to-end tests for embedding synced documents, including header interactions and viewport fitting. - Improved test coverage for quick search insertion and edgeless embed synced doc features. - **Chores** - Renamed settings and updated exports to align with new embedding functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d379143db3 |
refactor(core): use overcapacityMemberCount for quota checking instead of calculating the difference (#12117)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved accuracy of member quota warnings by updating the logic that detects when the member limit has been exceeded. - Enhanced test reliability by adjusting member list pagination test to better handle confirmation modals. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
52253e9e82 |
fix(nbstore): update workspace blob quota query (#12191)
Change the query for querying quota of Cloud Blob Storage. The original query used new fields, which caused errors in the old version of the server. This PR uses a simpler query to ensure compatibility. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added the ability to retrieve a workspace's blob storage quota, including both the raw limit and a human-readable format, via a new query. - **Bug Fixes** - Updated quota retrieval to use the new blob-specific quota query for improved accuracy. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
86742c1307 |
fix(core): public user avatar label mis-alignment (#12057)
 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Style** - Improved vertical alignment and positioning of elements in the public user label component for a more polished appearance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8399d99e79 |
feat(core): add collection rules module (#11683)
whats changed:
### orm
add a new `select$` method, can subscribe on only one field to improve batch subscribe performance
### yjs-observable
add a new `yjsObservePath` method, which can subscribe to changes from specific path in yjs. Improves batch subscribe performance
```ts
yjsGetPath(
this.workspaceService.workspace.rootYDoc.getMap('meta'),
'pages'
).pipe(
switchMap(pages => yjsObservePath(pages, '*.tags')),
map(pages => {
// only when tags changed
})
)
```
### standard property naming
All `DocProperty` components renamed to `WorkspaceProperty` which is consistent with the product definition.
### `WorkspacePropertyService`
Split the workspace property management logic from the `doc` module and create a new `WorkspacePropertyService`. The new service manages the creation and modification of properties, and the `docService` is only responsible for storing the property value data.
### new `<Filters />` component
in `core/component/filter`
### new `<ExplorerDisplayMenuButton />` component
in `core/component/explorer/display-menu`

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

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

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced comprehensive filtering, grouping, and ordering capabilities for workspace documents with reactive updates.
- Added a new "All Pages" workspace view supporting dynamic filters and display preferences.
- Developed UI components for filter creation, condition editing, and display menu controls.
- Launched enhanced tag management with inline editors, selection, creation, and deletion workflows.
- Added workspace property types with dedicated filter UIs including checkbox, date, tags, and text.
- Introduced workspace property management replacing document property handling.
- Added modular providers for filters, group-by, and order-by operations supporting various property types and system attributes.
- **Improvements**
- Standardized tag and property naming conventions across the application (using `name` instead of `value` or `title`).
- Migrated document property handling to workspace property-centric logic.
- Enhanced internationalization with additional filter and display menu labels.
- Improved styling for filter conditions, display menus, and workspace pages.
- Optimized reactive data subscriptions and state management for performance.
- Refined schema typings and type safety for workspace properties.
- Updated imports and component references to workspace property equivalents throughout frontend.
- **Bug Fixes**
- Resolved tag property inconsistencies affecting display and filtering.
- Fixed filter and tag selection behaviors for accurate and reliable UI interactions.
- **Chores**
- Added and refined test cases for ORM, observables, and filtering logic.
- Cleaned up legacy document property code and improved type safety.
- Modularized and restructured components for better maintainability.
- Introduced new CSS styles for workspace pages and display menus.
- Added framework module configurations for collection rules and workspace property features.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
2d1600fa00 |
refactor(core): implement doc created/updated by service (#12150)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Documents now automatically track and display "created by" and "updated by" user information. - Document creation and update timestamps are now managed and shown more accurately. - Workspace and document metadata (name, avatar) updates are more responsive and reliable. - Document creation supports middleware for customizing properties and behavior. - **Improvements** - Simplified and unified event handling for document list updates, reducing redundant event subscriptions. - Enhanced integration of editor and theme settings into the document creation process. - Explicit Yjs document initialization for improved workspace stability and reliability. - Consolidated journal-related metadata display in document icons and titles for clarity. - **Bug Fixes** - Fixed inconsistencies in how workspace and document names are set and updated. - Improved accuracy of "last updated" indicators by handling timestamps automatically. - **Refactor** - Removed deprecated event subjects and direct metadata manipulation in favor of more robust, reactive patterns. - Streamlined document creation logic across various features (quick search, journal, recording, etc.). - Simplified user avatar display components and removed cloud metadata dependencies. - Removed legacy editor setting and theme service dependencies from multiple modules. - **Chores** - Updated internal APIs and interfaces to support new metadata and event handling mechanisms. - Cleaned up unused code and dependencies related to editor settings and theme services. - Skipped flaky end-to-end test to improve test suite stability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
93d74ff220 |
chore: bump up all non-major npm dependencies (#12174)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@ai-sdk/anthropic](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.10` -> `1.2.11`](https://renovatebot.com/diffs/npm/@ai-sdk%2fanthropic/1.2.10/1.2.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@ai-sdk/google](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.16` -> `1.2.17`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.16/1.2.17) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@ai-sdk/openai](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.3.21` -> `1.3.22`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.21/1.3.22) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@ai-sdk/perplexity](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.1.8` -> `1.1.9`](https://renovatebot.com/diffs/npm/@ai-sdk%2fperplexity/1.1.8/1.1.9) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@commitlint/config-conventional](https://commitlint.js.org/) ([source](https://redirect.github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)) | [`19.8.0` -> `19.8.1`](https://renovatebot.com/diffs/npm/@commitlint%2fconfig-conventional/19.8.0/19.8.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.15.0` -> `9.16.1`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.15.0/9.16.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.15.14` -> `22.15.16`](https://renovatebot.com/diffs/npm/@types%2fnode/22.15.14/22.15.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [ai](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.3.14` -> `4.3.15`](https://renovatebot.com/diffs/npm/ai/4.3.14/4.3.15) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.52.1` -> `5.52.2`](https://renovatebot.com/diffs/npm/bullmq/5.52.1/5.52.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [electron](https://redirect.github.com/electron/electron) | [`36.1.0` -> `36.2.0`](https://renovatebot.com/diffs/npm/electron/36.1.0/36.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.507.0` -> `^0.508.0`](https://renovatebot.com/diffs/npm/lucide-react/0.507.0/0.508.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [react-hook-form](https://www.react-hook-form.com) ([source](https://redirect.github.com/react-hook-form/react-hook-form)) | [`7.56.2` -> `7.56.3`](https://renovatebot.com/diffs/npm/react-hook-form/7.56.2/7.56.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.navigation:navigation-ui-ktx](https://developer.android.com/jetpack/androidx/releases/navigation#2.9.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `2.8.9` -> `2.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.navigation:navigation-fragment-ktx](https://developer.android.com/jetpack/androidx/releases/navigation#2.9.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `2.8.9` -> `2.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.navigation:navigation-compose](https://developer.android.com/jetpack/androidx/releases/navigation#2.9.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `2.8.9` -> `2.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.lifecycle:lifecycle-viewmodel-compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `2.8.7` -> `2.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.lifecycle:lifecycle-runtime-compose](https://developer.android.com/jetpack/androidx/releases/lifecycle#2.9.0) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `2.8.7` -> `2.9.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.datastore:datastore-preferences](https://developer.android.com/jetpack/androidx/releases/datastore#1.1.6) ([source](https://cs.android.com/androidx/platform/frameworks/support)) | `1.2.0-alpha01` -> `1.2.0-alpha02` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
| [androidx.compose:compose-bom](https://developer.android.com/jetpack) | `2025.04.01` -> `2025.05.00` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>vercel/ai (@​ai-sdk/anthropic)</summary>
### [`v1.2.11`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/react%401.2.11)
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/anthropic@1.2.10...@ai-sdk/anthropic@1.2.11)
##### Patch Changes
- [`6c59ae7`](https://redirect.github.com/vercel/ai/commit/6c59ae7): feat (ui/react): support resuming an ongoing stream
- Updated dependencies \[[`6c59ae7`](https://redirect.github.com/vercel/ai/commit/6c59ae7)]
- [@​ai-sdk/ui-utils](https://redirect.github.com/ai-sdk/ui-utils)[@​1](https://redirect.github.com/1).2.10
</details>
<details>
<summary>conventional-changelog/commitlint (@​commitlint/config-conventional)</summary>
### [`v19.8.1`](https://redirect.github.com/conventional-changelog/commitlint/blob/HEAD/@​commitlint/config-conventional/CHANGELOG.md#1981-2025-05-08)
[Compare Source](https://redirect.github.com/conventional-changelog/commitlint/compare/v19.8.0...3c302008cabeb0b08cd246b2417a51a9d745a918)
**Note:** Version bump only for package [@​commitlint/config-conventional](https://redirect.github.com/commitlint/config-conventional)
</details>
<details>
<summary>getsentry/sentry-javascript (@​sentry/react)</summary>
### [`v9.16.1`](https://redirect.github.com/getsentry/sentry-javascript/blob/HEAD/CHANGELOG.md#9161)
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.16.0...9.16.1)
- fix(core): Make sure logs get flushed in server-runtime-client ([#​16222](https://redirect.github.com/getsentry/sentry-javascript/pull/16222))
- ref(node): Remove vercel flushing code that does nothing ([#​16217](https://redirect.github.com/getsentry/sentry-javascript/pull/16217))
### [`v9.16.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.16.0)
[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.15.0...9.16.0)
##### Important changes
- **feat: Create a Vite plugin that injects sentryConfig into the global config ([#​16197](https://redirect.github.com/getsentry/sentry-javascript/pull/16197))**
Add a new plugin `makeConfigInjectorPlugin` within our existing vite plugin that updates the global vite config with sentry options
- **feat(browser): Add option to sample linked traces consistently ([#​16037](https://redirect.github.com/getsentry/sentry-javascript/pull/16037))**
This PR implements consistent sampling across traces as outlined in ([#​15754](https://redirect.github.com/getsentry/sentry-javascript/pull/15754))
- **feat(cloudflare): Add support for durable objects ([#​16180](https://redirect.github.com/getsentry/sentry-javascript/pull/16180))**
This PR introduces a new `instrumentDurableObjectWithSentry` method to the SDK, which instruments durable objects. We capture both traces and errors automatically.
- **feat(node): Add Prisma integration by default ([#​16073](https://redirect.github.com/getsentry/sentry-javascript/pull/16073))**
[Prisma integration](https://docs.sentry.io/platforms/javascript/guides/nextjs/configuration/integrations/prisma/) is enabled by default, it should work for both ESM and CJS.
- **feat(react-router): Add client-side router instrumentation ([#​16185](https://redirect.github.com/getsentry/sentry-javascript/pull/16185))**
Adds client-side instrumentation for react router's `HydratedRouter`. To enable it, simply replace `browserTracingIntegration()` with `reactRouterTracingIntegration()` in your client-side init call.
- **fix(node): Avoid double-wrapping http module ([#​16177](https://redirect.github.com/getsentry/sentry-javascript/pull/16177))**
When running your application in ESM mode, there have been scenarios that resulted in the `http`/`https` emitting duplicate spans for incoming requests. This was apparently caused by us double-wrapping the modules for incoming request isolation.
In order to solve this problem, the modules are no longer monkey patched by us for request isolation. Instead, we register diagnostics*channel hooks to handle request isolation now.
While this is generally not expected to break anything, there is one tiny change that \_may* affect you if you have been relying on very specific functionality:
The `ignoreOutgoingRequests` option of `httpIntegration` receives the `RequestOptions` as second argument. This type is not changed, however due to how the wrapping now works, we no longer pass through the full RequestOptions, but re-construct this partially based on the generated request. For the vast majority of cases, this should be fine, but for the sake of completeness, these are the only fields that may be available there going forward - other fields that *may* have existed before may no longer be set:
```ts
ignoreOutgoingRequests(url: string, {
method: string;
protocol: string;
host: string;
hostname: string; // same as host
path: string;
headers: OutgoingHttpHeaders;
})
```
##### Other changes
- feat(cloudflare): Add logs exports ([#​16165](https://redirect.github.com/getsentry/sentry-javascript/pull/16165))
- feat(vercel-edge): Add logs export ([#​16166](https://redirect.github.com/getsentry/sentry-javascript/pull/16166))
- feat(cloudflare): Read `SENTRY_RELEASE` from `env` ([#​16201](https://redirect.github.com/getsentry/sentry-javascript/pull/16201))
- feat(node): Drop `http.server` spans with 404 status by default ([#​16205](https://redirect.github.com/getsentry/sentry-javascript/pull/16205))
- fix(browser): Respect manually set sentry tracing headers in XHR requests ([#​16184](https://redirect.github.com/getsentry/sentry-javascript/pull/16184))
- fix(core): Respect manually set sentry tracing headers in fetch calls ([#​16183](https://redirect.github.com/getsentry/sentry-javascript/pull/16183))
- fix(feedback): Prevent `removeFromDom()` from throwing ([#​16030](https://redirect.github.com/getsentry/sentry-javascript/pull/16030))
- fix(node): Use class constructor in docstring for winston transport ([#​16167](https://redirect.github.com/getsentry/sentry-javascript/pull/16167))
- fix(node): Fix vercel flushing logic & add test for it ([#​16208](https://redirect.github.com/getsentry/sentry-javascript/pull/16208))
- fix(node): Fix 404 route handling in express 5 ([#​16211](https://redirect.github.com/getsentry/sentry-javascript/pull/16211))
- fix(logs): Ensure logs can be flushed correctly ([#​16216](https://redirect.github.com/getsentry/sentry-javascript/pull/16216))
- ref(core): Switch to standardized log envelope ([#​16133](https://redirect.github.com/getsentry/sentry-javascript/pull/16133))
#### Bundle size 📦
| Path | Size |
| ---------------------------------------------------------------- | ----------------- |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) | 23.35 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags | 23.19 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing) | 37.25 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) | 74.47 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 68.34 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas) | 79.12 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback) | 90.93 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback) | 39.75 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback) | 27.98 KB |
| [@​sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync) | 32.74 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react) | 25.16 KB |
| [@​sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing) | 39.24 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue) | 27.63 KB |
| [@​sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing) | 39.01 KB |
| [@​sentry/svelte](https://redirect.github.com/sentry/svelte) | 23.38 KB |
| CDN Bundle | 24.55 KB |
| CDN Bundle (incl. Tracing) | 37.29 KB |
| CDN Bundle (incl. Tracing, Replay) | 72.33 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) | 77.64 KB |
| CDN Bundle - uncompressed | 71.62 KB |
| CDN Bundle (incl. Tracing) - uncompressed | 110.34 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed | 221.63 KB |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed | 234.15 KB |
| [@​sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client) | 40.84 KB |
| [@​sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client) | 37.73 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node) | 144.43 KB |
| [@​sentry/node](https://redirect.github.com/sentry/node) - without tracing | 96.3 KB |
| [@​sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless) | 120.66 KB |
</details>
<details>
<summary>taskforcesh/bullmq (bullmq)</summary>
### [`v5.52.2`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.52.2)
[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.52.1...v5.52.2)
##### Bug Fixes
- **worker:** maxStalledCount no less than 0 ([#​3249](https://redirect.github.com/taskforcesh/bullmq/issues/3249)) fixes [#​3248](https://redirect.github.com/taskforcesh/bullmq/issues/3248) ([34dcb8c](
|
||
|
|
f8fada0b10 |
feat(core): mark reasoning summary as markdown callout (#12176)
Close [AI-75](https://linear.app/affine-design/issue/AI-75)  <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved formatting for AI-generated reasoning and web search results, displaying them as callout blocks for enhanced readability. - Expanded support for rendering callout blocks in the text renderer. - **Style** - Adjusted layout to ensure callout blocks retain appropriate spacing and appearance. - **Refactor** - Simplified and unified the integration of web search tools for AI providers. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5d2b3e9c4b |
chore: bump up apollographql/apollo-ios version to v1.21.0 (#12076)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | minor | `from: "1.20.0"` -> `from: "1.21.0"` | | [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | minor | `1.20.0` -> `1.21.0` | --- ### Release Notes <details> <summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary> ### [`v1.21.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1210) [Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.20.0...1.21.0) ##### New - **Enhanced Client Awareness ([#​638](https://redirect.github.com/apollographql/apollo-ios-dev/pull/638)):** Apollo iOS now sends the library name and version as metadata in the `extensions` key of each request. This Enhanced Client Awareness metric is collected in GraphOS along with the existing Client Awareness and general operation metrics. ##### Improvement - **Removed SQLite.swift dependency ([#​635](https://redirect.github.com/apollographql/apollo-ios-dev/pull/635)):** Removed the dependency on `SQLite.swift` and replaced it with direct interaction with the SQLite C API. ##### Fixed - **Fix possible data races in the WebSocketTransport ([#​636](https://redirect.github.com/apollographql/apollo-ios-dev/pull/636)):** Fixes possible data race issues in the `subscriptions` property inside of `WebSocketTransport`. *Thank you to [@​tahirmt](https://redirect.github.com/tahirmt) for the contribution.* - **Fix cache reading of null list items ([#​3527](https://redirect.github.com/apollographql/apollo-ios/issues/3527)):** Null list items would previously generate a `wrongType` error if stored and read from the cache. This refactors the execution logic to correctly handle values from cache references in lists. See PR [#​637](https://redirect.github.com/apollographql/apollo-ios-dev/pull/637). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
388641bc89 |
refactor(editor): rename doc to store on block components (#12173)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Unified internal data access by replacing all references from `doc` to `store` across all components, blocks, widgets, and utilities. This affects how readonly state, block operations, and service retrieval are handled throughout the application. - **Tests** - Updated all test utilities and test cases to use `store` instead of `doc` for document-related operations. - **Chores** - Updated context providers and property names to reflect the change from `doc` to `store` for improved consistency and maintainability. No user-facing features or behaviors have changed. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a45347656e |
chore: Lock file maintenance (#11832)
This PR contains the following updates: | Update | Change | |---|---| | lockFileMaintenance | All locks refreshed | 🔧 This Pull Request updates lock files to use the latest dependency versions. --- ### Configuration 📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNDguNCIsInVwZGF0ZWRJblZlciI6IjM5LjI0OC40IiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
32db367298 |
feat(core): add o4-mini model (#12175)
Close [AI-85](https://linear.app/affine-design/issue/AI-85) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced AI chat experience with improved web search integration, including a new "AUTO" mode that allows the AI to search the web only when needed. - Updated AI model for chat to "o4-mini" for improved performance. - **Improvements** - Refined instructions to reduce hallucinations and ensure the AI admits uncertainty when unsure. - Enhanced streaming responses to display web search queries and results more clearly. - Updated web search tool modes for more accurate and flexible search behavior. - Centralized AI provider options and improved tool selection logic for better response quality. - **Bug Fixes** - Improved handling of tool calls and reasoning steps in AI chat responses. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b4f56c0a78 |
fix(editor): attachment size in embed view (#12177)
Closes: [BS-3434](https://linear.app/affine-design/issue/BS-3434/修复-attachment-从-card-切换为-embed-尺寸问题) <img width="1073" alt="Screenshot 2025-05-07 at 20 38 53" src="https://github.com/user-attachments/assets/9fbb7e40-3c01-4473-88d8-3469758ed06b" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added dedicated embed actions for PDF and video attachments, ensuring consistent sizing and improved rendering for these media types. - **Refactor** - Centralized PDF and video embed card dimensions using shared constants for more consistent and maintainable sizing. - Improved styling for video embeds, including better layout and responsive sizing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
95b9e4b3d0 | refactor(editor): rename model.doc to store (#12172) | ||
|
|
610565e617 |
chore(editor): adjust embed synced doc ui (#12162)
Close [BS-3400](https://linear.app/affine-design/issue/BS-3400/ui-issues) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - The "View in Page" button has been renamed to "Open in Page" and now uses a new icon for improved clarity. - The menu for embedded synced documents is now integrated directly into the Open button for a more streamlined interface. - **Style** - Improved spacing and visual alignment in edgeless block headers, including dedicated styling for title icons and buttons. - Updated toolbar icon for better visual consistency. - Added background styling for embedded linked document blocks. - **Localization** - Updated translation keys and text to reflect the "Open in Page" terminology across all supported languages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
4c56b685a1 |
fix(editor): footnote and citation icon url should be built with image proxy (#12169)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved how bookmark and footnote icons are displayed by routing image URLs through an image proxy service for enhanced reliability and consistency. - **Refactor** - Adjusted the timing of service configuration for link previews and image proxies to occur after document initialization, ensuring more robust setup during content rendering. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3afecc0605 |
fix(core): cannot space inside ai panel input (#12167)
### TL;DR fix: cannot space inside ai panel input > CLOSE BS-3428 |
||
|
|
8ea39d5438 |
fix(core): cannot input space at the beginning of a blank paragraph (#12166)
### TL:DR fix: cannot input space at the beginning of a blank paragraph > CLOSE BS-3427 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved space key handling in the editor: pressing space on an empty AI input now hides the AI panel and inserts a space character back into the editor. - **Bug Fixes** - Prevented the AI panel from processing empty input when space is pressed, ensuring smoother user experience. - **Tests** - Added an end-to-end test verifying that pressing space on an empty AI input hides the AI panel and inserts a space. - **Refactor** - Streamlined event handling logic for space key detection in the editor. - **Chores** - Enhanced editor content retrieval to optionally preserve whitespace while removing invisible characters. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
267bb3a975 |
refactor(editor): introduce store container to make implement doc easier (#12146)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new store management system for handling document stores, improving efficiency and flexibility when working with document data. - **Refactor** - Updated internal store handling to use a centralized store container, simplifying store retrieval and removal across various components. - Renamed and updated several store-related method signatures for consistency and clarity. - Replaced editor extension loading logic with a new local implementation for better modularity. - **Chores** - Improved and streamlined the export of store-related modules for better maintainability. - Removed obsolete and redundant code related to previous store management approaches. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
93b1d6c729 |
fix(editor): improve image block upload and download states (#12017)
Related to: [BS-3143](https://linear.app/affine-design/issue/BS-3143/更新-loading-和错误样式) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a unified resource controller for managing image and attachment resources, providing improved loading, error, and state handling. - Added a visual loading indicator overlay to image blocks for better feedback during image loading. - **Improvements** - Simplified and centralized image and attachment state management, reducing redundant properties and manual state tracking. - Updated fallback UI for image blocks with clearer titles, descriptions, and improved layout. - Enhanced batch image block creation and download handling for improved efficiency. - Refined image block accessibility with improved alt text and streamlined rendering logic. - Centralized target model selection for image insertion in AI actions. - Reordered CSS declarations without affecting styling. - Improved reactive state tracking for blob upload/download operations in mock server. - **Bug Fixes** - Improved cleanup of object URLs to prevent resource leaks. - Adjusted toolbar logic to more accurately reflect available actions based on image state. - **Tests** - Updated end-to-end tests to match new UI text and behaviors for image loading and error states. - **Chores** - Refactored internal logic and updated comments for clarity and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8f6e604774 | feat(ios): add app track usage description (#12160) | ||
|
|
af7cbdaf7e |
fix(nbstore): should not force throw error (#12152)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved handling of oversized blobs by allowing operations to continue after notifying about size limits, instead of stopping execution with an error. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e45abebc7f |
chore: bump up is-svg version to v6 (#12071)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [is-svg](https://redirect.github.com/sindresorhus/is-svg) | [`^5.1.0` -> `^6.0.0`](https://renovatebot.com/diffs/npm/is-svg/5.1.0/6.0.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>sindresorhus/is-svg (is-svg)</summary> ### [`v6.0.0`](https://redirect.github.com/sindresorhus/is-svg/releases/tag/v6.0.0) [Compare Source](https://redirect.github.com/sindresorhus/is-svg/compare/v5.1.0...v6.0.0) ##### Breaking - Require Node.js 20 [`1ddf982`](https://redirect.github.com/sindresorhus/is-svg/commit/1ddf982) ##### Improvements - Use `@file-type/xml` for XML type determination ([#​40](https://redirect.github.com/sindresorhus/is-svg/issues/40)) [`e43ec24`](https://redirect.github.com/sindresorhus/is-svg/commit/e43ec24) *** </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
9702d45c9b |
fix(nbstore): improve blob size error handling with human-readable limit (#12027)
Closes: [BS-3332](https://linear.app/affine-design/issue/BS-3332/错误信息) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved error messages when file uploads exceed the allowed size, now showing the maximum file size limit in a human-readable format. - Enhanced status updates for oversized files by displaying clear error messages during blob uploads. - **Style** - Error messages for file size limits are now more user-friendly and informative. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b3b78335ad |
chore: bump up all non-major npm dependencies (#12157)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@ai-sdk/google](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.15` -> `1.2.16`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.15/1.2.16) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@aws-sdk/client-s3](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-s3)) | [`3.803.0` -> `3.804.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.803.0/3.804.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@aws-sdk/s3-request-presigner](https://redirect.github.com/aws/aws-sdk-js-v3/tree/main/packages/s3-request-presigner) ([source](https://redirect.github.com/aws/aws-sdk-js-v3/tree/HEAD/packages/s3-request-presigner)) | [`3.803.0` -> `3.804.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fs3-request-presigner/3.803.0/3.804.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.15.12` -> `22.15.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.15.12/22.15.14) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.15.12` -> `22.15.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.15.12/22.15.14) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [ai](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.3.13` -> `4.3.14`](https://renovatebot.com/diffs/npm/ai/4.3.13/4.3.14) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [slackapi/slack-github-action](https://redirect.github.com/slackapi/slack-github-action) | `v2.0.0` -> `v2.1.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | action | minor | | [com.android.tools.build:gradle](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.2` -> `8.10.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [com.android.library](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.2` -> `8.10.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | minor | | [com.android.application](https://developer.android.com/studio/build) ([source](https://android.googlesource.com/platform/tools/base)) | `8.9.2` -> `8.10.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | minor | --- ### Release Notes <details> <summary>vercel/ai (@​ai-sdk/google)</summary> ### [`v1.2.16`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.16) [Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.15...@ai-sdk/google@1.2.16) ##### Patch Changes - [`0ca6f2f`](https://redirect.github.com/vercel/ai/commit/0ca6f2f): feat(providers/google): add gemini-2.5-pro-preview-05-06 </details> <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary> ### [`v3.804.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#38040-2025-05-06) [Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.803.0...v3.804.0) **Note:** Version bump only for package [@​aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3) </details> <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/s3-request-presigner)</summary> ### [`v3.804.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#38040-2025-05-06) [Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.803.0...v3.804.0) **Note:** Version bump only for package [@​aws-sdk/s3-request-presigner](https://redirect.github.com/aws-sdk/s3-request-presigner) </details> <details> <summary>slackapi/slack-github-action (slackapi/slack-github-action)</summary> ### [`v2.1.0`](https://redirect.github.com/slackapi/slack-github-action/compare/v2.0.0...v2.1.0) [Compare Source](https://redirect.github.com/slackapi/slack-github-action/compare/v2.0.0...v2.1.0) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
bcc728a929 |
chore: bump up all non-major npm dependencies (#12151)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@ai-sdk/google](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.14` -> `1.2.15`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.14/1.2.15) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.5` -> `5.0.6`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.5/5.0.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@graphql-codegen/typescript-operations](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`4.6.0` -> `4.6.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.6.0/4.6.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@react-email/components](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/components)) | [`0.0.36` -> `0.0.38`](https://renovatebot.com/diffs/npm/@react-email%2fcomponents/0.0.36/0.0.38) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.20` -> `1.2.21` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch | | [chrono](https://redirect.github.com/chronotope/chrono) | `0.4.40` -> `0.4.41` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [cssnano](https://redirect.github.com/cssnano/cssnano) | [`7.0.6` -> `7.0.7`](https://renovatebot.com/diffs/npm/cssnano/7.0.6/7.0.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`25.0.2` -> `25.1.1`](https://renovatebot.com/diffs/npm/i18next/25.0.2/25.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.3` -> `2.12.4`](https://renovatebot.com/diffs/npm/jotai/2.12.3/2.12.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.5.1` -> `15.5.2`](https://renovatebot.com/diffs/npm/lint-staged/15.5.1/15.5.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.503.0` -> `^0.507.0`](https://renovatebot.com/diffs/npm/lucide-react/0.503.0/0.507.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [react-email](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email)) | [`4.0.7` -> `4.0.11`](https://renovatebot.com/diffs/npm/react-email/4.0.7/4.0.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`3.3.0` -> `3.4.0`](https://renovatebot.com/diffs/npm/shiki/3.3.0/3.4.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.44.2` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor | | [uniffi](https://mozilla.github.io/uniffi-rs) ([source](https://redirect.github.com/mozilla/uniffi-rs)) | `0.29.1` -> `0.29.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/vitest/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [webpack](https://redirect.github.com/webpack/webpack) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [webpack](https://redirect.github.com/webpack/webpack) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.1.20-2.0.0` -> `2.1.20-2.0.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | patch | | [com.apollographql.adapters:apollo-adapters-kotlinx-datetime](https://redirect.github.com/apollographql/apollo-kotlin-adapters) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.apollographql.adapters:apollo-adapters-core](https://redirect.github.com/apollographql/apollo-kotlin-adapters) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.apollographql.apollo](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | minor | | [com.apollographql.apollo:apollo-runtime](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [com.apollographql.apollo:apollo-api](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>vercel/ai (@​ai-sdk/google)</summary> ### [`v1.2.15`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.15) [Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.14...@ai-sdk/google@1.2.15) ##### Patch Changes - [`2afd354`](https://redirect.github.com/vercel/ai/commit/2afd354): fix(providers/google): accept nullish in safetyRatings </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/cli)</summary> ### [`v5.0.6`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#506) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.5...@graphql-codegen/cli@5.0.6) ##### Patch Changes - [#​10338](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10338) [`5d1c4e1`]( |
||
|
|
0ffa6fbe89 |
chore(server): hoist deps (#12145)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated workflow to move the node_modules directory during the build process. - Adjusted Prisma client output directory for improved file organization. - Removed unused properties from backend server package configuration. - **Refactor** - Simplified type annotations for improved code clarity in test utilities. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8940151ffe |
chore(server): dont use default export on @prisma/instrumentation (#12148)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Updated a backend dependency to the latest version to ensure continued compatibility and improvements. No user-facing changes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3ac92d0d27 |
chore(core): update onboarding snapshot (#12138)
fix AF-2590 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Tests** - Improved the flexibility of the "Unused blobs" count test by dynamically verifying the count before and after deletion, instead of relying on hardcoded values. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
53c531c931 |
feat(electron): add welcome page for meetings (#12042)
fix AF-2572   <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a Meetings welcome page with a beta disclaimer and "Get Started" flow. - Added separate toggles for AI auto summary and AI auto todo list in meeting settings. - Added "Beta" labels to relevant settings and sidebar items for clearer feature status. - Enhanced settings UI with improved headers, subtitles, and new styling. - **Improvements** - Meeting settings now allow independent control over AI-generated summaries and todo lists. - Updated internationalization to support new meeting and AI transcription features, including richer prompts and hints. - Refined logic for enabling meeting recording, including improved permission handling. - Simplified transcription logic to rely solely on AI enablement flag. - **Bug Fixes** - Fixed display and control of meeting settings based on beta disclaimer acceptance. - **Chores** - Updated localization files and completeness percentages for several languages. - Removed deprecated feature flag for enabling meetings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f79dfe837f |
feat(editor): support preview mode in code block (#11805)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a preview mode for code blocks, allowing users to toggle between code and rendered previews (e.g., HTML output) directly within the editor. - Added a preview toggle button to the code block toolbar for supported languages. - Enabled dynamic rendering of code block previews using a shared WebContainer, allowing live HTML previews in an embedded iframe. - Added HTML preview support with loading and error states for enhanced user feedback. - Integrated the preview feature as a view extension provider for seamless framework support. - **Bug Fixes** - Improved toolbar layout and button alignment for a cleaner user interface. - **Tests** - Added end-to-end tests to verify the new code block preview functionality and language switching behavior. - **Chores** - Updated development server configuration to include enhanced security headers. - Added a new runtime dependency for WebContainer support. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1e89aa48cb |
refactor(editor): remove unused code (#12142)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Streamlined internal logic for handling block operations to improve efficiency. - Removed unused reactive subject and related code from document handling classes. - Renamed a private initialization method for improved clarity. - **Chores** - Cleaned up redundant code and imports to simplify maintenance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |