mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-17 01:56:27 +08:00
d5e2fee31770ddeaee4e850f8d40a0b79d37aaeb
376 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
820c3fda63 |
refactor(editor): cleanup effects export (#12312)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Chores** - Removed multiple internal export entries related to effects modules across various packages. - Updated dependencies and configuration references to improve internal consistency. No visible changes for end-users. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a028f027be |
chore(editor): add tracking events to attachments (#12317)
Closes: [BS-3483](https://linear.app/affine-design/issue/BS-3483/event-tracking-loading-block) |
||
|
|
8726b0e462 |
refactor(editor): optimize pasting process of attachments and images (#12276)
Related to: [BS-3146](https://linear.app/affine-design/issue/BS-3146/import-paste-接口改进优化) |
||
|
|
b6e9c41ee3 |
fix(editor): mid button drag in presentation mode (#12309)
Fixes https://linear.app/affine-design/issue/BS-3448 Before this PR, presentation mode would force quit if user either: 1. Press space 2. Drag with mouse middle button Unfixed behavior: https://github.com/user-attachments/assets/8ff4e13a-69a8-4de6-8994-bf36e6e3eb49 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved presentation mode to preserve your current panned view when exiting pan mode or toggling fullscreen, preventing unwanted viewport resets. - Spacebar actions are now correctly disabled when using the frame navigator tool, avoiding accidental tool switches. - **New Features** - Enhanced presentation controls for smoother transitions and better handling of user navigation states. - Added a one-time toast notification for presentations without frames, shown only once per session for better user guidance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
147fa9a6b1 |
feat(editor): add line number display option for code block (#12305)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a toggle in the code block toolbar to show or hide line numbers for individual code blocks. - The display of line numbers now respects both global and per-block settings, allowing more flexible control. - **Style** - Updated styles to hide line numbers when disabled via the new toggle option. - **Tests** - Added end-to-end tests to verify toggling line numbers visibility and undo/redo behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3a2fe0bf91 |
refactor(editor): extract widgets (#12304)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced two new widgets: Edgeless Dragging Area and Note Slicer, now available for use. - Added extension support for these widgets, enabling enhanced interaction and integration within the application. - **Chores** - Updated package configurations and workspace settings to include the new widgets and their dependencies. - Added project references and configuration files to support modular development and build processes. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6052743671 |
refactor(editor): extract selected rect widget (#12290)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced the Edgeless Selected Rectangle widget, providing enhanced selection and interaction capabilities in edgeless mode. - Added rotation-aware resize cursors for improved usability when resizing selections. - Integrated new autocomplete panels and selection components for a smoother user experience. - **Refactor** - Modularized the Edgeless Selected Rectangle widget as a standalone package for better maintainability and integration. - Updated internal references and imports to utilize the new widget package. - **Chores** - Updated project and package configurations to include the new widget and ensure proper build and type-checking across the workspace. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6fabc0eb1f |
fix(editor): adjustment of scaled and folded synced doc (#12294)
Close [BS-3418](https://linear.app/affine-design/issue/BS-3418/折叠的embed-doc调整宽度时,会出现一个最小高度,不需要这个) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for dynamically scaling the height of embedded synced document blocks, including proper handling when folding and unfolding. - Introduced a new property to track the scaled height of folded synced document blocks. - **Bug Fixes** - Improved accuracy of height calculations for synced document blocks by accounting for both viewport zoom and block scale. - **Tests** - Enhanced end-to-end tests to consistently apply scaling before running size adjustment checks. - Added a utility function to simulate scaling elements with keyboard shortcuts during test execution. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
74b2d4dc2e |
fix(editor): use persisted state for presentation mode background config (#12293)
Fixed this issue (black background is on but the toggle state is not synced):  Issue source: https://linear.app/affine-design/issue/BS-3448 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - The background color now defaults to non-black for new users or when no previous setting exists. - Improved reliability when restoring user settings. - **New Features** - Changes to the background color setting are now saved and persist between sessions. - **Style** - Enhanced toggle switch responsiveness for background and toolbar settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
dd113f8605 |
fix(editor): ui bugs of database block (#12285)
fix: BS-3445, BS-3470, BS-3472, BS-3473 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Style** - Updated the alignment of the created time cell for improved layout consistency. - Limited the maximum width of the group view settings panel for better layout control. - Changed the icon for the "created by" property to enhance visual representation. - Updated the background color of file popover content for improved appearance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8c1013dfe2 | fix(editor): canvas element missing rotate during zooming (#12279) | ||
|
|
b1594fcf6f |
feat(editor): provide callout markdown export options middleware (#12283)
Closes: [BS-3491](https://linear.app/affine-design/issue/BS-3491/支持-callout-导出成-vitepress-文档站支持的-markdown-格式) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for exporting callout blocks in both GFM and Admonition markdown styles, including configurable admonition types and custom titles. - Introduced middleware to customize callout export options for markdown serialization. - **Tests** - Enhanced test coverage for callout markdown export, including scenarios with and without export middleware for different styles and content structures. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
278aa8f7a0 |
fix(editor): remove the fixation of created-by and created-time (#12260)
close: BS-3474, BS-3153 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Enhanced property addition to support specifying both type and name for new properties across databases and views. - Added context menu for selecting property type when adding new columns in table headers. - Introduced `addToGroup` functions to various group-by configurations for consistent grouping behavior. - **Bug Fixes** - Improved grouping logic to treat empty arrays as ungrouped in multi-member group configurations. - Refined grouping behavior to respect explicit group addition settings. - Ensured grouping operations only occur when both group key and row ID are present. - **Tests** - Updated test expectations to align with revised default column naming conventions. - Adjusted test utilities to accommodate the updated property addition method. - Improved typing simulation in column type selection for more reliable test execution. - **Improvements** - Introduced a new root component rendering on the share page to enhance UI integration. - Refined default property naming logic for clearer and more consistent column titles. - Simplified created-time and created-by property configurations for better maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7c22b3931f |
refactor(editor): cleanup dead code (#12281)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Streamlined and consolidated block and inline extension exports by removing multiple block-spec and inline extension arrays from public APIs. - Reduced exported constants, types, and utility functions related to various block and embed features. - Simplified the codebase by removing deprecated type guards, adapter extensions, and redundant extension groupings. - **Chores** - Cleaned up internal APIs by deleting unused exports, imports, and outdated code, enhancing maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9cabe03386 | refactor(editor): add dom renderer entry for canvas element (#12149) | ||
|
|
6358249aea |
feat(editor): update code block ui (#12254)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Updated the code block toolbar to use a toggle switch for the "wrap" option, providing a more interactive user experience. - **Style** - Adjusted the height of the language selection button for consistent appearance. - Refined code block container padding and increased spacing for line numbers to improve readability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
3ebed1d5a8 |
chore(editor): adjust size of synced doc (#12163)
Close [BS-3418](https://linear.app/affine-design/issue/BS-3418/折叠的embed-doc调整宽度时,会出现一个最小高度,不需要这个) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved resizing and folding interactions for embedded synced documents in edgeless mode, including dynamic height calculation and enhanced drag-handle styling. - **Bug Fixes** - Adjusted minimum height for synced document embeds to allow more compact display. - Ensured consistent width settings across embed cards. - **Tests** - Added end-to-end tests covering folding, unfolding, and resizing behaviors for edgeless synced document embeds. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
26ece014f1 |
fix(editor): support relative image reference path when importing zip with images (#12264)
Closes: [BS-3385](https://linear.app/affine-design/issue/BS-3385/markdown类型的导入,支持media文件和md文件不在同目录的情况) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added utility functions to resolve and normalize image file paths in markdown and HTML imports. - Introduced middleware to provide full file path context during file import and transformation. - Added new types for improved asset and file management in zip imports. - **Refactor** - Centralized and simplified image processing logic across HTML, Markdown, and Notion HTML adapters for improved maintainability. - Enhanced type safety and clarity in file and asset handling during zip imports. - **Tests** - Added comprehensive tests for image file path resolution utility. - **Documentation** - Improved inline code comments explaining file path resolution logic. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a2a90df276 |
feat(editor): add grouping support for member property of the database block (#12243)
close: BS-3433 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced advanced group-by configurations for database blocks with user membership support. - Added a React hook for fetching and displaying user information in member-related components. - Enabled dynamic user and membership data types in database properties. - **Improvements** - Replaced context-based service access with a dependency injection system for shared services and state. - Enhanced type safety and consistency across group-by UI components and data handling. - Centralized group data management with a new Group class and refined group trait logic. - **Bug Fixes** - Improved reliability and consistency in retrieving and rendering user and group information. - **Style** - Removed obsolete member selection styles for cleaner UI code. - **Chores** - Registered external group-by configurations via dependency injection. - Refactored internal APIs for data sources, views, and group-by matchers to use service-based patterns. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
08d6c5a97c |
refactor(editor): rewrite resize and rotate (#12054)
### Changed
This pr split the old `edgeless-selected-rect` into four focused modules:
- `edgeless-selected-rect`: Provide an entry point for user operation on view layer only, no further logic here.
- `GfxViewInteractionExtension`: Allow you to plug in custom resize/rotate behaviors for block or canvas element. If you don’t register an extension, it falls back to the default behaviours.
- `InteractivityManager`: Provide the API that accepts resize/rotate requests, invokes any custom behaviors you’ve registered, tracks the lifecycle and intermediate state, then hands off to the math engine.
- `ResizeController`: A pure math engine that listens for pointer moves and pointer ups and calculates new sizes, positions, and angles. It doesn’t call any business APIs.
### Customizing an element’s resize/rotate behavior
Call `GfxViewInteractionExtension` with the element’s flavour or type plus a config object. In the config you can define:
- `resizeConstraint` (min/max width & height, lock ratio)
- `handleResize(context)` method that returns an object containing `beforeResize`、`onResizeStart`、`onResizeMove`、`onResizeEnd`
- `handleRotate(context)` method that returns an object containing `beforeRotate`、`onRotateStart`、`onRotateMove`、`onRotateEnd`
```typescript
import { GfxViewInteractionExtension } from '@blocksuite/std/gfx';
GfxViewInteractionExtension(
flavourOrElementType,
{
resizeConstraint: {
minWidth,
maxWidth,
lockRatio,
minHeight,
maxHeight
},
handleResize(context) {
return {
beforeResize(context) {},
onResizeStart(context) {},
onResizeMove(context) {},
onResizeEnd(context) {}
};
},
handleRotate(context) {
return {
beforeRotate(context) {},
onRotateStart(context) {},
onRotateMove(context) {},
onRotateEnd(context) {}
};
}
}
);
```
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added interaction extensions for edgeless variants of attachment, bookmark, edgeless text, embedded docs, images, notes, frames, AI chat blocks, and various embed blocks (Figma, GitHub, HTML, iframe, Loom, YouTube).
- Introduced interaction extensions for graphical elements including connectors, groups, mind maps, shapes, and text, supporting constrained resizing and rotation disabling where applicable.
- Implemented a unified interaction extension framework enabling configurable resize and rotate lifecycle handlers.
- Enhanced autocomplete overlay behavior based on selection context.
- **Refactor**
- Removed legacy resize manager and element-specific resize/rotate logic, replacing with a centralized, extensible interaction system.
- Simplified resize handle rendering to a data-driven approach with improved cursor management.
- Replaced complex cursor rotation calculations with fixed-angle mappings for resize handles.
- Streamlined selection rectangle component to use interactivity services for resize and rotate handling.
- **Bug Fixes**
- Fixed connector update triggers to reduce unnecessary updates.
- Improved resize constraints enforcement and interaction state tracking.
- **Tests**
- Refined end-to-end tests to use higher-level resize utilities and added finer-grained assertions on element dimensions.
- Enhanced mouse movement granularity in drag tests for better simulation fidelity.
- **Chores**
- Added new workspace dependencies and project references for the interaction framework modules.
- Extended public API exports to include new interaction types and extensions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
4ebeb530e0 |
refactor(editor): config the extension provider directly (#12252)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new export paths to improve module accessibility for foundation store and view components. - Introduced new extension points for telemetry, font configuration, link preview cache, and peek view services in the view extension foundation. - **Improvements** - Enhanced flexibility by allowing optional configuration of placeholders in paragraph view extensions. - Switched to runtime schema validation for font configuration, increasing reliability. - Streamlined service registration for peek view providers. - **Refactor** - Centralized and simplified extension management by removing redundant extension files and consolidating setup logic. - Updated internal integration of telemetry, font, and peek view services for improved maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0d518adc5b |
refactor(editor): add cache extension for link preview service (#12196)
Closes: [BS-2578](https://linear.app/affine-design/issue/BS-2578/优化-footnote-预览的逻辑:支持缓存结果,避免重复-loading) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a link preview caching mechanism, enabling faster and more efficient reuse of link preview data across the app. - Added a feature flag for enabling or disabling link preview cache, configurable through workspace experimental settings. - Enhanced localization with new entries describing the link preview cache feature. - **Improvements** - Updated link preview service architecture for better extensibility and maintainability. - Improved integration of feature flags throughout chat and rendering components. - **Bug Fixes** - Fixed tooltip formatting for footnote URLs. - **Chores** - Updated dependencies and localization completeness tracking. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
cb550b7b21 |
refactor(editor): extract mobile extension builder (#12239)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new mobile view extension that activates mobile-specific UI features based on the runtime environment. - Automatically enables mobile keyboard toolbar and linked document menu features in mobile contexts. - **Improvements** - Simplified code and paragraph block configurations on mobile, including disabling line numbers and adjusting placeholders. - Enhanced configuration chaining to include mobile-specific settings by default. - Improved extension registration flow with method chaining support. - **Refactor** - Removed deprecated mobile patch classes and configurations, consolidating mobile logic into dedicated extensions. - Streamlined mobile-related code for better maintainability and performance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0464e03b92 |
chore(editor): add telemetry for note, embed doc and linked doc (#12234)
Close [BS-3480](https://linear.app/affine-design/issue/BS-3480/event-tracking) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added telemetry tracking to toolbar actions for embedding documents, duplicating notes, and toggling note display modes. - Telemetry events now track when new note blocks are created from drag-and-drop actions on the whiteboard. - **Chores** - Improved event tracking for user interactions to enhance analytics and usage insights. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
42ae6e6e40 |
feat(editor): group configuration of note styles to panel from toolbar (#12230)
Close [BS-3401](https://linear.app/affine-design/issue/BS-3401/note-style-需要合并同类项)  |
||
|
|
6fb7f51ea2 |
refactor(editor): history as a store extension (#12214)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved history and undo/redo management across the app by introducing a dedicated history extension. Undo/redo operations now use a more focused undo manager, resulting in clearer and more consistent behavior. - **Documentation** - Updated API documentation to reflect changes in history management, including revised method signatures and removal of outdated event references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7f3e0dc52f |
feat(editor): improve status display in image block (#12194)
Closes: [BS-3451](https://linear.app/affine-design/issue/BS-3451/image-block-status-组件) |
||
|
|
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 --> |
||
|
|
7b6e00d84a |
refactor(editor): replace @vanilla-extract/css with @emotion/css (#12195)
close: BS-3446 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Migrated all styling from vanilla-extract to Emotion for improved CSS-in-JS consistency across database, table, and data view components. - Updated import paths for style modules to reflect the new Emotion-based file naming. - Removed unused or redundant style exports and updated selector syntax where necessary. - **Chores** - Updated dependencies: removed vanilla-extract and added Emotion in relevant package files. - **Style** - No visual changes to existing components; all style definitions remain consistent with previous designs. - **New Features** - Introduced new reusable CSS classes for data view and table components using Emotion. <!-- 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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
179701f587 |
fix(editor): switch view is not allowed during upload (#12018)
Closes: [BS-3352](https://linear.app/affine-design/issue/BS-3352/[improvement]-附件上传时禁止切-view)  <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved the logic for enabling or disabling the embed and card actions in the attachment toolbar, ensuring actions are only available when the file is ready and conditions are met. - **Refactor** - Enhanced reliability by centralizing block state checks and refining conditions for action availability in the attachment dropdown menu. - Centralized resource state management with a new computed signal, improving consistency in loading and error state handling. <!-- 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 --> |
||
|
|
0a9f5a1da9 |
fix(editor): add credentialless attribute to iframe for COEP compliance (#12161)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added enhanced privacy controls by including the `credentialless` attribute to embedded content iframes for PDF, Figma, Loom, YouTube, and generic iframe blocks. This helps improve security and privacy when displaying embedded content. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f832400e3e |
feat(editor): add resource controller (#12121)
Closes: [BS-3398](https://linear.app/affine-design/issue/BS-3398/实现资源控制器) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced a ResourceController for centralized and reactive management of attachment resource states, improving error handling, loading indicators, and UI state resolution for attachments. - Added public access to resource management utilities via new export paths. - **Refactor** - Streamlined attachment state management by replacing manual state tracking with the new ResourceController, simplifying code and enhancing maintainability. - Updated rendering logic for attachments to use unified state objects for clearer UI feedback. - Centralized blob URL creation and download state management within the ResourceController. - **Chores** - Updated dependencies and internal references to reflect the new resource management approach, ensuring consistency across packages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/5d1c4e127d860ff89590fd3a1d01493b3289ad00) Thanks [@​eddeee888](https://redirect.github.com/eddeee888)! - Fix ignoreNoDocuments=true swallowing all errors - [#​10333](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10333) [`10ab58d`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/10ab58dbc183dff460c410ffc7cc759186f91d4c) Thanks [@​eddeee888](https://redirect.github.com/eddeee888)! - Improve syntax error messages whilst loading schema/document - Updated dependencies \[[`c5efba3`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/c5efba34a7b422720be9ce32937dd19fb0784bae)]: - [@​graphql-codegen/client-preset](https://redirect.github.com/graphql-codegen/client-preset)[@​4](https://redirect.github.com/4).8.1 </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript-operations)</summary> ### [`v4.6.1`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/operations/CHANGELOG.md#461) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-operations@4.6.0...@graphql-codegen/typescript-operations@4.6.1) ##### Patch Changes - [#​10330](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10330) [`c5efba3`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/c5efba34a7b422720be9ce32937dd19fb0784bae) Thanks [@​jnoordsij](https://redirect.github.com/jnoordsij)! - Make graphql-sock optional peerDep </details> <details> <summary>resend/react-email (@​react-email/components)</summary> ### [`v0.0.38`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/components/CHANGELOG.md#0038) [Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.37...@react-email/components@0.0.38) ##### Patch Changes - Updated dependencies \[[`6cd353b`](https://redirect.github.com/resend/react-email/commit/6cd353b)] - [@​react-email/text](https://redirect.github.com/react-email/text)[@​0](https://redirect.github.com/0).1.3 ### [`v0.0.37`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/components/CHANGELOG.md#0037) [Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.36...@react-email/components@0.0.37) ##### Patch Changes - Updated dependencies \[[`7918a4b`](https://redirect.github.com/resend/react-email/commit/7918a4b)] - Updated dependencies \[[`9aa033c`](https://redirect.github.com/resend/react-email/commit/9aa033c)] - Updated dependencies \[[`5d153a3`](https://redirect.github.com/resend/react-email/commit/5d153a3)] - Updated dependencies \[[`297541e`](https://redirect.github.com/resend/react-email/commit/297541e)] - [@​react-email/text](https://redirect.github.com/react-email/text)[@​0](https://redirect.github.com/0).1.2 - [@​react-email/code-block](https://redirect.github.com/react-email/code-block)[@​0](https://redirect.github.com/0).0.13 - [@​react-email/markdown](https://redirect.github.com/react-email/markdown)[@​0](https://redirect.github.com/0).0.15 - [@​react-email/render](https://redirect.github.com/react-email/render)[@​1](https://redirect.github.com/1).1.0 - [@​react-email/tailwind](https://redirect.github.com/react-email/tailwind)[@​1](https://redirect.github.com/1).0.5 - [@​react-email/body](https://redirect.github.com/react-email/body)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/button](https://redirect.github.com/react-email/button)[@​0](https://redirect.github.com/0).0.19 - [@​react-email/code-inline](https://redirect.github.com/react-email/code-inline)[@​0](https://redirect.github.com/0).0.5 - [@​react-email/column](https://redirect.github.com/react-email/column)[@​0](https://redirect.github.com/0).0.13 - [@​react-email/container](https://redirect.github.com/react-email/container)[@​0](https://redirect.github.com/0).0.15 - [@​react-email/font](https://redirect.github.com/react-email/font)[@​0](https://redirect.github.com/0).0.9 - [@​react-email/head](https://redirect.github.com/react-email/head)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/heading](https://redirect.github.com/react-email/heading)[@​0](https://redirect.github.com/0).0.15 - [@​react-email/hr](https://redirect.github.com/react-email/hr)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/html](https://redirect.github.com/react-email/html)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/img](https://redirect.github.com/react-email/img)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/link](https://redirect.github.com/react-email/link)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/preview](https://redirect.github.com/react-email/preview)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/row](https://redirect.github.com/react-email/row)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/section](https://redirect.github.com/react-email/section)[@​0](https://redirect.github.com/0).0.16 </details> <details> <summary>vitest-dev/vitest (@​vitest/browser)</summary> ### [`v3.1.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.3) [Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.2...v3.1.3) ##### 🐞 Bug Fixes - Correctly resolve vitest import if `inline: true` is set - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7856](https://redirect.github.com/vitest-dev/vitest/issues/7856) [<samp>(a83f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a83f3bf6) - Fix fixture parsing with lowered async with esbuild 0.25.3 - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7921](https://redirect.github.com/vitest-dev/vitest/issues/7921) [<samp>(c5c85)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c5c8502b) - Remove event-catcher code - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7898](https://redirect.github.com/vitest-dev/vitest/issues/7898) [<samp>(deb1b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/deb1bc27) - Reset mocks on test retry/repeat - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7897](https://redirect.github.com/vitest-dev/vitest/issues/7897) [<samp>(2fa76)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2fa763a6) - Ignore failures on writeToCache - by [@​orgads](https://redirect.github.com/orgads) in [https://github.com/vitest-dev/vitest/issues/7893](https://redirect.github.com/vitest-dev/vitest/issues/7893) [<samp>(8c7f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8c7f75a6) - **browser**: Correctly inherit CLI options - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7858](https://redirect.github.com/vitest-dev/vitest/issues/7858) [<samp>(03660)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03660f9d) - **deps**: Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7867](https://redirect.github.com/vitest-dev/vitest/issues/7867) [<samp>(67ef7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/67ef74a0) - **reporters**: `--merge-reports` to show each total run times - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7877](https://redirect.github.com/vitest-dev/vitest/issues/7877) [<samp>(d613b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d613b813) ##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.2...v3.1.3) </details> <details> <summary>rust-lang/cc-rs (cc)</summary> ### [`v1.2.21`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1221---2025-05-02) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.20...cc-v1.2.21) ##### Other - Fix wasm32-unknown-unknown by passing -c ([#​1424](https://redirect.github.com/rust-lang/cc-rs/pull/1424)) </details> <details> <summary>chronotope/chrono (chrono)</summary> ### [`v0.4.41`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.41) [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.40...v0.4.41) #### What's Changed - Add `subsec_micros` and `subsec_millis` methods to `TimeDelta` by [@​ggoetz](https://redirect.github.com/ggoetz) in [https://github.com/chronotope/chrono/pull/1668](https://redirect.github.com/chronotope/chrono/pull/1668) - Deprecate `NaiveDateTime::UNIX_EPOCH` by [@​robertbastian](https://redirect.github.com/robertbastian) in [https://github.com/chronotope/chrono/pull/1670](https://redirect.github.com/chronotope/chrono/pull/1670) - Implement `as_seconds_f32` and `as_seconds_f64` for `TimeDelta` by [@​ggoetz](https://redirect.github.com/ggoetz) in [https://github.com/chronotope/chrono/pull/1671](https://redirect.github.com/chronotope/chrono/pull/1671) - chore: fix some comments by [@​jimmycathy](https://redirect.github.com/jimmycathy) in [https://github.com/chronotope/chrono/pull/1677](https://redirect.github.com/chronotope/chrono/pull/1677) - Add `num_days_in_month` method to `Datelike` trait by [@​aslilac](https://redirect.github.com/aslilac) in [https://github.com/chronotope/chrono/pull/1673](https://redirect.github.com/chronotope/chrono/pull/1673) - add `WeekdaySet`, a collection of `Weekday` that is `Copy` by [@​Kinrany](https://redirect.github.com/Kinrany) in [https://github.com/chronotope/chrono/pull/1676](https://redirect.github.com/chronotope/chrono/pull/1676) - WeekdaySet tweaks by [@​djc](https://redirect.github.com/djc) in [https://github.com/chronotope/chrono/pull/1680](https://redirect.github.com/chronotope/chrono/pull/1680) - Upgrade to windows-bindgen 0.61 by [@​djc](https://redirect.github.com/djc) in [https://github.com/chronotope/chrono/pull/1682](https://redirect.github.com/chronotope/chrono/pull/1682) - Implemented a consistent Eq trait for NaiveWeek by [@​Splashling1789](https://redirect.github.com/Splashling1789) in [https://github.com/chronotope/chrono/pull/1687](https://redirect.github.com/chronotope/chrono/pull/1687) - TimeZone::from_posix_tz: Treat empty TZ variable as UTC by [@​drinkcat](https://redirect.github.com/drinkcat) in [https://github.com/chronotope/chrono/pull/1691](https://redirect.github.com/chronotope/chrono/pull/1691) - Add support for lossy format strings by [@​Qelxiros](https://redirect.github.com/Qelxiros) in [https://github.com/chronotope/chrono/pull/1693](https://redirect.github.com/chronotope/chrono/pull/1693) </details> <details> <summary>cssnano/cssnano (cssnano)</summary> ### [`v7.0.7`](https://redirect.github.com/cssnano/cssnano/releases/tag/cssnano%407.0.7) [Compare Source](https://redirect.github.com/cssnano/cssnano/compare/cssnano@7.0.6...cssnano@7.0.7) #### What's Changed - fix: update browserslist by [@​ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1675](https://redirect.github.com/cssnano/cssnano/pull/1675) - fix: update postcss peer dependency to version without vulnerabilities by [@​ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1676](https://redirect.github.com/cssnano/cssnano/pull/1676) - fix: update TypeScript declarations by [@​ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1685](https://redirect.github.com/cssnano/cssnano/pull/1685) - perf: load default preset in startup by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/cssnano/cssnano/pull/1691](https://redirect.github.com/cssnano/cssnano/pull/1691) - Add support for selector order preservation to postcss-minify-selectors by [@​ezzak](https://redirect.github.com/ezzak) in [https://github.com/cssnano/cssnano/pull/1688](https://redirect.github.com/cssnano/cssnano/pull/1688) - fix(postcss-convert-values): preserve percent sign in percentage values in at-rules with double quotes by [@​aramikuto](https://redirect.github.com/aramikuto) in [https://github.com/cssnano/cssnano/pull/1695](https://redirect.github.com/cssnano/cssnano/pull/1695) **Full Changelog**: https://github.com/cssnano/cssnano/compare/cssnano@7.0.6...cssnano@7.0.7 </details> <details> <summary>i18next/i18next (i18next)</summary> ### [`v25.1.1`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2511) [Compare Source](https://redirect.github.com/i18next/i18next/compare/v25.1.0...v25.1.1) - fix options type for `parseMissingKeyHandler` ### [`v25.1.0`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2510) [Compare Source](https://redirect.github.com/i18next/i18next/compare/v25.0.2...v25.1.0) - feat: `parseMissingKeyHandler` now takes options as parameter like in missingKeyHandler [2304](https://redirect.github.com/i18next/i18next/issues/2304) </details> <details> <summary>pmndrs/jotai (jotai)</summary> ### [`v2.12.4`](https://redirect.github.com/pmndrs/jotai/releases/tag/v2.12.4) [Compare Source](https://redirect.github.com/pmndrs/jotai/compare/v2.12.3...v2.12.4) We deprecate devstore capability, which will be dropped in the next minor version. Please use the latest jotai-devtools library. #### What's Changed - deprecate devstore by [@​dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3023](https://redirect.github.com/pmndrs/jotai/pull/3023) - fix(package): react-native condition by [@​dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3042](https://redirect.github.com/pmndrs/jotai/pull/3042) - fix(utils): allow undefined for atomWithStorage subscriber return by [@​caffeinewriter](https://redirect.github.com/caffeinewriter) in [https://github.com/pmndrs/jotai/pull/3055](https://redirect.github.com/pmndrs/jotai/pull/3055) #### New Contributors - [@​caffeinewriter](https://redirect.github.com/caffeinewriter) made their first contribution in [https://github.com/pmndrs/jotai/pull/3056](https://redirect.github.com/pmndrs/jotai/pull/3056) - [@​CanRau](https://redirect.github.com/CanRau) made their first contribution in [https://github.com/pmndrs/jotai/pull/3051](https://redirect.github.com/pmndrs/jotai/pull/3051) **Full Changelog**: https://github.com/pmndrs/jotai/compare/v2.12.3...v2.12.4 </details> <details> <summary>lint-staged/lint-staged (lint-staged)</summary> ### [`v15.5.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1552) [Compare Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.1...v15.5.2) ##### Patch Changes - [#​1544](https://redirect.github.com/lint-staged/lint-staged/pull/1544) [`5561321`](https://redirect.github.com/lint-staged/lint-staged/commit/556132176afce1701b4766c00ffd23159d437cb4) Thanks [@​YimingIsCOLD](https://redirect.github.com/YimingIsCOLD)! - Correctly handle colon (`:`) characters in staged filenames. </details> <details> <summary>lucide-icons/lucide (lucide-react)</summary> ### [`v0.507.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.507.0): Version 0.507.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.506.0...0.507.0) #### What's Changed - fix(metadata): added tags to `square-pen` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3155](https://redirect.github.com/lucide-icons/lucide/pull/3155) - fix(icons): changed `search` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3140](https://redirect.github.com/lucide-icons/lucide/pull/3140) - fix(dev): resets Absolute Stroke Width by [@​briz123](https://redirect.github.com/briz123) in [https://github.com/lucide-icons/lucide/pull/3005](https://redirect.github.com/lucide-icons/lucide/pull/3005) - fix(icons): changed `guitar` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw) in [https://github.com/lucide-icons/lucide/pull/3115](https://redirect.github.com/lucide-icons/lucide/pull/3115) - fix(Icons): Adding missing categories to 4 Icons by [@​ajokt123](https://redirect.github.com/ajokt123) in [https://github.com/lucide-icons/lucide/pull/3110](https://redirect.github.com/lucide-icons/lucide/pull/3110) - fix(ci): reduces workflow triggers by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3150](https://redirect.github.com/lucide-icons/lucide/pull/3150) - fix(icons): changed `air-vent` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3117](https://redirect.github.com/lucide-icons/lucide/pull/3117) - fix(icons): rotate `dumbbell` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3107](https://redirect.github.com/lucide-icons/lucide/pull/3107) - fix(icons): changed `touchpad-off` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3118](https://redirect.github.com/lucide-icons/lucide/pull/3118) - fix(icons): changed `bell-electric` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3139](https://redirect.github.com/lucide-icons/lucide/pull/3139) - fix(icons): changed `menu` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3142](https://redirect.github.com/lucide-icons/lucide/pull/3142) - fix(icons): changed `mail` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3144](https://redirect.github.com/lucide-icons/lucide/pull/3144) - chore(pr-template): Adjust PR template by [@​ericfennis](https://redirect.github.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/3183](https://redirect.github.com/lucide-icons/lucide/pull/3183) - feat(icons): added `soap-dispenser-droplet` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3088](https://redirect.github.com/lucide-icons/lucide/pull/3088) - feat(icons): added `panda` icon by [@​chessurisme](https://redirect.github.com/chessurisme) in [https://github.com/lucide-icons/lucide/pull/2094](https://redirect.github.com/lucide-icons/lucide/pull/2094) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.506.0...0.507.0 ### [`v0.506.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.506.0): Version 0.506.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.505.0...0.506.0) #### What's Changed - perf(react): use implicit return in react package by [@​VIKTORVAV99](https://redirect.github.com/VIKTORVAV99) in [https://github.com/lucide-icons/lucide/pull/2325](https://redirect.github.com/lucide-icons/lucide/pull/2325) - fix(icons): changed `users` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3143](https://redirect.github.com/lucide-icons/lucide/pull/3143) - fix(icons): changed `locate-off` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw) in [https://github.com/lucide-icons/lucide/pull/3137](https://redirect.github.com/lucide-icons/lucide/pull/3137) - fix(icons): changed `expand` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/2831](https://redirect.github.com/lucide-icons/lucide/pull/2831) - feat(icons): Added clock plus icon. by [@​gubser](https://redirect.github.com/gubser) in [https://github.com/lucide-icons/lucide/pull/2996](https://redirect.github.com/lucide-icons/lucide/pull/2996) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.505.0...0.506.0 ### [`v0.505.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.505.0): Version 0.505.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.504.0...0.505.0) #### What's Changed - fix(icons): changed `package-2` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3174](https://redirect.github.com/lucide-icons/lucide/pull/3174) - docs(icon-design-guide): point people to lucide studio instead of svgo by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3152](https://redirect.github.com/lucide-icons/lucide/pull/3152) - fix(lucide-svelte): Resolve Svelte 5 deprecation of svelte:component by [@​shamaamahh](https://redirect.github.com/shamaamahh) in [https://github.com/lucide-icons/lucide/pull/3112](https://redirect.github.com/lucide-icons/lucide/pull/3112) - feat(icons): added `brush-cleaning` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere) in [https://github.com/lucide-icons/lucide/pull/2395](https://redirect.github.com/lucide-icons/lucide/pull/2395) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.504.0...0.505.0 ### [`v0.504.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.504.0): Version 0.504.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.503.0...0.504.0) #### What's Changed - feat(icons): add door closed locked / unlocked icons by [@​lukedukeus](https://redirect.github.com/lukedukeus) in [https://github.com/lucide-icons/lucide/pull/3060](https://redirect.github.com/lucide-icons/lucide/pull/3060) - build(dev-deps): Bump dependencies by [@​ericfennis](https://redirect.github.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/3096](https://redirect.github.com/lucide-icons/lucide/pull/3096) - fix(icons): redesigned `brush` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3011](https://redirect.github.com/lucide-icons/lucide/pull/3011) - fix(site): remove studio link from navbar by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3166](https://redirect.github.com/lucide-icons/lucide/pull/3166) - feat(icons): added `hamburger` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere) in [https://github.com/lucide-icons/lucide/pull/3165](https://redirect.github.com/lucide-icons/lucide/pull/3165) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.503.0...0.504.0 </details> <details> <summary>resend/react-email (react-email)</summary> ### [`v4.0.11`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#4011) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.10...react-email@4.0.11) ##### Patch Changes - [`1a17219`](https://redirect.github.com/resend/react-email/commit/1a17219): fix improper `require` in `email export` - [`45ab698`](https://redirect.github.com/resend/react-email/commit/45ab698): update next to 15.3.1 ### [`v4.0.10`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#4010) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.9...react-email@4.0.10) ##### Patch Changes - [`5ef9fe8`](https://redirect.github.com/resend/react-email/commit/5ef9fe8): fix support for `import ... = require(...)` syntax - [`4c7f597`](https://redirect.github.com/resend/react-email/commit/4c7f597): fix `email dev` not working with `traversal` error ### [`v4.0.9`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#409) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.8...react-email@4.0.9) ##### Patch Changes - [`643d841`](https://redirect.github.com/resend/react-email/commit/643d841): Add .json import support for hot reloading - [`f21a983`](https://redirect.github.com/resend/react-email/commit/f21a983): fix Node 18 support - [`cd02449`](https://redirect.github.com/resend/react-email/commit/cd02449): Ensure dependencies outside emails directory are completely resolved - [`73a31ed`](https://redirect.github.com/resend/react-email/commit/73a31ed): Fix dependent of dependents not causing hot reloads - [`bdffd8c`](https://redirect.github.com/resend/react-email/commit/bdffd8c): fix backwards compatibility with `render` versions - [`e7fa043`](https://redirect.github.com/resend/react-email/commit/e7fa043): Fix access to files outside `static` directory - [`9aa033c`](https://redirect.github.com/resend/react-email/commit/9aa033c): Use range of versions for dependencies - [`ab70556`](https://redirect.github.com/resend/react-email/commit/ab70556): Fix non-email files being rendered during hot reloading - [`9c9aa5d`](https://redirect.github.com/resend/react-email/commit/9c9aa5d): Add error message for when an email template does not have a default export ### [`v4.0.8`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#408) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.7...react-email@4.0.8) ##### Patch Changes - [`ea579b5`](https://redirect.github.com/resend/react-email/commit/ea579b5): Log out errors that happen when `export`'s esbuild fails </details> <details> <summary>shikijs/shiki (shiki)</summary> ### [`v3.4.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.4.0) [Compare Source](https://redirect.github.com/shikijs/shiki/compare/v3.3.0...v3.4.0) ##### 🐞 Bug Fixes - Update deps and grammars - by [@​antfu](https://redirect.github.com/antfu) [<samp>(310d1)</samp>](https://redirect.github.com/shikijs/shiki/commit/310d1419) ##### [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v3.3.0...v3.4.0) </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.45.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.45.0): Tokio v1.45.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0) ##### Added - metrics: stabilize `worker_total_busy_duration`, `worker_park_count`, and `worker_unpark_count` ([#​6899], [#​7276]) - process: add `Command::spawn_with` ([#​7249]) ##### Changed - io: do not require `Unpin` for some trait impls ([#​7204]) - rt: mark `runtime::Handle` as unwind safe ([#​7230]) - time: revert internal sharding implementation ([#​7226]) ##### Unstable - rt: remove alt multi-threaded runtime ([#​7275]) [#​6899]: https://redirect.github.com/tokio-rs/tokio/pull/6899 [#​7276]: https://redirect.github.com/tokio-rs/tokio/pull/7276 [#​7249]: https://redirect.github.com/tokio-rs/tokio/pull/7249 [#​7204]: https://redirect.github.com/tokio-rs/tokio/pull/7204 [#​7230]: https://redirect.github.com/tokio-rs/tokio/pull/7230 [#​7226]: https://redirect.github.com/tokio-rs/tokio/pull/7226 [#​7275]: https://redirect.github.com/tokio-rs/tokio/pull/7275 </details> <details> <summary>mozilla/uniffi-rs (uniffi)</summary> ### [`v0.29.2`](https://redirect.github.com/mozilla/uniffi-rs/compare/v0.29.1...v0.29.2) [Compare Source](https://redirect.github.com/mozilla/uniffi-rs/compare/v0.29.1...v0.29.2) </details> <details> <summary>webpack/webpack (webpack)</summary> ### [`v5.99.8`](https://redirect.github.com/webpack/webpack/releases/tag/v5.99.8) [Compare Source](https://redirect.github.com/webpack/webpack/compare/v5.99.7...v5.99.8) ##### Fixes - Fixed type error with latest `@types/node` - Fixed typescript types </details> <details> <summary>google/ksp (com.google.devtools.ksp)</summary> ### [`v2.1.20-2.0.1`](https://redirect.github.com/google/ksp/releases/tag/2.1.20-2.0.1) [Compare Source](https://redirect.github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1) ##### What's Changed - \[KSP2] Annotation values shouldn't be marked as default (synthetic origin) broken after PR [#​2424](https://redirect.github.com/google/ksp/issues/2424) in [https://github.com/google/ksp/pull/2425](https://redirect.github.com/google/ksp/pull/2425) - \[KSP2] Wrong internal method name with custom moduleName compiler option in[https://github.com/google/ksp/pull/2415](https://redirect.github.com/google/ksp/pull/2415)5 - \[KSP2] getJvmName for internal method did not sanitize java identifiers in[https://github.com/google/ksp/pull/2413](https://redirect.github.com/google/ksp/pull/2413)3 - \[KSP2] Annotation and argument's origin is wrong in[https://github.com/google/ksp/pull/2412](https://redirect.github.com/google/ksp/pull/2412)2 - \[KSP2] functionKind is MEMBER for static method in interface in Java in[https://github.com/google/ksp/pull/2410](https://redirect.github.com/google/ksp/pull/2410)0 - KSP2 Generated .class files are not added to the classpath in [https://github.com/google/ksp/pull/2365](https://redirect.github.com/google/ksp/pull/2365) - When I write specific code, KSP throws an Unexpected class for KtSymbol error. in [https://github.com/google/ksp/pull/2303](https://redirect.github.com/google/ksp/pull/2303) ##### Contributors Thanks to everyone who reported bugs and participated in discussions! **Full Changelog**: https://github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1 </details> <details> <summary>apollographql/apollo-kotlin-adapters (com.apollographql.adapters:apollo-adapters-kotlinx-datetime)</summary> ### [`v0.0.6`](https://redirect.github.com/apollographql/apollo-kotlin-adapters/releases/tag/v0.0.6) Publishing only change. This version updates the license name to be SPDX compliant ([https://github.com/apollographql/apollo-kotlin-adapters/pull/30](https://redirect.github.com/apollographql/apollo-kotlin-adapters/pull/30)) ### [`v0.0.5`](https://redirect.github.com/apollographql/apollo-kotlin-adapters/blob/HEAD/CHANGELOG.md#Version-005) *2025-04-29* - Do not set the license URL in the POMs ([#​29](https://redirect.github.com/apollographql/apollo-kotlin-adapters/issues/29)) </details> <details> <summary>apollographql/apollo-kotlin (com.apollographql.apollo)</summary> ### [`v4.2.0`](https://redirect.github.com/apollographql/apollo-kotlin/blob/HEAD/CHANGELOG.md#Version-420) *2025-04-28* #### Generate custom scalars as inline classes with `@map` and `@mapTo` ([#​6404](https://redirect.github.com/apollographql/apollo-kotlin/issues/6404)) It is now possible to configure the adapters to use with [scalars](https://www.apollographql.com/docs/kotlin/essentials/custom-scalars) by using the [`@map` directive](https://specs.apollo.dev/kotlin_labs/v0.5/#@​map): ```graphql extend schema @​link(url: "https://specs.apollo.dev/kotlin_labs/v0.5/", import: ["@​mapTo", "@​map"]) extend scalar Date @​map(to: "kotlinx.datetime.Instant", with: "com.apollographql.adapters.InstantAdapter") ``` If the `to` parameter is an [inline value class](https://kotlinlang.org/docs/inline-classes.html), use the `inlineProperty` parameter to have the generated code box/unbox the value. In that case, `with` needs to point to an adapter of the underlying type: ```graphql extend scalar Timestamp @​map(to: "com.example.Timestamp", with: "com.apollographql.apollo.api.LongAdapter", inlineProperty: "ts") ``` For the common cases where the scalar can be represented as a built-in Kotlin type (String, Boolean, Int, Long, Float, Double), you can use [`@mapTo`](https://specs.apollo.dev/kotlin_labs/v0.5/#@​mapTo) and the compiler infers the adapter and generates an inline value class automatically: ```graphql extend scalar Length @​mapTo(builtIn: Long) ``` #### Scalar definitions in schemas downloaded from introspection ([#​6389](https://redirect.github.com/apollographql/apollo-kotlin/issues/6389)) Downloading or converting an SDL schema from introspection now includes scalar definitions. This is required for clients to get a [full view of the schema](https://redirect.github.com/graphql/graphql-wg/blob/main/rfcs/FullSchemas.md). #### Support for `@disableErrorPropagation` Apollo Kotlin now automatically adds [`@disableErrorPropagation`](https://redirect.github.com/graphql/nullability-wg/discussions/85) if your server supports it and you opted in `@catchByDefault` in your schema extensions. This allows to use non-null types more liberally and still get support for partial data. See [https://github.com/graphql/graphql-js/pull/4348](https://redirect.github.com/graphql/graphql-js/pull/4348) and [https://github.com/graphql-java/graphql-java/pull/3772](https://redirect.github.com/graphql-java/graphql-java/pull/3772) #### Contributors 💜 Many thanks to [@​bobbysothebys](https://redirect.github.com/bobbysothebys), [@​jvanderwee](https://redirect.github.com/jvanderwee), [@​dhritzkiv](https://redirect.github.com/dhritzkiv), [@​lwasyl](https://redirect.github.com/lwasyl) and [@​rohandhruva](https://redirect.github.com/rohandhruva) for all the contributions and help in this release 💜 #### 👷♂️ All changes - \[intellij-plugin] Fix MemoryCache package name ([#​6383](https://redirect.github.com/apollographql/apollo-kotlin/issues/6383)) - \[intellij-plugin] Rover: always pass path to supergraph.yaml if present ([#​6384](https://redirect.github.com/apollographql/apollo-kotlin/issues/6384)) - \[intellij-plugin] Make 'Download Schema action' consider deep subprojects ([#​6394](https://redirect.github.com/apollographql/apollo-kotlin/issues/6394)) - \[intellij-plugin] Fix a crash when invoking the 'missing `@link`' quickfix ([#​6402](https://redirect.github.com/apollographql/apollo-kotlin/issues/6402)) - \[intellij-plugin] Use configured Gradle JVM when executing tasks ([#​6425](https://redirect.github.com/apollographql/apollo-kotlin/issues/6425)) - \[in </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==--> |
||
|
|
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 --> |
||
|
|
1994dd6d9d | fix(editor): can not delete code block with delete keyboard (#11988) | ||
|
|
d859c4252b |
refactor(editor): move history from doc to store (#12131)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Undo/redo history management is now centralized in the workspace, providing more consistent and robust undo/redo behavior. - History update events are emitted at the workspace level, enabling better tracking of changes. - **Bug Fixes** - Improved reliability of undo/redo actions by shifting history management from documents to the workspace. - **Documentation** - Updated and clarified documentation for history-related APIs, including improved examples and clearer descriptions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
676c5d8de6 | refactor(editor): remove global gfx tool types (#12119) | ||
|
|
30a2e5b4fb |
refactor(editor): remove gfx tool global type (#12116)
Closes: BS-2650 |
||
|
|
f3b5c36cf7 |
refactor(editor): use extension level config (#12110)
Closes: BS-3396 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced structured and validated configuration options for database and linked document views, allowing for more flexible and reliable customization. - Enhanced view manager to conditionally enable AI-related paragraph placeholders and database/linked document extensions based on configuration. - **Chores** - Updated dependencies to include the latest version of the Zod validation library. - Simplified and consolidated internal configuration and registration logic for AI and widget-related extensions. - **Refactor** - Streamlined configuration types and removed unused or redundant configuration utilities to improve maintainability. - Improved robustness of linked widget configuration retrieval to handle optional service availability gracefully. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
41d404f7f8 |
refactor(editor): improve implementation of lit adapter (#12101)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved mobile experience by disabling certain toolbars and slash menu features on mobile devices. - Introduced new modular extension classes for editor and view customization, enabling more flexible configuration of themes, AI features, and editor enhancements. - Added clipboard adapter configurations for a wide range of data types, improving clipboard compatibility. - Added a new theme extension specifically for preview scenarios. - Provided new hooks for block scope management in document modules. - **Refactor** - Streamlined editor extension setup, consolidating options and reducing complexity for better maintainability. - Reorganized mobile-specific extension exports for clearer usage. - Refined React-to-Lit rendering API by introducing a typed alias and updating related function signatures. - Simplified extension registration by splitting monolithic view extension into separate common and editor view extensions. - **Bug Fixes** - Corrected naming inconsistencies in internal effect tracking. - **Chores** - Updated type exports and documentation comments for improved clarity and consistency. - Removed unused or redundant exports and functions to clean up the codebase. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |