L-Sun
9d38f79395
fix(editor): deactivate editor when selection out of editor ( #13490 )
...
Close
[AI-415](https://linear.app/affine-design/issue/AI-415/code-artifact-复制更好的支持code-block和插入正文 )
#### PR Dependency Tree
* **PR #13490** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Editor now deactivates when text selection moves outside the app,
preventing unintended interactions.
* Better handling when selection changes to external content, reducing
cases where the editor stayed active incorrectly.
* **Stability**
* Improved reliability around selection, focus, and visibility changes
to avoid accidental edits or actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### PR Dependency Tree
* **PR #13490** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
2025-08-14 14:49:53 +08:00
L-Sun
66c2bf3151
fix(editor): incorrect z-index in dom renderer ( #13465 )
...
#### PR Dependency Tree
* **PR #13464**
* **PR #13465** 👈
* **PR #13471**
* **PR #13472**
* **PR #13473**
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved stacking order across canvas elements (shapes, connectors,
brush, highlighter), reducing unexpected overlap.
* Corrected z-index application for placeholders and fully rendered
elements to ensure consistent layering during edits.
* **Refactor**
* Centralized z-index handling for canvas elements to provide
predictable, uniform layering behavior across the app.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-14 11:10:32 +08:00
L-Sun
7e0de251cb
fix(editor): remove patch of key-binding in andriod ( #13483 )
...
In recent versions of Android (or maybe webview), the
`KeyboardEvent.key` for the backspace key now has the correct value.
This PR remove the patch since it will trigger two delete actions when
press backspace at the first character of paragraph"
Related PR https://github.com/toeverything/AFFiNE/issues/10523
#### PR Dependency Tree
* **PR #13483** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Refactor**
* Streamlined keyboard shortcut handling for greater consistency across
platforms.
* Reduced overhead by consolidating event bindings; no change to
expected shortcut behavior for end-users.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-13 06:34:07 +00:00
L-Sun
46a9d0f7fe
fix(editor): commented heading style ( #13140 )
...
Close BS-3613
#### PR Dependency Tree
* **PR #13140** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Updated default text styling to inherit font weight, style, and
decoration from parent elements when bold, italic, underline, or strike
attributes are not set. This may result in text more closely matching
its surrounding context.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-10 11:12:20 +00:00
Wu Yue
d10e5ee92f
feat(core): completely remove the dependence on EditorHost ( #13110 )
...
Close [AI-260](https://linear.app/affine-design/issue/AI-260 )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added theme support to AI chat and message components, enabling
dynamic theming based on the current app theme.
* Introduced a reactive theme signal to the theme service for improved
theme handling.
* Integrated notification and theme services across various AI chat,
playground, and message components for consistent user experience.
* **Refactor**
* Simplified component APIs by removing dependencies on editor host and
related properties across AI chat, message, and tool components.
* Centralized and streamlined clipboard and markdown conversion
utilities, reducing external dependencies.
* Standardized the interface for context file addition and improved type
usage for better consistency.
* Reworked notification service to a class-based implementation for
improved encapsulation.
* Updated AI chat components to use injected notification and theme
services instead of host-based retrieval.
* **Bug Fixes**
* Improved reliability of copy and notification actions by decoupling
them from editor host dependencies.
* **Chores**
* Updated and cleaned up internal imports and removed unused properties
to enhance maintainability.
* Added test IDs for sidebar close button to improve test reliability.
* Updated test prompts in end-to-end tests for consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-09 10:16:55 +00:00
L-Sun
1d865f16fe
feat(editor): comment for edgeless element ( #13098 )
...
#### PR Dependency Tree
* **PR #13098** 👈
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added support for comments on graphical elements, allowing users to
comment on both blocks and graphical elements within surfaces.
* Enhanced comment previews to include graphical elements in selection
summaries.
* Improved editor navigation to focus on commented graphical elements in
addition to blocks and inline texts.
* **Bug Fixes**
* Updated comment highlighting and management to consistently use the
new comment manager across all block and element types.
* **Refactor**
* Renamed and extended the comment manager to handle both block and
element comments.
* Streamlined toolbar configurations by removing outdated comment button
entries and adding a consolidated comment button in the root toolbar.
* **Tests**
* Disabled the mock comment provider integration in the test editor
environment to refine testing setup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 10:33:09 +00:00
德布劳外 · 贾贵
6fd9524521
feat: ai apply ui ( #12962 )
...
## New Features
* **Block Meta Markdown Adapter**:Inject the Block's metadata into
Markdown.
* **UI**:Apply interaction
* **Widget**
* Block-Level Widget: Displays the diffs of individual blocks within the
main content and supports accepting/rejecting individual diffs.
* Page-Level Widget: Displays global options (Accept all/Reject all).
* **Block Diff Service**:Bridge widget and diff data
* Widget subscribes to DiffMap(RenderDiff) data, refreshing the view
when the data changes.
* Widget performs operations such as Accept/Reject via methods provided
by Service.
* **Doc Edit Tool Card**:
* Display apply preview of semantic doc edit
* Support apply & accept/reject to the main content
* **Apply Playground**:A devtool for testing apply new content to
current
> CLOSE AI-274 AI-275 AI-276 AI-278
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced block-level markdown diffing with accept/reject controls
for insertions, deletions, and updates.
* Added block diff widgets for individual blocks and pages, featuring
navigation and bulk accept/reject actions.
* Provided a block diff playground for testing and previewing markdown
changes (development mode only).
* Added a new document editing AI tool component with interactive diff
viewing and change application.
* Supported rendering of the document editing tool within AI chat
content streams.
* **Improvements**
* Enhanced widget rendering in list, paragraph, data view, and database
blocks for improved extensibility.
* Improved widget flavour matching with hierarchical wildcard support
for more flexible UI integration.
* **Chores**
* Updated the "@toeverything/theme" dependency to version ^1.1.16 across
multiple packages.
* Added new workspace dependencies for core frontend packages to improve
module linkage.
* Extended global styles with visual highlights for deleted blocks in AI
block diff feature.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-08 03:44:44 +00:00
L-Sun
8ce85f708d
feat(editor): comment extension ( #12948 )
...
#### PR Dependency Tree
* **PR #12948** 👈
* **PR #12980**
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Introduced inline comment functionality, allowing users to add,
resolve, and highlight comments directly within text.
* Added a new toolbar action for inserting comments when supported.
* Inline comments are visually highlighted and can be interacted with in
the editor.
* **Enhancements**
* Integrated a feature flag to enable or disable the comment feature.
* Improved inline manager rendering to support wrapper specs for
advanced formatting.
* **Developer Tools**
* Added mock comment provider for testing and development environments.
* **Chores**
* Updated dependencies and project references to support the new inline
comment module.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-02 09:14:34 +00:00
L-Sun
a66096cdf9
refactor(editor): support dynamic text attribute key ( #12947 )
...
#### PR Dependency Tree
* **PR #12946**
* **PR #12947** 👈
* **PR #12948**
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
2025-07-02 08:09:01 +00:00
liuyi
9e1fa23c5e
chore: bump base version
2025-06-24 14:43:39 +08:00
L-Sun
24448659a4
fix(editor): support markdown transform when using IME ( #12778 )
...
Fix #12284
Close
[BS-3517](https://linear.app/affine-design/issue/BS-3517/微软新注音输入法无法使用markdown语法 )
This PR refactor the markdown transform during inputting, including:
- Transfrom markdown syntax input in `inlineEditor.slots.inputting`,
where we can detect the space character inputed by IME like Microsoft
Bopomofo, but `keydown` event can't.
- Remove `markdown-input.ts` which was used in `KeymapExtension` of
paragraph, and refactor with `InlineMarkdownExtension`
- Adjust existing `InlineMarkdownExtension` since the space is included
in text.
- Add two `InlineMarkdownExtension` for paragraph and list to impl
Heading1-6, number, bullet, to-do list conversion.
Other changes:
- Improve type hint for parameter of `store.addBlock`
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Added markdown shortcuts for creating code blocks and dividers in the
rich text editor.
- Introduced enhanced paragraph markdown support for headings and
blockquotes with inline markdown patterns.
- Integrated new list markdown extension supporting numbered, bulleted,
and todo lists with checked states.
- **Improvements**
- Updated markdown formatting patterns to require trailing spaces for
links, LaTeX, and inline styles, improving detection accuracy.
- Markdown transformations now respond to input events instead of
keydown for smoother editing experience.
- Added focus management after markdown transformations to maintain
seamless editing flow.
- **Bug Fixes**
- Removed unnecessary prevention of default behavior on space and
shift-space key presses in list and paragraph editors.
- **Refactor**
- Enhanced event handling and typing for editor input events, improving
reliability and maintainability.
- Refined internal prefix text extraction logic for markdown processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-11 14:12:28 +08:00
fundon
7d1f2adb7f
fix(editor): support copying single image from edgeless and pasting to page ( #12709 )
...
Closes: [BS-3586](https://linear.app/affine-design/issue/BS-3586/复制白板图片,然后粘贴到-page,图片失败 )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Copying a single selected image in edgeless mode now places the image directly onto the system clipboard as a native image blob for smoother pasting.
- **Bug Fixes**
- Enhanced clipboard handling to better manage image and text data inclusion, with improved fallback for snapshot HTML.
- **Tests**
- Added an end-to-end test verifying image copy-paste functionality between edgeless and page editor modes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-06 01:17:58 +00:00
donteatfriedrice
053efb61f0
fix(editor): should set event dispatcher active as false when document is hidden ( #12559 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- The application now automatically becomes inactive when the document is hidden, improving resource management and responsiveness to visibility changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-05 02:28:32 +00:00
doouding
00ff373c01
fix: tuning drag and resize snapping ( #12657 )
...
### Changed
- Better snapping when resize elements
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved resizing behavior with enhanced alignment and snapping during element resizing, supporting rotation and multiple element selection.
- Alignment lines now display more accurately when resizing elements.
- **Refactor**
- Resizing logic updated to use scale factors instead of position deltas, enabling smoother and more precise resize operations.
- Resize event data now includes richer details about handle positions, scaling, and original bounds.
- Coordinate transformations and scaling now account for rotation and aspect ratio locking more robustly.
- Cursor updates are disabled during active resize or rotate interactions for a smoother user experience.
- **Tests**
- Updated resizing tests to use square shapes, ensuring consistent verification of aspect ratio maintenance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-03 04:12:57 +00:00
L-Sun
625e8392a6
fix(editor): missing block in select-all set ( #12627 )
...
This PR fixed that the block is missing in the selecte-all set after undo a dragging from canvas to note. Related to #12473
### Before
https://github.com/user-attachments/assets/828b4f48-689a-4975-bba6-f380f324de3c
### After
https://github.com/user-attachments/assets/9996c1ca-c3ea-415c-ab2b-359d826a1ffa
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved handling of changes to child elements, ensuring more accurate updates when items are added or removed. This results in more reliable display and interaction with nested components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-29 11:04:01 +00:00
doouding
cf456c888f
feat: support snap when resizing element ( #12563 )
...
Fixes [BS-2753](https://linear.app/affine-design/issue/BS-2753/ )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added snapping support when resizing elements, improving alignment and precision during resize operations.
- Introduced new resize event handlers allowing extensions to customize resize behavior with start, move, and end callbacks.
- **Bug Fixes**
- Improved handling of snapping state to prevent errors during drag and resize actions.
- **Tests**
- Updated resizing tests to ensure consistent snapping behavior by removing default elements that could interfere with test results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-28 02:47:01 +00:00
Saul-Mirone
7eb6b268a6
fix(editor): auto focus between tab switch ( #12572 )
...
Closes: BS-2290
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **Bug Fixes**
- Improved focus behavior when switching between tabs to prevent unwanted automatic focusing of the content-editable area.
- Enhanced selection clearing to avoid unnecessary blurring when the main editable element is already focused.
- Refined focus checks in tests to specifically target contenteditable elements, ensuring more accurate validation of focus behavior.
- Adjusted test assertions for block selection to be less strict and removed redundant blur operations for smoother test execution.
- Updated toolbar dropdown closing method to use keyboard interaction for better reliability.
- **New Features**
- Added a recoverable property to selection types, improving selection state management and recovery.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-27 13:38:02 +00:00
Yifeng Wang
9d2330fc2b
fix(editor): possible race condition in viewport clipping ( #12503 )
2025-05-26 17:08:31 +08:00
doouding
5de63c29f5
fix: rewrite selection logic and frame selection handling logic ( #12421 )
...
Fixes [BS-3528](https://linear.app/affine-design/issue/BS-3528 )
Fixes [BS-3331](https://linear.app/affine-design/issue/BS-3331/frame-移动逻辑很奇怪 )
### Changed
- Remove `onSelected` method from gfx view, use `handleSelection` provided by `GfxViewInteraction` instead.
- Add `selectable` to allow model to filter out itself from selection.
- Frame can be selected by body only if it's locked or its background is not transparent.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Enhanced selection behavior for frames, edgeless text, notes, and mind map elements with refined control based on lock state and background transparency.
- Introduced group-aware selection logic promoting selection of appropriate group ancestors.
- Added support for element selection events in interactivity extensions.
- **Bug Fixes**
- Resolved frame selection issues by enabling selection via title clicks and restricting body selection to locked frames or those with non-transparent backgrounds.
- **Documentation**
- Added clarifying comments for group retrieval methods.
- **Tests**
- Updated and added end-to-end tests for frame and lock selection reflecting new selection conditions.
- **Refactor**
- Unified and simplified selection handling by moving logic from component methods to interaction handlers and removing deprecated selection methods.
- Streamlined selection candidate processing with extension-driven target suggestion.
- Removed legacy group element retrieval and selection helper methods to simplify interaction logic.
- **Style**
- Renamed types and improved type signatures for selection context and interaction configurations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-26 05:03:09 +00:00
L-Sun
0902b2b9c9
fix(editor): can not select the block after undo the drag from canvas to note ( #12473 )
...
Close [BS-3509](https://linear.app/affine-design/issue/BS-3509/embed拖入note,然后撤销,形成的block刷新后才可选中,且只能进行有限交互 )
### Before
https://github.com/user-attachments/assets/4c83f9ba-1a99-427f-824d-7e946e55e737
### After
https://github.com/user-attachments/assets/e6a28478-0af4-4358-a353-e0c2e8edb0f9
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved block selection reliability after dragging a block into a note and performing an undo action, ensuring the block remains selectable.
- **Tests**
- Added an end-to-end test to verify block selection after dragging and undo operations in edgeless mode.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 07:28:30 +00:00
L-Sun
573c2faf76
fix(editor): can not undo and redo of color of edgeless blocks ( #12414 )
...
Close [BS-3507](https://linear.app/affine-design/issue/BS-3507/edgeless-text-颜色无法-undoredo )
Close [BS-3426](https://linear.app/affine-design/issue/BS-3426/frame-修改背景色后不能撤销 )
This PR fixes the issue where the color change of edgeless blocks could not be undone/redone, including notes, edgeless-text, and frames. It also addresses the problem of a tiny shape being unexpectedly retained on the canvas. The key changes are:
- Removal of `transact` from the `pop` method of edgeless elements.
- Refactoring of `onPickColor` for all edgeless elements and blocks to better control the lifecycle of custom color property changes.
- Addition of the missing custom background color feature for notes.
- Addition of undo/redo color tests for notes, frames, and edgeless-text.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added undo and redo support for color changes in frames, notes, and text blocks, allowing users to revert or reapply background and text color modifications.
- **Bug Fixes**
- Improved reliability of color picker interactions, ensuring consistent state management and transactional updates during color changes.
- **Tests**
- Introduced new end-to-end tests to verify undo/redo functionality for color changes in frames, notes, and text blocks.
- **Refactor**
- Streamlined color picker event handling for better maintainability and consistency across toolbars and style panels.
- Updated style panel structure and event handling for improved interaction and state management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-22 04:10:16 +00:00
doouding
eb185255a3
fix: selection rect should reflect viewport change ( #12355 )
...
Fixes [BS-3349](https://linear.app/affine-design/issue/BS-3349/ )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Improved edge scrolling during selection dragging for smoother and more responsive viewport navigation.
- Dragging area and mouse position tracking now update reactively with viewport changes, ensuring more accurate selection and movement.
- **Refactor**
- Unified and clarified coordinate handling for dragging and mouse position, with clearer naming and separation between model and browser coordinates.
- Simplified selection logic and removed unnecessary accumulated state for cleaner and more maintainable behavior.
- Enhanced flexibility in coordinate conversion by allowing viewport transformations relative to arbitrary zoom and center.
- Streamlined clipboard paste handling by simplifying mouse position extraction and adjusting attachment options.
- **Bug Fixes**
- Enhanced overlay and dragging area accuracy by updating position calculations and coordinate transformations.
- Fixed paste operations to correctly handle mouse position without unnecessary coordinate conversions.
- Corrected drag initiation positions in toolbar and shape dragging to align with viewport-relative coordinates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-19 16:05:33 +00:00
doouding
e98ec93af1
fix: connector label editing ( #12282 )
...
Fixes [BS-3373](https://linear.app/affine-design/issue/BS-3373/connector%E7%9A%84%E5%8F%8C%E5%87%BB%E6%B7%BB%E5%8A%A0note%E8%A1%8C%E4%B8%BA%E5%8F%97%E5%88%B0%E4%BA%86%E8%A6%86%E7%9B%96%E8%8C%83%E5%9B%B4%E7%9A%84%E5%BD%B1%E5%93%8D )
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Connector label elements now include identity and creator metadata.
- **Bug Fixes**
- Improved hit-testing for pointer interactions, resulting in more accurate detection of hovered elements.
- **Refactor**
- Enhanced internal comparison logic for elements, improving sorting and ordering consistency.
- Strengthened type definitions for search filters, improving result accuracy and clarity.
- **Tests**
- Added end-to-end tests to verify correct label entry and retrieval for multiple connectors.
- Introduced utility functions to fetch connector labels and improved connector creation in test actions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-15 10:31:55 +00:00
Yifeng Wang
9cabe03386
refactor(editor): add dom renderer entry for canvas element ( #12149 )
2025-05-14 16:22:16 +08:00
doouding
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 -->
2025-05-13 11:29:59 +00:00
L-Sun
f3ca17fcb3
refactor(editor): extract slider component ( #12210 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a new slider component for line width selection, providing a more interactive and streamlined UI.
- Added support for using the slider component across relevant panels.
- **Improvements**
- Simplified the line width selection panel for easier use and improved maintainability.
- Enhanced event handling to prevent dropdowns from closing when interacting with the panel.
- **Bug Fixes**
- Improved event propagation control within the line styles panel.
- **Chores**
- Updated package exports to include the new slider component.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-12 09:42:52 +00:00
Saul-Mirone
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 -->
2025-05-08 01:01:05 +00:00
Saul-Mirone
95b9e4b3d0
refactor(editor): rename model.doc to store ( #12172 )
2025-05-07 09:17:01 +00:00
renovate
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`](5d1c4e127d ) 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`](10ab58dbc1 ) Thanks [@​eddeee888](https://redirect.github.com/eddeee888 )! - Improve syntax error messages whilst loading schema/document
- Updated dependencies \[[`c5efba3`](c5efba34a7 )]:
- [@​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`](c5efba34a7 ) 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`](556132176a ) 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==-->
2025-05-06 14:47:24 +00:00
L-Sun
245db4e992
fix(editor): make selected and out-of-viewport block active ( #12135 )
...
This PR make out-of-viewport but selected edgeless block keep active, since the selected block may still have some user interactions on the DOM. For example, when hover on a selected note and scroll viewport by wheel to view its hidden content, the note should not be hidden (a.k.a idel).
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Refactor**
- Updated viewport logic to keep selected items visible instead of only those being edited. Visibility now depends on selection status rather than editing state.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-06 07:05:54 +00:00
Saul-Mirone
676c5d8de6
refactor(editor): remove global gfx tool types ( #12119 )
2025-05-04 13:53:27 +00:00
Saul-Mirone
30a2e5b4fb
refactor(editor): remove gfx tool global type ( #12116 )
...
Closes: BS-2650
2025-05-04 13:53:26 +00:00
L-Sun
365a0a605b
feat(editor): improve visibility of hidden content of edgeless note ( #12068 )
...
Close [BS-3066](https://linear.app/affine-design/issue/BS-3066/优化长note的展示和折叠 )
- Enhanced the visibility behavior of hidden content in edgeless notes by:
- Showing hidden content when a note is being edited, even when it's outside the viewport
- Improving hover behavior with a delay when leaving from the bottom of the note
- Adding proper cleanup of hover timeouts when the component is disconnected
- Optimizing the viewport element to keep editing blocks or elements visible
## Testing
- Added new E2E test cases covering:
- Hover behavior on selected notes
- Content visibility during editing
- Viewport scrolling behavior
- Edge cases for content visibility
## Impact
This change improves the user experience when working with collapsed notes in edgeless mode by making the content more accessible and preventing accidental content hiding during editing.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved visibility of hidden content in edgeless notes when hovering near the bottom edge or editing the note, especially after resizing or clipping.
- **New Features**
- Enhanced hover behavior with delayed clearing based on mouse position to improve user experience.
- **Tests**
- Added new tests verifying hidden content visibility in edgeless notes during hover and editing, simulating diverse user interactions.
- **Chores**
- Added utilities to get and set viewport center for improved test control.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 13:24:56 +00:00
renovate
bce9f8cdf0
chore: bump up all non-major npm dependencies ( #11994 )
...
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@ai-sdk/openai](https://sdk.vercel.ai/docs ) ([source](https://redirect.github.com/vercel/ai )) | [`1.3.19` -> `1.3.20`](https://renovatebot.com/diffs/npm/@ai-sdk%2fopenai/1.3.19/1.3.20 ) | [](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.796.0` -> `3.797.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.796.0/3.797.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.796.0` -> `3.797.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fs3-request-presigner/3.796.0/3.797.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 |
| [@napi-rs/cli](https://redirect.github.com/napi-rs/napi-rs ) | [`3.0.0-alpha.77` -> `3.0.0-alpha.78`](https://renovatebot.com/diffs/npm/@napi-rs%2fcli/3.0.0-alpha.77/3.0.0-alpha.78 ) | [](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 |
| [@playwright/test](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.51.1` -> `=1.52.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.1/1.52.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/ ) | devDependencies | minor |
| [@playwright/test](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.51.1` -> `=1.52.0`](https://renovatebot.com/diffs/npm/@playwright%2ftest/1.51.1/1.52.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 |
| [@toeverything/theme](https://redirect.github.com/toeverything/design ) | [`1.1.13` -> `1.1.14`](https://renovatebot.com/diffs/npm/@toeverything%2ftheme/1.1.13/1.1.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 |
| [@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.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.1.1/3.1.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 |
| [@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.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.1.1/3.1.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 |
| [@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.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.1.1/3.1.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 |
| [app-builder-lib](https://redirect.github.com/electron-userland/electron-builder ) ([source](https://redirect.github.com/electron-userland/electron-builder/tree/HEAD/packages/app-builder-lib )) | [`26.0.13` -> `26.0.14`](https://renovatebot.com/diffs/npm/app-builder-lib/26.0.13/26.0.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 |
| [browser-fs-access](https://redirect.github.com/GoogleChromeLabs/browser-fs-access ) | [`^0.35.0` -> `^0.37.0`](https://renovatebot.com/diffs/npm/browser-fs-access/0.35.0/0.37.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 |
| [bullmq](https://bullmq.io/ ) ([source](https://redirect.github.com/taskforcesh/bullmq )) | [`5.51.0` -> `5.51.1`](https://renovatebot.com/diffs/npm/bullmq/5.51.0/5.51.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 | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs ) | `1.2.19` -> `1.2.20` | [](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 |
| [clap](https://redirect.github.com/clap-rs/clap ) | `4.5.36` -> `4.5.37` | [](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 |
| [file-type](https://redirect.github.com/sindresorhus/file-type ) | [`20.4.1` -> `20.5.0`](https://renovatebot.com/diffs/npm/file-type/20.4.1/20.5.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 |
| [gradle](https://gradle.org ) ([source](https://redirect.github.com/gradle/gradle )) | `8.13` -> `8.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/ ) | | minor |
| [graphql](https://redirect.github.com/graphql/graphql-js ) | [`16.10.0` -> `16.11.0`](https://renovatebot.com/diffs/npm/graphql/16.10.0/16.11.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 |
| [graphql](https://redirect.github.com/graphql/graphql-js ) | [`16.10.0` -> `16.11.0`](https://renovatebot.com/diffs/npm/graphql/16.10.0/16.11.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/ ) | devDependencies | minor |
| [lib0](https://crates.io/crates/lib0 ) | `0.16.5` -> `0.16.10` | [](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 |
| [lucide-react](https://lucide.dev ) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react )) | [`^0.488.0` -> `^0.503.0`](https://renovatebot.com/diffs/npm/lucide-react/0.488.0/0.503.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 |
| [objc2-foundation](https://redirect.github.com/madsmtm/objc2 ) | `0.3.0` -> `0.3.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/ ) | workspace.dependencies | patch |
| [playwright](https://playwright.dev ) ([source](https://redirect.github.com/microsoft/playwright )) | [`=1.51.1` -> `=1.52.0`](https://renovatebot.com/diffs/npm/playwright/1.51.1/1.52.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/ ) | devDependencies | minor |
| [rand](https://rust-random.github.io/book ) ([source](https://redirect.github.com/rust-random/rand )) | `0.9.0` -> `0.9.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 | patch |
| [rand](https://rust-random.github.io/book ) ([source](https://redirect.github.com/rust-random/rand )) | `0.9.0` -> `0.9.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/ ) | workspace.dependencies | patch |
| [react-resizable-panels](https://redirect.github.com/bvaughn/react-resizable-panels ) | [`2.1.8` -> `2.1.9`](https://renovatebot.com/diffs/npm/react-resizable-panels/2.1.8/2.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/ ) | dependencies | patch |
| [sqlx](https://redirect.github.com/launchbadge/sqlx ) | `0.8.4` -> `0.8.5` | [](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 |
| [tldts](https://redirect.github.com/remusao/tldts ) | [`7.0.3` -> `7.0.4`](https://renovatebot.com/diffs/npm/tldts/7.0.3/7.0.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 |
| [vitest](https://redirect.github.com/vitest-dev/vitest ) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest )) | [`3.1.1` -> `3.1.2`](https://renovatebot.com/diffs/npm/vitest/3.1.1/3.1.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 |
| [yrs](https://redirect.github.com/y-crdt/y-crdt ) | `=0.23.0` -> `=0.23.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 | patch |
| [yrs](https://redirect.github.com/y-crdt/y-crdt ) | `0.23.0` -> `0.23.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/ ) | workspace.dependencies | patch |
| com.google.firebase:firebase-bom | `33.12.0` -> `33.13.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 |
| [androidx.datastore:datastore-preferences](https://developer.android.com/jetpack/androidx/releases/datastore#1.1.5 ) ([source](https://cs.android.com/androidx/platform/frameworks/support )) | `1.1.4` -> `1.1.5` | [](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 |
| [androidx.compose:compose-bom](https://developer.android.com/jetpack ) | `2025.04.00` -> `2025.04.01` | [](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 |
---
### Release Notes
<details>
<summary>vercel/ai (@​ai-sdk/openai)</summary>
### [`v1.3.20`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/openai%401.3.20 )
[Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/openai@1.3.19...@ai-sdk/openai@1.3.20 )
##### Patch Changes
- [`dd5450e`](https://redirect.github.com/vercel/ai/commit/dd5450e ): feat(provider/openai): add o3 & o4-mini with developer systemMessageMode
</details>
<details>
<summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary>
### [`v3.797.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37970-2025-04-25 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.796.0...v3.797.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.797.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/packages/s3-request-presigner/CHANGELOG.md#37970-2025-04-25 )
[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.796.0...v3.797.0 )
**Note:** Version bump only for package [@​aws-sdk/s3-request-presigner](https://redirect.github.com/aws-sdk/s3-request-presigner )
</details>
<details>
<summary>napi-rs/napi-rs (@​napi-rs/cli)</summary>
### [`v3.0.0-alpha.78`](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.77...@napi-rs/cli@3.0.0-alpha.78 )
[Compare Source](https://redirect.github.com/napi-rs/napi-rs/compare/@napi-rs/cli@3.0.0-alpha.77...@napi-rs/cli@3.0.0-alpha.78 )
</details>
<details>
<summary>microsoft/playwright (@​playwright/test)</summary>
### [`v1.52.0`](https://redirect.github.com/microsoft/playwright/compare/v1.51.1...471930b1ceae03c9e66e0eb80c1364a1a788e7db )
[Compare Source](https://redirect.github.com/microsoft/playwright/compare/v1.51.1...v1.52.0 )
</details>
<details>
<summary>toeverything/design (@​toeverything/theme)</summary>
### [`v1.1.14`](https://redirect.github.com/toeverything/design/compare/1.1.13...1.1.14 )
[Compare Source](https://redirect.github.com/toeverything/design/compare/1.1.13...1.1.14 )
</details>
<details>
<summary>vitest-dev/vitest (@​vitest/browser)</summary>
### [`v3.1.2`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.2 )
[Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.1...v3.1.2 )
##### 🐞 Bug Fixes
- Add global `chai` variable in `vitest/globals` (fix: [#​7474](https://redirect.github.com/vitest-dev/vitest/issues/7474 )) - by [@​Jay-Karia](https://redirect.github.com/Jay-Karia ) in [https://github.com/vitest-dev/vitest/issues/7771 ](https://redirect.github.com/vitest-dev/vitest/issues/7771 ) and [https://github.com/vitest-dev/vitest/issues/7474 ](https://redirect.github.com/vitest-dev/vitest/issues/7474 ) [<samp>(d9297)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d9297920 )
- Prevent modifying `test.exclude` when same object passed in `coverage.exclude` - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7774 ](https://redirect.github.com/vitest-dev/vitest/issues/7774 ) [<samp>(c3751)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c375101d )
- Fix already hoisted mock - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7815 ](https://redirect.github.com/vitest-dev/vitest/issues/7815 ) [<samp>(773b1)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/773b10e0 )
- Fix test.scoped inheritance - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7814 ](https://redirect.github.com/vitest-dev/vitest/issues/7814 ) [<samp>(db6c3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/db6c3bcc )
- Remove pointer-events-none after resizing the left panel - by [@​alexprudhomme](https://redirect.github.com/alexprudhomme ) in [https://github.com/vitest-dev/vitest/issues/7811 ](https://redirect.github.com/vitest-dev/vitest/issues/7811 ) [<samp>(a7e77)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a7e773bd )
- Default to run mode when stdin is not a TTY - by [@​kentonv](https://redirect.github.com/kentonv ), [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) and [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7673 ](https://redirect.github.com/vitest-dev/vitest/issues/7673 ) [<samp>(6358f)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6358f216 )
- Use happy-dom/jsdom types for `envionmentOptions` - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7795 ](https://redirect.github.com/vitest-dev/vitest/issues/7795 ) [<samp>(67430)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/67430083 )
- **browser**:
- Fix transform error before browser server initialization - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7783 ](https://redirect.github.com/vitest-dev/vitest/issues/7783 ) [<samp>(5f762)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5f762ec5 )
- Fix mocking from outside of root - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7789 ](https://redirect.github.com/vitest-dev/vitest/issues/7789 ) [<samp>(03f55)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03f55d74 )
- Scale iframe for non ui case - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/6512 ](https://redirect.github.com/vitest-dev/vitest/issues/6512 ) [<samp>(c3374)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c3374808 )
- **coverage**:
- `await` profiler calls - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7763 ](https://redirect.github.com/vitest-dev/vitest/issues/7763 ) [<samp>(795a6)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/795a6433 )
- Expose profiling timers - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio ) in [https://github.com/vitest-dev/vitest/issues/7820 ](https://redirect.github.com/vitest-dev/vitest/issues/7820 ) [<samp>(5652b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5652bf92 )
- **deps**:
- Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7765 ](https://redirect.github.com/vitest-dev/vitest/issues/7765 ) [<samp>(7c3df)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/7c3dfb17 )
- Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7831 ](https://redirect.github.com/vitest-dev/vitest/issues/7831 ) [<samp>(15701)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/15701f5d )
- **runner**:
- Correctly call test hooks and teardown functions - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7775 ](https://redirect.github.com/vitest-dev/vitest/issues/7775 ) [<samp>(3c00c)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/3c00c875 )
- Show stacktrace on test timeout error - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7799 ](https://redirect.github.com/vitest-dev/vitest/issues/7799 ) [<samp>(df33b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/df33bba7 )
- **ui**:
- Load panel sizes from storage on initial load - by [@​userquin](https://redirect.github.com/userquin ) in [https://github.com/vitest-dev/vitest/issues/7265 ](https://redirect.github.com/vitest-dev/vitest/issues/7265 ) [<samp>(6555d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/6555d61d )
- **vite-node**:
- Named export should overwrite export all - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa ) in [https://github.com/vitest-dev/vitest/issues/7846 ](https://redirect.github.com/vitest-dev/vitest/issues/7846 ) [<samp>(5ba0d)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/5ba0d914 )
- Add ERR_MODULE_NOT_FOUND code error if module cannot be loaded - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7776 ](https://redirect.github.com/vitest-dev/vitest/issues/7776 ) [<samp>(f9eac)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/f9eacbc5 )
##### 🏎 Performance
- **browser**: Improve browser parallelisation - by [@​sheremet-va](https://redirect.github.com/sheremet-va ) in [https://github.com/vitest-dev/vitest/issues/7665 ](https://redirect.github.com/vitest-dev/vitest/issues/7665 ) [<samp>(816a5)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/816a5c51 )
##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.1...v3.1.2 )
</details>
<details>
<summary>electron-userland/electron-builder (app-builder-lib)</summary>
### [`v26.0.14`](https://redirect.github.com/electron-userland/electron-builder/blob/HEAD/packages/app-builder-lib/CHANGELOG.md#26014 )
[Compare Source](https://redirect.github.com/electron-userland/electron-builder/compare/v26.0.13...v26.0.14 )
##### Patch Changes
- [#​9032](https://redirect.github.com/electron-userland/electron-builder/pull/9032 ) [`3d65267a`](3d65267a6c ) Thanks [@​indutny-signal](https://redirect.github.com/indutny-signal )! - Add customNsisResources override to nsis options
- [#​9061](https://redirect.github.com/electron-userland/electron-builder/pull/9061 ) [`5545e132`](5545e13254 ) Thanks [@​mmaietta](https://redirect.github.com/mmaietta )! - chore: migrate fpm packaging from app builder
- [#​9034](https://redirect.github.com/electron-userland/electron-builder/pull/9034 ) [`80fbf5a6`](80fbf5a6d8 ) Thanks [@​beyondkmp](https://redirect.github.com/beyondkmp )! - feat: add buildUniversalInstaller option to NSIS portable configuration
- [#​8995](https://redirect.github.com/electron-userland/electron-builder/pull/8995 ) [`524fb6e0`](524fb6e042 ) Thanks [@​mmaietta](https://redirect.github.com/mmaietta )! - chore(asar): use streaming API for `electron/asar` for constructing asar package
- Updated dependencies \[]:
- dmg-builder@26.0.14
- electron-builder-squirrel-windows@26.0.14
</details>
<details>
<summary>GoogleChromeLabs/browser-fs-access (browser-fs-access)</summary>
### [`v0.37.0`](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/releases/tag/v0.37.0 )
[Compare Source](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/compare/v0.36.0...v0.37.0 )
- Fix issues introduced with b6e855dc0c
### [`v0.36.0`](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/releases/tag/v0.36.0 )
[Compare Source](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/compare/v0.35.0...v0.36.0 )
- Use the `cancel` method for better exception handling with legacy methods. ([#​153](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/issues/153 ), [#​158](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/issues/158 ))
</details>
<details>
<summary>taskforcesh/bullmq (bullmq)</summary>
### [`v5.51.1`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.51.1 )
[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.51.0...v5.51.1 )
##### Bug Fixes
- **queue-events:** omit telemetry options ([#​3239](https://redirect.github.com/taskforcesh/bullmq/issues/3239 )) ([e4dac2c](e4dac2c39f ))
</details>
<details>
<summary>rust-lang/cc-rs (cc)</summary>
### [`v1.2.20`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1220---2025-04-25 )
[Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.19...cc-v1.2.20 )
##### Other
- Regenerate target info ([#​1461](https://redirect.github.com/rust-lang/cc-rs/pull/1461 ))
- Fix parser.rs on latest rustc nightly ([#​1459](https://redirect.github.com/rust-lang/cc-rs/pull/1459 ))
</details>
<details>
<summary>clap-rs/clap (clap)</summary>
### [`v4.5.37`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4537---2025-04-18 )
[Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.36...v4.5.37 )
##### Features
- Added `ArgMatches::try_clear_id()`
</details>
<details>
<summary>sindresorhus/file-type (file-type)</summary>
### [`v20.5.0`](https://redirect.github.com/sindresorhus/file-type/releases/tag/v20.5.0 )
[Compare Source](https://redirect.github.com/sindresorhus/file-type/compare/v20.4.1...v20.5.0 )
- Add support Office PowerPoint 2007 (macro-enabled) slide show ([#​747](https://redirect.github.com/sindresorhus/file-type/issues/747 )) [`f1b4c7a`](https://redirect.github.com/sindresorhus/file-type/commit/f1b4c7a )
***
</details>
<details>
<summary>gradle/gradle (gradle)</summary>
### [`v8.14`](https://redirect.github.com/gradle/gradle/compare/v8.13.0...v8.14.0 )
[Compare Source](https://redirect.github.com/gradle/gradle/compare/v8.13.0...v8.14.0 )
</details>
<details>
<summary>graphql/graphql-js (graphql)</summary>
### [`v16.11.0`](https://redirect.github.com/graphql/graphql-js/releases/tag/v16.11.0 ): 16.11.0
[Compare Source](https://redirect.github.com/graphql/graphql-js/compare/v16.10.0...v16.11.0 )
##### v16.11.0 (2025-04-26)
##### New Feature 🚀
- [#​4363](https://redirect.github.com/graphql/graphql-js/pull/4363 ) Ensure we validate for using nullable variables in oneOf input fields ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4366](https://redirect.github.com/graphql/graphql-js/pull/4366 ) feat(execution): add max coercion errors option to execution context ([@​cristunaranjo](https://redirect.github.com/cristunaranjo ))
##### Bug Fix 🐞
- [#​4367](https://redirect.github.com/graphql/graphql-js/pull/4367 ) fix(coerce-input-value): input object coercion rejects arrays ([@​cristunaranjo](https://redirect.github.com/cristunaranjo ))
##### Docs 📝
<details>
<summary> 11 PRs were merged </summary>
- [#​4310](https://redirect.github.com/graphql/graphql-js/pull/4310 ) First draft for upgrade guide to v17 ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4331](https://redirect.github.com/graphql/graphql-js/pull/4331 ) fix sidebar for documentation and `/api-v16` ([@​dimaMachina](https://redirect.github.com/dimaMachina ))
- [#​4335](https://redirect.github.com/graphql/graphql-js/pull/4335 ) Add cspell exception ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4340](https://redirect.github.com/graphql/graphql-js/pull/4340 ) Improve flow of documentation around GraphiQL ([@​benjie](https://redirect.github.com/benjie ))
- [#​4343](https://redirect.github.com/graphql/graphql-js/pull/4343 ) typofix: removes extra parenthesis from getting started code snippet ([@​rabahalishah](https://redirect.github.com/rabahalishah ))
- [#​4351](https://redirect.github.com/graphql/graphql-js/pull/4351 ) fixed wrong variable name ([@​fto-dev](https://redirect.github.com/fto-dev ))
- [#​4352](https://redirect.github.com/graphql/graphql-js/pull/4352 ) docs(getting-started): promises current links ([@​guspan-tanadi](https://redirect.github.com/guspan-tanadi ))
- [#​4368](https://redirect.github.com/graphql/graphql-js/pull/4368 ) Update docs for execution options ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4369](https://redirect.github.com/graphql/graphql-js/pull/4369 ) Correct some syntax ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4372](https://redirect.github.com/graphql/graphql-js/pull/4372 ) Refactor every code-first example to leverage resolve ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4373](https://redirect.github.com/graphql/graphql-js/pull/4373 ) docs: Update getting-started.mdx ([@​Shubhdeep12](https://redirect.github.com/Shubhdeep12 ))
</details>
##### Polish 💅
* [#​4312](https://redirect.github.com/graphql/graphql-js/pull/4312 ) Increase print/visit performance ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
##### Internal 🏠
<details>
<summary> 4 PRs were merged </summary>
- [#​4327](https://redirect.github.com/graphql/graphql-js/pull/4327 ) Add redirect for /api ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4377](https://redirect.github.com/graphql/graphql-js/pull/4377 ) Chore: bump setup-node ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4378](https://redirect.github.com/graphql/graphql-js/pull/4378 ) Change to gqlConf 2025 ([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
- [#​4379](https://redirect.github.com/graphql/graphql-js/pull/4379 ) Add missing parenthesis ([@​benjie](https://redirect.github.com/benjie ))
</details>
##### Committers: 8
* Benjie([@​benjie](https://redirect.github.com/benjie ))
* Cris Naranjo ([@​cristunaranjo](https://redirect.github.com/cristunaranjo ))
* Dimitri POSTOLOV([@​dimaMachina](https://redirect.github.com/dimaMachina ))
* Fatih Ozdemir([@​fto-dev](https://redirect.github.com/fto-dev ))
* Guspan Tanadi([@​guspan-tanadi](https://redirect.github.com/guspan-tanadi ))
* Jovi De Croock([@​JoviDeCroock](https://redirect.github.com/JoviDeCroock ))
* Rabah Ali Shah([@​rabahalishah](https://redirect.github.com/rabahalishah ))
* Shubhdeep Chhabra([@​Shubhdeep12](https://redirect.github.com/Shubhdeep12 ))
</details>
<details>
<summary>lucide-icons/lucide (lucide-react)</summary>
### [`v0.503.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.503.0 ): Version 0.503.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.502.0...0.503.0 )
#### What's Changed
- fix(icons): changed `file-badge-2` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2933 ](https://redirect.github.com/lucide-icons/lucide/pull/2933 )
- feat(icons): added `wifi-pen` icon by [@​luisdlopera](https://redirect.github.com/luisdlopera ) in [https://github.com/lucide-icons/lucide/pull/2576 ](https://redirect.github.com/lucide-icons/lucide/pull/2576 )
#### New Contributors
- [@​luisdlopera](https://redirect.github.com/luisdlopera ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2576 ](https://redirect.github.com/lucide-icons/lucide/pull/2576 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.502.0...0.503.0
### [`v0.502.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.502.0 ): Version 0.502.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.501.0...0.502.0 )
#### What's Changed
- fix(docs): Added link for jguddas next to lucide studio by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3063 ](https://redirect.github.com/lucide-icons/lucide/pull/3063 )
- build(deps-dev): bump vite from 5.4.15 to 5.4.17 by [@​dependabot](https://redirect.github.com/dependabot ) in [https://github.com/lucide-icons/lucide/pull/2993 ](https://redirect.github.com/lucide-icons/lucide/pull/2993 )
- fix(build): fix shredder formatting and duplicate contributors error by [@​jpjacobpadilla](https://redirect.github.com/jpjacobpadilla ) in [https://github.com/lucide-icons/lucide/pull/3072 ](https://redirect.github.com/lucide-icons/lucide/pull/3072 )
- fix(icons): rebase non-binary on square-asterisk by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3071 ](https://redirect.github.com/lucide-icons/lucide/pull/3071 )
- docs(CONTRIBUTING): Grammar fix for CONTRIBUTING by [@​ajokt123](https://redirect.github.com/ajokt123 ) in [https://github.com/lucide-icons/lucide/pull/3090 ](https://redirect.github.com/lucide-icons/lucide/pull/3090 )
- fix(icons): changed `calendar-plus` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3085 ](https://redirect.github.com/lucide-icons/lucide/pull/3085 )
- fix(icons): changed `book-key` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3062 ](https://redirect.github.com/lucide-icons/lucide/pull/3062 )
- fix(icons): changed `clipboard-paste` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3075 ](https://redirect.github.com/lucide-icons/lucide/pull/3075 )
- fix(icons): changed `orbit` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3074 ](https://redirect.github.com/lucide-icons/lucide/pull/3074 )
- fix(icons): changed `baby` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3073 ](https://redirect.github.com/lucide-icons/lucide/pull/3073 )
- docs(pacakges): Added periods to package summary by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3065 ](https://redirect.github.com/lucide-icons/lucide/pull/3065 )
- fix(docs): PR Conventions by [@​briz123](https://redirect.github.com/briz123 ) in [https://github.com/lucide-icons/lucide/pull/3066 ](https://redirect.github.com/lucide-icons/lucide/pull/3066 )
- feat(icons): added `ruler-dimension-line` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2535 ](https://redirect.github.com/lucide-icons/lucide/pull/2535 )
#### New Contributors
- [@​jpjacobpadilla](https://redirect.github.com/jpjacobpadilla ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3072 ](https://redirect.github.com/lucide-icons/lucide/pull/3072 )
- [@​ajokt123](https://redirect.github.com/ajokt123 ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3090 ](https://redirect.github.com/lucide-icons/lucide/pull/3090 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.501.0...0.502.0
### [`v0.501.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.501.0 ): Version 0.501.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.500.0...0.501.0 )
#### What's Changed
- feat(angular): export icon data types by [@​dzonatan](https://redirect.github.com/dzonatan ) in [https://github.com/lucide-icons/lucide/pull/2820 ](https://redirect.github.com/lucide-icons/lucide/pull/2820 )
- feat: added request-review workflow by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2502 ](https://redirect.github.com/lucide-icons/lucide/pull/2502 )
- feat(icons): Add columns-3-cog icon by [@​irvineacosta](https://redirect.github.com/irvineacosta ) in [https://github.com/lucide-icons/lucide/pull/2763 ](https://redirect.github.com/lucide-icons/lucide/pull/2763 )
#### New Contributors
- [@​dzonatan](https://redirect.github.com/dzonatan ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2820 ](https://redirect.github.com/lucide-icons/lucide/pull/2820 )
- [@​irvineacosta](https://redirect.github.com/irvineacosta ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2763 ](https://redirect.github.com/lucide-icons/lucide/pull/2763 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.500.0...0.501.0
### [`v0.500.0`](https://redirect.github.com/lucide-icons/lucide/compare/0.499.0...0.500.0 )
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.499.0...0.500.0 )
### [`v0.499.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.499.0 ): Version 0.499.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.498.0...0.499.0 )
#### What's Changed
- feat(icons): added `bow-arrow` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw ) in [https://github.com/lucide-icons/lucide/pull/2418 ](https://redirect.github.com/lucide-icons/lucide/pull/2418 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.498.0...0.499.0
### [`v0.498.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.498.0 ): Version 0.498.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.497.0...0.498.0 )
#### What's Changed
- feat(icons): added `decimals-arrow-left` icon and `decimals-arrow-right` by [@​AnnaSasDev](https://redirect.github.com/AnnaSasDev ) in [https://github.com/lucide-icons/lucide/pull/2945 ](https://redirect.github.com/lucide-icons/lucide/pull/2945 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.497.0...0.498.0
### [`v0.497.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.497.0 ): Version 0.497.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.496.0...0.497.0 )
#### What's Changed
- feat(icons): added `shredder` icon by [@​alirashidy](https://redirect.github.com/alirashidy ) in [https://github.com/lucide-icons/lucide/pull/3052 ](https://redirect.github.com/lucide-icons/lucide/pull/3052 )
#### New Contributors
- [@​alirashidy](https://redirect.github.com/alirashidy ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/3052 ](https://redirect.github.com/lucide-icons/lucide/pull/3052 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.496.0...0.497.0
### [`v0.496.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.496.0 ): Version 0.496.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.495.0...0.496.0 )
#### What's Changed
- feat(icons): added `squares-*` operation icons by [@​EthanHazel](https://redirect.github.com/EthanHazel ) in [https://github.com/lucide-icons/lucide/pull/2585 ](https://redirect.github.com/lucide-icons/lucide/pull/2585 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.495.0...0.496.0
### [`v0.495.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.495.0 ): Version 0.495.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.494.0...0.495.0 )
#### What's Changed
- feat(icons): added `rectangle-goggles` icon by [@​EthanHazel](https://redirect.github.com/EthanHazel ) in [https://github.com/lucide-icons/lucide/pull/2515 ](https://redirect.github.com/lucide-icons/lucide/pull/2515 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.494.0...0.495.0
### [`v0.494.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.494.0 ): Version 0.494.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.493.0...0.494.0 )
#### What's Changed
- fix(icons): changed `cpu` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3033 ](https://redirect.github.com/lucide-icons/lucide/pull/3033 )
- feat(icons): added map-pin-edit icon [#​2874](https://redirect.github.com/lucide-icons/lucide/issues/2874 ) by [@​sachinkr7368](https://redirect.github.com/sachinkr7368 ) in [https://github.com/lucide-icons/lucide/pull/2957 ](https://redirect.github.com/lucide-icons/lucide/pull/2957 )
#### New Contributors
- [@​sachinkr7368](https://redirect.github.com/sachinkr7368 ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2957 ](https://redirect.github.com/lucide-icons/lucide/pull/2957 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.493.0...0.494.0
### [`v0.493.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.493.0 ): Version 0.493.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.492.0...0.493.0 )
#### What's Changed
- feat(icons): added `bubbles` icon by [@​vqh2602](https://redirect.github.com/vqh2602 ) in [https://github.com/lucide-icons/lucide/pull/2582 ](https://redirect.github.com/lucide-icons/lucide/pull/2582 )
- docs(studio): Add lucide studio to site navbar by [@​ericfennis](https://redirect.github.com/ericfennis ) in [https://github.com/lucide-icons/lucide/pull/3058 ](https://redirect.github.com/lucide-icons/lucide/pull/3058 )
- feat(ci): adds dpi preview for 16, 32 and 48px by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/3048 ](https://redirect.github.com/lucide-icons/lucide/pull/3048 )
- fix(icons): changed `palette` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw ) in [https://github.com/lucide-icons/lucide/pull/3015 ](https://redirect.github.com/lucide-icons/lucide/pull/3015 )
- feat(icons): added `brick-wall-fire` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere ) in [https://github.com/lucide-icons/lucide/pull/3036 ](https://redirect.github.com/lucide-icons/lucide/pull/3036 )
#### New Contributors
- [@​vqh2602](https://redirect.github.com/vqh2602 ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2582 ](https://redirect.github.com/lucide-icons/lucide/pull/2582 )
**Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.492.0...0.493.0
### [`v0.492.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.492.0 ): Version 0.492.0
[Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.491.0...0.492.0 )
##### What's Changed
- fix(icons): changed `pipette` icon by [@​jguddas](https://redirect.github.com/jguddas ) in [https://github.com/lucide-icons/lucide/pull/2927 ](https://redirect.github.com/lucide-icons/lucide/pull/2927 )
- feat(icons): added `heart-plus` & `heart-minus` icon by [@​Ayberkyvs](https://redirect.github.com/Ayberkyvs ) in [https://github.com/lucide-icons/lucide/pull/2842 ](https://redirect.github.com/lucide-icons/lucide/pull/2842 )
##### New Contributors
- [@​Ayberkyvs](https://redirect.github.com/Ayberkyvs ) made their first contribution in [https://github.com/lucide-icons/lucide/pull/2842 ](https://redirect.github.com/lucide-icons/lucid
</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-04-29 09:36:13 +00:00
doodlewind
be28038e94
perf(editor): fallback to placeholder for canvas text ( #12033 )
...
### TL;DR
For canvas elements, this PR adds placeholders during zooming operations to improve performance.

### What changed?
- Implemented placeholder rendering during zooming operations in the canvas renderer, but not only DOM.
- Added a `forceFullRender` property to the `GfxCompatibleInterface` to allow elements to opt out of placeholder rendering
- Set `forceFullRender = true` for connectors to ensure they always render properly, even during zooming
- Connected the turbo renderer to the viewport's zooming state to automatically switch between full and placeholder rendering
### Why make this change?
Rendering complex elements during zooming operations can cause performance issues and make the UI feel sluggish. Rendering connector label also leads to high cost DOM `set font` delays.

The turbo renderer improves performance by displaying simple placeholders for elements during zooming, while still rendering critical elements like connectors fully. This creates a smoother user experience while maintaining essential visual information.
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Introduced a feature-flag-controlled "turbo" rendering mode that displays placeholder graphics during zooming for improved performance.
- Added the ability to override placeholder rendering for specific elements, ensuring full rendering when required.
- **Bug Fixes**
- Enhanced rendering logic to ensure connectors always render fully, even during zoom operations.
- **Documentation**
- Updated API documentation to reflect new properties related to rendering behavior.
- **Tests**
- Improved tests to verify correct rendering behavior for connectors.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 03:05:17 +00:00
Saul-Mirone
99ad4e871e
feat(editor): use migrated extensions ( #11886 )
...
Closes: BS-3283
2025-04-22 15:51:22 +00:00
doouding
b59f6ebde0
refactor: default-tool box selection ( #11800 )
...
### Changed
- Rewrite box selection in `default-tool`, the view can decide whether to be selected in box selection by return a boolean value in `onBoxSelected` method
- Cleanup unnecessary states in `default-tool` and some naming problem
2025-04-22 08:18:26 +00:00
doouding
e0e84d302d
refactor: moving connector label to connector view ( #11738 )
...
### Changed
Moved connector label moving logic from `default-tool` to connector view.
#### Other infrastructure changes:
- Gfx element view now can handles drag events
- Added `context.preventDefault()` support to bypass built-in interactions in extension
- Handle the pointer events in element view will bypass the built-in interactions automatically
> The built-in interactions include element dragging, click selection, drag-to-scale operations, etc.
2025-04-22 08:18:24 +00:00
doouding
21bf009553
refactor: migrate elements clone from default-tool to extension ( #11703 )
...
### Changed
- Add `onRequestElementsClone` action to allow extension to define how to clone gfx elements
2025-04-22 08:18:23 +00:00
doouding
52953ce8e3
refactor: redesign element transform manager interface ( #11679 )
...
### Change
- Rename `ElementTransformManager` -> `InteractivityManager`
- Now you can `event.on` and `action.onXXX` method to extend interactivity behaviour. The old approach of overriding methods directly is deprecated.
2025-04-22 08:18:23 +00:00
Yifeng Wang
16f7be7f0b
perf(editor): avoid redundant dom query when editing single block ( #11732 )
2025-04-16 17:52:22 +08:00
doodlewind
b21864cf63
perf(editor): dispose input event handler for removed blocks ( #11734 )
2025-04-16 09:05:47 +00:00
donteatfriedrice
212c13f843
fix(editor): add code block clipboard extension ( #11731 )
...
Close [BS-3109](https://linear.app/affine-design/issue/BS-3109/code-block-不支援-markdown-語法 )
2025-04-16 08:32:00 +00:00
yoyoyohamapi
0df584bd5e
refactor(core): add keyPress event to fix IME space detection ( #11700 )
...
### TL;DR
Refactor space-triggered AI Widget activation logic from `keydown` to `keypress` event listeners
### Background
The `keydown` event triggered by a space may originate from:
1. Normal space insertion
2. Space triggered by input method confirming candidate words
In scenarios like (2), some browsers (see [ISSUE](https://github.com/toeverything/AFFiNE/issues/11541 )) and input method callbacks produce events identical to scenario (1),making it impossible to distinguish between the two.
To fix this, the space-activated AI listener uses the `keypress` event:
In scenario 2, `event.which !== 32` (may be `30430` or other values) can be used to differentiate from scenario 1.
> CLOSE BS-3081
2025-04-15 08:37:27 +00:00
Flrande
fd6c34cfa3
fix(editor): v-element may get undefined inline editor ( #11697 )
2025-04-15 08:22:39 +00:00
L-Sun
aabb09b31f
fix(editor): ime input error at empty line ( #11636 )
...
Close [BS-3106](https://linear.app/affine-design/issue/BS-3106/mac-chrom在空行使用ime输入,文档卡住 )
2025-04-11 10:39:16 +00:00
doouding
714f2e79dc
fix: cannot exit editing mode when click frame body ( #11603 )
2025-04-11 03:23:27 +00:00
L-Sun
588659ef67
fix(editor): connector target position NaN ( #11606 )
...
Close [BS-3086](https://linear.app/affine-design/issue/BS-3086/frame里套frame,连一下connector,拖两下,白板损坏 )
### What Changes
- Fixed `bound.toRelative` may be return `NaN` when `bound.w === 0 || bound.h ===0`
- Remove type assertions from `connector-manager.ts` for more type safety
2025-04-10 12:33:24 +00:00
L-Sun
06497773a7
fix(editor): can not move carte at the end of inline element ( #11558 )
...
Close [BS-2922](https://linear.app/affine-design/issue/BS-2922/【移动端-ios】文档添加linked-page后,无法删除 )
2025-04-09 08:07:02 +00:00
doouding
d7268ce04c
test: add std gfx test ( #11442 )
...
### Changed
- Move some intergraion tests to std as they are more like basic tests
- Add some basic gfx-related tests
2025-04-08 16:20:36 +00:00