mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-14 16:46:22 +08:00
e4f32cd61e93e226cfe6bd2debfc458bbf890dbd
857 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e4f32cd61e |
refactor(editor): replace-id middlware (#12250)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved the internal structure and clarity of ID handling during import processes, leading to more maintainable and modular code. No changes to user-facing functionality. - **Chores** - Enhanced type definitions for import events to improve code readability and maintainability. No impact on end-user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
08d6c5a97c |
refactor(editor): rewrite resize and rotate (#12054)
### Changed
This pr split the old `edgeless-selected-rect` into four focused modules:
- `edgeless-selected-rect`: Provide an entry point for user operation on view layer only, no further logic here.
- `GfxViewInteractionExtension`: Allow you to plug in custom resize/rotate behaviors for block or canvas element. If you don’t register an extension, it falls back to the default behaviours.
- `InteractivityManager`: Provide the API that accepts resize/rotate requests, invokes any custom behaviors you’ve registered, tracks the lifecycle and intermediate state, then hands off to the math engine.
- `ResizeController`: A pure math engine that listens for pointer moves and pointer ups and calculates new sizes, positions, and angles. It doesn’t call any business APIs.
### Customizing an element’s resize/rotate behavior
Call `GfxViewInteractionExtension` with the element’s flavour or type plus a config object. In the config you can define:
- `resizeConstraint` (min/max width & height, lock ratio)
- `handleResize(context)` method that returns an object containing `beforeResize`、`onResizeStart`、`onResizeMove`、`onResizeEnd`
- `handleRotate(context)` method that returns an object containing `beforeRotate`、`onRotateStart`、`onRotateMove`、`onRotateEnd`
```typescript
import { GfxViewInteractionExtension } from '@blocksuite/std/gfx';
GfxViewInteractionExtension(
flavourOrElementType,
{
resizeConstraint: {
minWidth,
maxWidth,
lockRatio,
minHeight,
maxHeight
},
handleResize(context) {
return {
beforeResize(context) {},
onResizeStart(context) {},
onResizeMove(context) {},
onResizeEnd(context) {}
};
},
handleRotate(context) {
return {
beforeRotate(context) {},
onRotateStart(context) {},
onRotateMove(context) {},
onRotateEnd(context) {}
};
}
}
);
```
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit
- **New Features**
- Added interaction extensions for edgeless variants of attachment, bookmark, edgeless text, embedded docs, images, notes, frames, AI chat blocks, and various embed blocks (Figma, GitHub, HTML, iframe, Loom, YouTube).
- Introduced interaction extensions for graphical elements including connectors, groups, mind maps, shapes, and text, supporting constrained resizing and rotation disabling where applicable.
- Implemented a unified interaction extension framework enabling configurable resize and rotate lifecycle handlers.
- Enhanced autocomplete overlay behavior based on selection context.
- **Refactor**
- Removed legacy resize manager and element-specific resize/rotate logic, replacing with a centralized, extensible interaction system.
- Simplified resize handle rendering to a data-driven approach with improved cursor management.
- Replaced complex cursor rotation calculations with fixed-angle mappings for resize handles.
- Streamlined selection rectangle component to use interactivity services for resize and rotate handling.
- **Bug Fixes**
- Fixed connector update triggers to reduce unnecessary updates.
- Improved resize constraints enforcement and interaction state tracking.
- **Tests**
- Refined end-to-end tests to use higher-level resize utilities and added finer-grained assertions on element dimensions.
- Enhanced mouse movement granularity in drag tests for better simulation fidelity.
- **Chores**
- Added new workspace dependencies and project references for the interaction framework modules.
- Extended public API exports to include new interaction types and extensions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
4ebeb530e0 |
refactor(editor): config the extension provider directly (#12252)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added new export paths to improve module accessibility for foundation store and view components. - Introduced new extension points for telemetry, font configuration, link preview cache, and peek view services in the view extension foundation. - **Improvements** - Enhanced flexibility by allowing optional configuration of placeholders in paragraph view extensions. - Switched to runtime schema validation for font configuration, increasing reliability. - Streamlined service registration for peek view providers. - **Refactor** - Centralized and simplified extension management by removing redundant extension files and consolidating setup logic. - Updated internal integration of telemetry, font, and peek view services for improved maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5dbe6ff68b |
fix(editor): notion text adapter should handle text without styles correctly (#12248)
Closes: [BS-3486](https://linear.app/affine-design/issue/BS-3486/粘贴从-notion-复制的内容出错) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved handling of Notion text segments with empty or invalid style arrays, ensuring plain text and styled text are both processed correctly and preventing errors from malformed input. - **Tests** - Added a test case to verify correct conversion of Notion text with empty styles arrays. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0d518adc5b |
refactor(editor): add cache extension for link preview service (#12196)
Closes: [BS-2578](https://linear.app/affine-design/issue/BS-2578/优化-footnote-预览的逻辑:支持缓存结果,避免重复-loading) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a link preview caching mechanism, enabling faster and more efficient reuse of link preview data across the app. - Added a feature flag for enabling or disabling link preview cache, configurable through workspace experimental settings. - Enhanced localization with new entries describing the link preview cache feature. - **Improvements** - Updated link preview service architecture for better extensibility and maintainability. - Improved integration of feature flags throughout chat and rendering components. - **Bug Fixes** - Fixed tooltip formatting for footnote URLs. - **Chores** - Updated dependencies and localization completeness tracking. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
cb550b7b21 |
refactor(editor): extract mobile extension builder (#12239)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new mobile view extension that activates mobile-specific UI features based on the runtime environment. - Automatically enables mobile keyboard toolbar and linked document menu features in mobile contexts. - **Improvements** - Simplified code and paragraph block configurations on mobile, including disabling line numbers and adjusting placeholders. - Enhanced configuration chaining to include mobile-specific settings by default. - Improved extension registration flow with method chaining support. - **Refactor** - Removed deprecated mobile patch classes and configurations, consolidating mobile logic into dedicated extensions. - Streamlined mobile-related code for better maintainability and performance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0464e03b92 |
chore(editor): add telemetry for note, embed doc and linked doc (#12234)
Close [BS-3480](https://linear.app/affine-design/issue/BS-3480/event-tracking) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added telemetry tracking to toolbar actions for embedding documents, duplicating notes, and toggling note display modes. - Telemetry events now track when new note blocks are created from drag-and-drop actions on the whiteboard. - **Chores** - Improved event tracking for user interactions to enhance analytics and usage insights. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
42ae6e6e40 |
feat(editor): group configuration of note styles to panel from toolbar (#12230)
Close [BS-3401](https://linear.app/affine-design/issue/BS-3401/note-style-需要合并同类项)  |
||
|
|
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 --> |
||
|
|
6fb7f51ea2 |
refactor(editor): history as a store extension (#12214)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Improved history and undo/redo management across the app by introducing a dedicated history extension. Undo/redo operations now use a more focused undo manager, resulting in clearer and more consistent behavior. - **Documentation** - Updated API documentation to reflect changes in history management, including revised method signatures and removal of outdated event references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7f3e0dc52f |
feat(editor): improve status display in image block (#12194)
Closes: [BS-3451](https://linear.app/affine-design/issue/BS-3451/image-block-status-组件) |
||
|
|
b3f0f38b41 |
feat(editor): improve status display in attachment embed view (#12180)
Closes: [BS-3438](https://linear.app/affine-design/issue/BS-3438/attachment-embed-view-中的-status-组件) Closes: [BS-3447](https://linear.app/affine-design/issue/BS-3447/触发-litportal-re-render) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a visual status indicator for embedded attachments with reload capability. - Added a new resource status component to display error messages and reload actions. - **Improvements** - Enhanced attachment rendering flow with reactive state and unified embed handling. - Simplified resource state and blob URL lifecycle management. - Added status visibility flags for PDF and video embeds. - **Bug Fixes** - Improved error handling and refresh support for embedded content including PDFs, videos, and audio. - **Style** - Added styles for the attachment embed status indicator positioning. - **Refactor** - Streamlined attachment and resource controller implementations for better maintainability. - **Tests** - Added end-to-end test verifying PDF viewer reload and re-rendering in embed mode. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7b6e00d84a |
refactor(editor): replace @vanilla-extract/css with @emotion/css (#12195)
close: BS-3446 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Migrated all styling from vanilla-extract to Emotion for improved CSS-in-JS consistency across database, table, and data view components. - Updated import paths for style modules to reflect the new Emotion-based file naming. - Removed unused or redundant style exports and updated selector syntax where necessary. - **Chores** - Updated dependencies: removed vanilla-extract and added Emotion in relevant package files. - **Style** - No visual changes to existing components; all style definitions remain consistent with previous designs. - **New Features** - Introduced new reusable CSS classes for data view and table components using Emotion. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a5872dff65 |
fix(editor): database scroll regression on mobile safari (#12203)
This won't affect desktop behavior, since the `MobileDataViewTable` is a standalone entry different with the default `DataViewTable`. Horizontal scrolling needs to be disabled to prevent Safari render bug. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Style** - Updated table view styling on mobile to disable horizontal scrolling, improving stability on iOS Safari. - Removed platform-specific horizontal scrolling behavior for tables on desktop for a consistent experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6d012f093f |
fix(core): ai replace selection (#11875)
### TL;DR * Fix the issue of inaccurate content replacement in AI Replace Selection * Optimize unit Tests utils ### What Changed 1. Fixed the issue of inaccurate content replacement in AI Replace Selection: - Convert the AI Answer into a Snapshot, then transform it into a sequence of Blocks ready for insertion. - Invoke the `replaceSelectedTextWithBlocks` command to replace the current selection with blocks (given the complexity of block combinations, this command uses [ts-pattern](https://github.com/gvergnaud/ts-pattern) implementation to ensure compile-time prevention of pattern handling omissions). 2. Optimized unit test assertions for commands, now allowing direct document content comparison using `toEqualDoc`. ```ts const host = affine` <affine-page id="page"> <affine-note id="note"> <affine-paragraph id="paragraph-1">Hel<anchor />lo</affine-paragraph> <affine-paragraph id="paragraph-2">Wor<focus />ld</affine-paragraph> </affine-note> </affine-page> `; // .... const expected = affine` <affine-page id="page"> <affine-note id="note"> <affine-paragraph id="paragraph-1">Hel111</affine-paragraph> <affine-code id="code"></affine-code> <affine-paragraph id="paragraph-2">222ld</affine-paragraph> </affine-note> </affine-page> `; expect(host.doc).toEqualDoc(expected.doc); ``` 3. Added support for text cursors in unit test template syntax. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit > CLOSE BS-3278 - **New Features** - Introduced the ability to replace selected text in documents with blocks, supporting advanced merging and insertion scenarios for various block types. - **Bug Fixes** - Improved handling of text selection and cursor placement in document templates used for testing. - **Tests** - Added comprehensive tests for replacing selected text with blocks, including edge cases and complex selection scenarios. - Enhanced test utilities for document structure comparison and selection handling. - Updated end-to-end tests to verify correct replacement of selected text via AI-driven actions. - **Chores** - Added and updated dependencies to support new features. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
6689bd1914 |
feat(editor): add created-time and created-by property for database block (#12156)
close: BS-3431 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added "Created By" property type and cell renderer, displaying creator's avatar and name in database blocks. - Introduced "Created Time" property type and cell renderer, showing formatted creation timestamps. - **Improvements** - Enhanced table and Kanban views with improved column and row movement, hiding, and statistics capabilities. - Streamlined property and row management with unified object handling and reactive signals for better performance and reliability. - Improved avatar display logic to handle removed or unnamed users gracefully. - Refactored property and row APIs to consolidate access patterns and support reactive updates. - Updated icon retrieval and reactive value access for improved UI responsiveness in database and Kanban cells. - Consolidated property and cell access methods to use "get or create" patterns ensuring consistent data availability. - Added locking mechanism to stabilize computed signals during locked states. - Modularized table and Kanban column and row abstractions for better encapsulation and maintainability. - **Bug Fixes** - Corrected row and column deletion, movement, and selection behaviors across table and Kanban views. - Fixed issues with property and row referencing, ensuring consistent handling of identifiers and objects. - Removed debugging logs and fixed method calls to align with updated APIs. - **Style** - Updated and simplified table column header styles for a cleaner appearance. - **Chores** - Added `@emotion/css` dependency for styling support. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
11dfc1d1df |
feat(editor): insert embed doc with quick search by default (#12165)
Close [BS-3404](https://linear.app/affine-design/issue/BS-3404/通过embed-doc时,插入的doc还是card-view,应该要默认embed-view) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added the ability to insert and display embedded synced documents, supporting different link types based on editor mode and user preferences. - Introduced new UI interactions and view options for embedded synced documents in edgeless mode. - **Bug Fixes** - Updated UI selectors and preference keys to ensure consistent behavior and correct application of user settings. - **Tests** - Added and updated end-to-end tests for embedding synced documents, including header interactions and viewport fitting. - Improved test coverage for quick search insertion and edgeless embed synced doc features. - **Chores** - Renamed settings and updated exports to align with new embedding functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
2d1600fa00 |
refactor(core): implement doc created/updated by service (#12150)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Documents now automatically track and display "created by" and "updated by" user information. - Document creation and update timestamps are now managed and shown more accurately. - Workspace and document metadata (name, avatar) updates are more responsive and reliable. - Document creation supports middleware for customizing properties and behavior. - **Improvements** - Simplified and unified event handling for document list updates, reducing redundant event subscriptions. - Enhanced integration of editor and theme settings into the document creation process. - Explicit Yjs document initialization for improved workspace stability and reliability. - Consolidated journal-related metadata display in document icons and titles for clarity. - **Bug Fixes** - Fixed inconsistencies in how workspace and document names are set and updated. - Improved accuracy of "last updated" indicators by handling timestamps automatically. - **Refactor** - Removed deprecated event subjects and direct metadata manipulation in favor of more robust, reactive patterns. - Streamlined document creation logic across various features (quick search, journal, recording, etc.). - Simplified user avatar display components and removed cloud metadata dependencies. - Removed legacy editor setting and theme service dependencies from multiple modules. - **Chores** - Updated internal APIs and interfaces to support new metadata and event handling mechanisms. - Cleaned up unused code and dependencies related to editor settings and theme services. - Skipped flaky end-to-end test to improve test suite stability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
388641bc89 |
refactor(editor): rename doc to store on block components (#12173)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Unified internal data access by replacing all references from `doc` to `store` across all components, blocks, widgets, and utilities. This affects how readonly state, block operations, and service retrieval are handled throughout the application. - **Tests** - Updated all test utilities and test cases to use `store` instead of `doc` for document-related operations. - **Chores** - Updated context providers and property names to reflect the change from `doc` to `store` for improved consistency and maintainability. No user-facing features or behaviors have changed. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
b4f56c0a78 |
fix(editor): attachment size in embed view (#12177)
Closes: [BS-3434](https://linear.app/affine-design/issue/BS-3434/修复-attachment-从-card-切换为-embed-尺寸问题) <img width="1073" alt="Screenshot 2025-05-07 at 20 38 53" src="https://github.com/user-attachments/assets/9fbb7e40-3c01-4473-88d8-3469758ed06b" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added dedicated embed actions for PDF and video attachments, ensuring consistent sizing and improved rendering for these media types. - **Refactor** - Centralized PDF and video embed card dimensions using shared constants for more consistent and maintainable sizing. - Improved styling for video embeds, including better layout and responsive sizing. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
95b9e4b3d0 | refactor(editor): rename model.doc to store (#12172) | ||
|
|
610565e617 |
chore(editor): adjust embed synced doc ui (#12162)
Close [BS-3400](https://linear.app/affine-design/issue/BS-3400/ui-issues) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - The "View in Page" button has been renamed to "Open in Page" and now uses a new icon for improved clarity. - The menu for embedded synced documents is now integrated directly into the Open button for a more streamlined interface. - **Style** - Improved spacing and visual alignment in edgeless block headers, including dedicated styling for title icons and buttons. - Updated toolbar icon for better visual consistency. - Added background styling for embedded linked document blocks. - **Localization** - Updated translation keys and text to reflect the "Open in Page" terminology across all supported languages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
4c56b685a1 |
fix(editor): footnote and citation icon url should be built with image proxy (#12169)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved how bookmark and footnote icons are displayed by routing image URLs through an image proxy service for enhanced reliability and consistency. - **Refactor** - Adjusted the timing of service configuration for link previews and image proxies to occur after document initialization, ensuring more robust setup during content rendering. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
179701f587 |
fix(editor): switch view is not allowed during upload (#12018)
Closes: [BS-3352](https://linear.app/affine-design/issue/BS-3352/[improvement]-附件上传时禁止切-view)  <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved the logic for enabling or disabling the embed and card actions in the attachment toolbar, ensuring actions are only available when the file is ready and conditions are met. - **Refactor** - Enhanced reliability by centralizing block state checks and refining conditions for action availability in the attachment dropdown menu. - Centralized resource state management with a new computed signal, improving consistency in loading and error state handling. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
267bb3a975 |
refactor(editor): introduce store container to make implement doc easier (#12146)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new store management system for handling document stores, improving efficiency and flexibility when working with document data. - **Refactor** - Updated internal store handling to use a centralized store container, simplifying store retrieval and removal across various components. - Renamed and updated several store-related method signatures for consistency and clarity. - Replaced editor extension loading logic with a new local implementation for better modularity. - **Chores** - Improved and streamlined the export of store-related modules for better maintainability. - Removed obsolete and redundant code related to previous store management approaches. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
93b1d6c729 |
fix(editor): improve image block upload and download states (#12017)
Related to: [BS-3143](https://linear.app/affine-design/issue/BS-3143/更新-loading-和错误样式) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a unified resource controller for managing image and attachment resources, providing improved loading, error, and state handling. - Added a visual loading indicator overlay to image blocks for better feedback during image loading. - **Improvements** - Simplified and centralized image and attachment state management, reducing redundant properties and manual state tracking. - Updated fallback UI for image blocks with clearer titles, descriptions, and improved layout. - Enhanced batch image block creation and download handling for improved efficiency. - Refined image block accessibility with improved alt text and streamlined rendering logic. - Centralized target model selection for image insertion in AI actions. - Reordered CSS declarations without affecting styling. - Improved reactive state tracking for blob upload/download operations in mock server. - **Bug Fixes** - Improved cleanup of object URLs to prevent resource leaks. - Adjusted toolbar logic to more accurately reflect available actions based on image state. - **Tests** - Updated end-to-end tests to match new UI text and behaviors for image loading and error states. - **Chores** - Refactored internal logic and updated comments for clarity and maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0a9f5a1da9 |
fix(editor): add credentialless attribute to iframe for COEP compliance (#12161)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added enhanced privacy controls by including the `credentialless` attribute to embedded content iframes for PDF, Figma, Loom, YouTube, and generic iframe blocks. This helps improve security and privacy when displaying embedded content. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f832400e3e |
feat(editor): add resource controller (#12121)
Closes: [BS-3398](https://linear.app/affine-design/issue/BS-3398/实现资源控制器) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Summary by CodeRabbit - **New Features** - Introduced a ResourceController for centralized and reactive management of attachment resource states, improving error handling, loading indicators, and UI state resolution for attachments. - Added public access to resource management utilities via new export paths. - **Refactor** - Streamlined attachment state management by replacing manual state tracking with the new ResourceController, simplifying code and enhancing maintainability. - Updated rendering logic for attachments to use unified state objects for clearer UI feedback. - Centralized blob URL creation and download state management within the ResourceController. - **Chores** - Updated dependencies and internal references to reflect the new resource management approach, ensuring consistency across packages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
bcc728a929 |
chore: bump up all non-major npm dependencies (#12151)
This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@ai-sdk/google](https://ai-sdk.dev/docs) ([source](https://redirect.github.com/vercel/ai)) | [`1.2.14` -> `1.2.15`](https://renovatebot.com/diffs/npm/@ai-sdk%2fgoogle/1.2.14/1.2.15) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@graphql-codegen/cli](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/graphql-codegen-cli)) | [`5.0.5` -> `5.0.6`](https://renovatebot.com/diffs/npm/@graphql-codegen%2fcli/5.0.5/5.0.6) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@graphql-codegen/typescript-operations](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`4.6.0` -> `4.6.1`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.6.0/4.6.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@react-email/components](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/components)) | [`0.0.36` -> `0.0.38`](https://renovatebot.com/diffs/npm/@react-email%2fcomponents/0.0.36/0.0.38) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@vitest/browser](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/browser#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/browser)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fbrowser/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vitest/coverage-istanbul](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-istanbul)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@vitest/ui](https://redirect.github.com/vitest-dev/vitest/tree/main/packages/ui#readme) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/ui)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/@vitest%2fui/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.20` -> `1.2.21` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch | | [chrono](https://redirect.github.com/chronotope/chrono) | `0.4.40` -> `0.4.41` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [cssnano](https://redirect.github.com/cssnano/cssnano) | [`7.0.6` -> `7.0.7`](https://renovatebot.com/diffs/npm/cssnano/7.0.6/7.0.7) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [i18next](https://www.i18next.com) ([source](https://redirect.github.com/i18next/i18next)) | [`25.0.2` -> `25.1.1`](https://renovatebot.com/diffs/npm/i18next/25.0.2/25.1.1) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [jotai](https://redirect.github.com/pmndrs/jotai) | [`2.12.3` -> `2.12.4`](https://renovatebot.com/diffs/npm/jotai/2.12.3/2.12.4) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [lint-staged](https://redirect.github.com/lint-staged/lint-staged) | [`15.5.1` -> `15.5.2`](https://renovatebot.com/diffs/npm/lint-staged/15.5.1/15.5.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [lucide-react](https://lucide.dev) ([source](https://redirect.github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`^0.503.0` -> `^0.507.0`](https://renovatebot.com/diffs/npm/lucide-react/0.503.0/0.507.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [react-email](https://redirect.github.com/resend/react-email) ([source](https://redirect.github.com/resend/react-email/tree/HEAD/packages/react-email)) | [`4.0.7` -> `4.0.11`](https://renovatebot.com/diffs/npm/react-email/4.0.7/4.0.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [shiki](https://redirect.github.com/shikijs/shiki) ([source](https://redirect.github.com/shikijs/shiki/tree/HEAD/packages/shiki)) | [`3.3.0` -> `3.4.0`](https://renovatebot.com/diffs/npm/shiki/3.3.0/3.4.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | `1.44.2` -> `1.45.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | minor | | [uniffi](https://mozilla.github.io/uniffi-rs) ([source](https://redirect.github.com/mozilla/uniffi-rs)) | `0.29.1` -> `0.29.2` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch | | [vitest](https://redirect.github.com/vitest-dev/vitest) ([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | [`3.1.2` -> `3.1.3`](https://renovatebot.com/diffs/npm/vitest/3.1.2/3.1.3) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [webpack](https://redirect.github.com/webpack/webpack) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [webpack](https://redirect.github.com/webpack/webpack) | [`5.99.7` -> `5.99.8`](https://renovatebot.com/diffs/npm/webpack/5.99.7/5.99.8) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [com.google.devtools.ksp](https://goo.gle/ksp) ([source](https://redirect.github.com/google/ksp)) | `2.1.20-2.0.0` -> `2.1.20-2.0.1` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | patch | | [com.apollographql.adapters:apollo-adapters-kotlinx-datetime](https://redirect.github.com/apollographql/apollo-kotlin-adapters) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.apollographql.adapters:apollo-adapters-core](https://redirect.github.com/apollographql/apollo-kotlin-adapters) | `0.0.4` -> `0.0.6` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [com.apollographql.apollo](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | plugin | minor | | [com.apollographql.apollo:apollo-runtime](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [com.apollographql.apollo:apollo-api](https://redirect.github.com/apollographql/apollo-kotlin) | `4.1.1` -> `4.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | --- ### Release Notes <details> <summary>vercel/ai (@​ai-sdk/google)</summary> ### [`v1.2.15`](https://redirect.github.com/vercel/ai/releases/tag/%40ai-sdk/google%401.2.15) [Compare Source](https://redirect.github.com/vercel/ai/compare/@ai-sdk/google@1.2.14...@ai-sdk/google@1.2.15) ##### Patch Changes - [`2afd354`](https://redirect.github.com/vercel/ai/commit/2afd354): fix(providers/google): accept nullish in safetyRatings </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/cli)</summary> ### [`v5.0.6`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/graphql-codegen-cli/CHANGELOG.md#506) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/cli@5.0.5...@graphql-codegen/cli@5.0.6) ##### Patch Changes - [#​10338](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10338) [`5d1c4e1`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/5d1c4e127d860ff89590fd3a1d01493b3289ad00) Thanks [@​eddeee888](https://redirect.github.com/eddeee888)! - Fix ignoreNoDocuments=true swallowing all errors - [#​10333](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10333) [`10ab58d`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/10ab58dbc183dff460c410ffc7cc759186f91d4c) Thanks [@​eddeee888](https://redirect.github.com/eddeee888)! - Improve syntax error messages whilst loading schema/document - Updated dependencies \[[`c5efba3`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/c5efba34a7b422720be9ce32937dd19fb0784bae)]: - [@​graphql-codegen/client-preset](https://redirect.github.com/graphql-codegen/client-preset)[@​4](https://redirect.github.com/4).8.1 </details> <details> <summary>dotansimha/graphql-code-generator (@​graphql-codegen/typescript-operations)</summary> ### [`v4.6.1`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/operations/CHANGELOG.md#461) [Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-operations@4.6.0...@graphql-codegen/typescript-operations@4.6.1) ##### Patch Changes - [#​10330](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10330) [`c5efba3`](https://redirect.github.com/dotansimha/graphql-code-generator/commit/c5efba34a7b422720be9ce32937dd19fb0784bae) Thanks [@​jnoordsij](https://redirect.github.com/jnoordsij)! - Make graphql-sock optional peerDep </details> <details> <summary>resend/react-email (@​react-email/components)</summary> ### [`v0.0.38`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/components/CHANGELOG.md#0038) [Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.37...@react-email/components@0.0.38) ##### Patch Changes - Updated dependencies \[[`6cd353b`](https://redirect.github.com/resend/react-email/commit/6cd353b)] - [@​react-email/text](https://redirect.github.com/react-email/text)[@​0](https://redirect.github.com/0).1.3 ### [`v0.0.37`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/components/CHANGELOG.md#0037) [Compare Source](https://redirect.github.com/resend/react-email/compare/@react-email/components@0.0.36...@react-email/components@0.0.37) ##### Patch Changes - Updated dependencies \[[`7918a4b`](https://redirect.github.com/resend/react-email/commit/7918a4b)] - Updated dependencies \[[`9aa033c`](https://redirect.github.com/resend/react-email/commit/9aa033c)] - Updated dependencies \[[`5d153a3`](https://redirect.github.com/resend/react-email/commit/5d153a3)] - Updated dependencies \[[`297541e`](https://redirect.github.com/resend/react-email/commit/297541e)] - [@​react-email/text](https://redirect.github.com/react-email/text)[@​0](https://redirect.github.com/0).1.2 - [@​react-email/code-block](https://redirect.github.com/react-email/code-block)[@​0](https://redirect.github.com/0).0.13 - [@​react-email/markdown](https://redirect.github.com/react-email/markdown)[@​0](https://redirect.github.com/0).0.15 - [@​react-email/render](https://redirect.github.com/react-email/render)[@​1](https://redirect.github.com/1).1.0 - [@​react-email/tailwind](https://redirect.github.com/react-email/tailwind)[@​1](https://redirect.github.com/1).0.5 - [@​react-email/body](https://redirect.github.com/react-email/body)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/button](https://redirect.github.com/react-email/button)[@​0](https://redirect.github.com/0).0.19 - [@​react-email/code-inline](https://redirect.github.com/react-email/code-inline)[@​0](https://redirect.github.com/0).0.5 - [@​react-email/column](https://redirect.github.com/react-email/column)[@​0](https://redirect.github.com/0).0.13 - [@​react-email/container](https://redirect.github.com/react-email/container)[@​0](https://redirect.github.com/0).0.15 - [@​react-email/font](https://redirect.github.com/react-email/font)[@​0](https://redirect.github.com/0).0.9 - [@​react-email/head](https://redirect.github.com/react-email/head)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/heading](https://redirect.github.com/react-email/heading)[@​0](https://redirect.github.com/0).0.15 - [@​react-email/hr](https://redirect.github.com/react-email/hr)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/html](https://redirect.github.com/react-email/html)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/img](https://redirect.github.com/react-email/img)[@​0](https://redirect.github.com/0).0.11 - [@​react-email/link](https://redirect.github.com/react-email/link)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/preview](https://redirect.github.com/react-email/preview)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/row](https://redirect.github.com/react-email/row)[@​0](https://redirect.github.com/0).0.12 - [@​react-email/section](https://redirect.github.com/react-email/section)[@​0](https://redirect.github.com/0).0.16 </details> <details> <summary>vitest-dev/vitest (@​vitest/browser)</summary> ### [`v3.1.3`](https://redirect.github.com/vitest-dev/vitest/releases/tag/v3.1.3) [Compare Source](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.2...v3.1.3) ##### 🐞 Bug Fixes - Correctly resolve vitest import if `inline: true` is set - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7856](https://redirect.github.com/vitest-dev/vitest/issues/7856) [<samp>(a83f3)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/a83f3bf6) - Fix fixture parsing with lowered async with esbuild 0.25.3 - by [@​hi-ogawa](https://redirect.github.com/hi-ogawa) in [https://github.com/vitest-dev/vitest/issues/7921](https://redirect.github.com/vitest-dev/vitest/issues/7921) [<samp>(c5c85)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/c5c8502b) - Remove event-catcher code - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7898](https://redirect.github.com/vitest-dev/vitest/issues/7898) [<samp>(deb1b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/deb1bc27) - Reset mocks on test retry/repeat - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7897](https://redirect.github.com/vitest-dev/vitest/issues/7897) [<samp>(2fa76)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/2fa763a6) - Ignore failures on writeToCache - by [@​orgads](https://redirect.github.com/orgads) in [https://github.com/vitest-dev/vitest/issues/7893](https://redirect.github.com/vitest-dev/vitest/issues/7893) [<samp>(8c7f7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/8c7f75a6) - **browser**: Correctly inherit CLI options - by [@​sheremet-va](https://redirect.github.com/sheremet-va) in [https://github.com/vitest-dev/vitest/issues/7858](https://redirect.github.com/vitest-dev/vitest/issues/7858) [<samp>(03660)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/03660f9d) - **deps**: Update all non-major dependencies - in [https://github.com/vitest-dev/vitest/issues/7867](https://redirect.github.com/vitest-dev/vitest/issues/7867) [<samp>(67ef7)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/67ef74a0) - **reporters**: `--merge-reports` to show each total run times - by [@​AriPerkkio](https://redirect.github.com/AriPerkkio) in [https://github.com/vitest-dev/vitest/issues/7877](https://redirect.github.com/vitest-dev/vitest/issues/7877) [<samp>(d613b)</samp>](https://redirect.github.com/vitest-dev/vitest/commit/d613b813) ##### [View changes on GitHub](https://redirect.github.com/vitest-dev/vitest/compare/v3.1.2...v3.1.3) </details> <details> <summary>rust-lang/cc-rs (cc)</summary> ### [`v1.2.21`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1221---2025-05-02) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.20...cc-v1.2.21) ##### Other - Fix wasm32-unknown-unknown by passing -c ([#​1424](https://redirect.github.com/rust-lang/cc-rs/pull/1424)) </details> <details> <summary>chronotope/chrono (chrono)</summary> ### [`v0.4.41`](https://redirect.github.com/chronotope/chrono/releases/tag/v0.4.41) [Compare Source](https://redirect.github.com/chronotope/chrono/compare/v0.4.40...v0.4.41) #### What's Changed - Add `subsec_micros` and `subsec_millis` methods to `TimeDelta` by [@​ggoetz](https://redirect.github.com/ggoetz) in [https://github.com/chronotope/chrono/pull/1668](https://redirect.github.com/chronotope/chrono/pull/1668) - Deprecate `NaiveDateTime::UNIX_EPOCH` by [@​robertbastian](https://redirect.github.com/robertbastian) in [https://github.com/chronotope/chrono/pull/1670](https://redirect.github.com/chronotope/chrono/pull/1670) - Implement `as_seconds_f32` and `as_seconds_f64` for `TimeDelta` by [@​ggoetz](https://redirect.github.com/ggoetz) in [https://github.com/chronotope/chrono/pull/1671](https://redirect.github.com/chronotope/chrono/pull/1671) - chore: fix some comments by [@​jimmycathy](https://redirect.github.com/jimmycathy) in [https://github.com/chronotope/chrono/pull/1677](https://redirect.github.com/chronotope/chrono/pull/1677) - Add `num_days_in_month` method to `Datelike` trait by [@​aslilac](https://redirect.github.com/aslilac) in [https://github.com/chronotope/chrono/pull/1673](https://redirect.github.com/chronotope/chrono/pull/1673) - add `WeekdaySet`, a collection of `Weekday` that is `Copy` by [@​Kinrany](https://redirect.github.com/Kinrany) in [https://github.com/chronotope/chrono/pull/1676](https://redirect.github.com/chronotope/chrono/pull/1676) - WeekdaySet tweaks by [@​djc](https://redirect.github.com/djc) in [https://github.com/chronotope/chrono/pull/1680](https://redirect.github.com/chronotope/chrono/pull/1680) - Upgrade to windows-bindgen 0.61 by [@​djc](https://redirect.github.com/djc) in [https://github.com/chronotope/chrono/pull/1682](https://redirect.github.com/chronotope/chrono/pull/1682) - Implemented a consistent Eq trait for NaiveWeek by [@​Splashling1789](https://redirect.github.com/Splashling1789) in [https://github.com/chronotope/chrono/pull/1687](https://redirect.github.com/chronotope/chrono/pull/1687) - TimeZone::from_posix_tz: Treat empty TZ variable as UTC by [@​drinkcat](https://redirect.github.com/drinkcat) in [https://github.com/chronotope/chrono/pull/1691](https://redirect.github.com/chronotope/chrono/pull/1691) - Add support for lossy format strings by [@​Qelxiros](https://redirect.github.com/Qelxiros) in [https://github.com/chronotope/chrono/pull/1693](https://redirect.github.com/chronotope/chrono/pull/1693) </details> <details> <summary>cssnano/cssnano (cssnano)</summary> ### [`v7.0.7`](https://redirect.github.com/cssnano/cssnano/releases/tag/cssnano%407.0.7) [Compare Source](https://redirect.github.com/cssnano/cssnano/compare/cssnano@7.0.6...cssnano@7.0.7) #### What's Changed - fix: update browserslist by [@​ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1675](https://redirect.github.com/cssnano/cssnano/pull/1675) - fix: update postcss peer dependency to version without vulnerabilities by [@​ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1676](https://redirect.github.com/cssnano/cssnano/pull/1676) - fix: update TypeScript declarations by [@​ludofischer](https://redirect.github.com/ludofischer) in [https://github.com/cssnano/cssnano/pull/1685](https://redirect.github.com/cssnano/cssnano/pull/1685) - perf: load default preset in startup by [@​43081j](https://redirect.github.com/43081j) in [https://github.com/cssnano/cssnano/pull/1691](https://redirect.github.com/cssnano/cssnano/pull/1691) - Add support for selector order preservation to postcss-minify-selectors by [@​ezzak](https://redirect.github.com/ezzak) in [https://github.com/cssnano/cssnano/pull/1688](https://redirect.github.com/cssnano/cssnano/pull/1688) - fix(postcss-convert-values): preserve percent sign in percentage values in at-rules with double quotes by [@​aramikuto](https://redirect.github.com/aramikuto) in [https://github.com/cssnano/cssnano/pull/1695](https://redirect.github.com/cssnano/cssnano/pull/1695) **Full Changelog**: https://github.com/cssnano/cssnano/compare/cssnano@7.0.6...cssnano@7.0.7 </details> <details> <summary>i18next/i18next (i18next)</summary> ### [`v25.1.1`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2511) [Compare Source](https://redirect.github.com/i18next/i18next/compare/v25.1.0...v25.1.1) - fix options type for `parseMissingKeyHandler` ### [`v25.1.0`](https://redirect.github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#2510) [Compare Source](https://redirect.github.com/i18next/i18next/compare/v25.0.2...v25.1.0) - feat: `parseMissingKeyHandler` now takes options as parameter like in missingKeyHandler [2304](https://redirect.github.com/i18next/i18next/issues/2304) </details> <details> <summary>pmndrs/jotai (jotai)</summary> ### [`v2.12.4`](https://redirect.github.com/pmndrs/jotai/releases/tag/v2.12.4) [Compare Source](https://redirect.github.com/pmndrs/jotai/compare/v2.12.3...v2.12.4) We deprecate devstore capability, which will be dropped in the next minor version. Please use the latest jotai-devtools library. #### What's Changed - deprecate devstore by [@​dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3023](https://redirect.github.com/pmndrs/jotai/pull/3023) - fix(package): react-native condition by [@​dai-shi](https://redirect.github.com/dai-shi) in [https://github.com/pmndrs/jotai/pull/3042](https://redirect.github.com/pmndrs/jotai/pull/3042) - fix(utils): allow undefined for atomWithStorage subscriber return by [@​caffeinewriter](https://redirect.github.com/caffeinewriter) in [https://github.com/pmndrs/jotai/pull/3055](https://redirect.github.com/pmndrs/jotai/pull/3055) #### New Contributors - [@​caffeinewriter](https://redirect.github.com/caffeinewriter) made their first contribution in [https://github.com/pmndrs/jotai/pull/3056](https://redirect.github.com/pmndrs/jotai/pull/3056) - [@​CanRau](https://redirect.github.com/CanRau) made their first contribution in [https://github.com/pmndrs/jotai/pull/3051](https://redirect.github.com/pmndrs/jotai/pull/3051) **Full Changelog**: https://github.com/pmndrs/jotai/compare/v2.12.3...v2.12.4 </details> <details> <summary>lint-staged/lint-staged (lint-staged)</summary> ### [`v15.5.2`](https://redirect.github.com/lint-staged/lint-staged/blob/HEAD/CHANGELOG.md#1552) [Compare Source](https://redirect.github.com/lint-staged/lint-staged/compare/v15.5.1...v15.5.2) ##### Patch Changes - [#​1544](https://redirect.github.com/lint-staged/lint-staged/pull/1544) [`5561321`](https://redirect.github.com/lint-staged/lint-staged/commit/556132176afce1701b4766c00ffd23159d437cb4) Thanks [@​YimingIsCOLD](https://redirect.github.com/YimingIsCOLD)! - Correctly handle colon (`:`) characters in staged filenames. </details> <details> <summary>lucide-icons/lucide (lucide-react)</summary> ### [`v0.507.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.507.0): Version 0.507.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.506.0...0.507.0) #### What's Changed - fix(metadata): added tags to `square-pen` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3155](https://redirect.github.com/lucide-icons/lucide/pull/3155) - fix(icons): changed `search` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3140](https://redirect.github.com/lucide-icons/lucide/pull/3140) - fix(dev): resets Absolute Stroke Width by [@​briz123](https://redirect.github.com/briz123) in [https://github.com/lucide-icons/lucide/pull/3005](https://redirect.github.com/lucide-icons/lucide/pull/3005) - fix(icons): changed `guitar` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw) in [https://github.com/lucide-icons/lucide/pull/3115](https://redirect.github.com/lucide-icons/lucide/pull/3115) - fix(Icons): Adding missing categories to 4 Icons by [@​ajokt123](https://redirect.github.com/ajokt123) in [https://github.com/lucide-icons/lucide/pull/3110](https://redirect.github.com/lucide-icons/lucide/pull/3110) - fix(ci): reduces workflow triggers by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3150](https://redirect.github.com/lucide-icons/lucide/pull/3150) - fix(icons): changed `air-vent` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3117](https://redirect.github.com/lucide-icons/lucide/pull/3117) - fix(icons): rotate `dumbbell` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3107](https://redirect.github.com/lucide-icons/lucide/pull/3107) - fix(icons): changed `touchpad-off` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3118](https://redirect.github.com/lucide-icons/lucide/pull/3118) - fix(icons): changed `bell-electric` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3139](https://redirect.github.com/lucide-icons/lucide/pull/3139) - fix(icons): changed `menu` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3142](https://redirect.github.com/lucide-icons/lucide/pull/3142) - fix(icons): changed `mail` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3144](https://redirect.github.com/lucide-icons/lucide/pull/3144) - chore(pr-template): Adjust PR template by [@​ericfennis](https://redirect.github.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/3183](https://redirect.github.com/lucide-icons/lucide/pull/3183) - feat(icons): added `soap-dispenser-droplet` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3088](https://redirect.github.com/lucide-icons/lucide/pull/3088) - feat(icons): added `panda` icon by [@​chessurisme](https://redirect.github.com/chessurisme) in [https://github.com/lucide-icons/lucide/pull/2094](https://redirect.github.com/lucide-icons/lucide/pull/2094) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.506.0...0.507.0 ### [`v0.506.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.506.0): Version 0.506.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.505.0...0.506.0) #### What's Changed - perf(react): use implicit return in react package by [@​VIKTORVAV99](https://redirect.github.com/VIKTORVAV99) in [https://github.com/lucide-icons/lucide/pull/2325](https://redirect.github.com/lucide-icons/lucide/pull/2325) - fix(icons): changed `users` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3143](https://redirect.github.com/lucide-icons/lucide/pull/3143) - fix(icons): changed `locate-off` icon by [@​jamiemlaw](https://redirect.github.com/jamiemlaw) in [https://github.com/lucide-icons/lucide/pull/3137](https://redirect.github.com/lucide-icons/lucide/pull/3137) - fix(icons): changed `expand` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/2831](https://redirect.github.com/lucide-icons/lucide/pull/2831) - feat(icons): Added clock plus icon. by [@​gubser](https://redirect.github.com/gubser) in [https://github.com/lucide-icons/lucide/pull/2996](https://redirect.github.com/lucide-icons/lucide/pull/2996) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.505.0...0.506.0 ### [`v0.505.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.505.0): Version 0.505.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.504.0...0.505.0) #### What's Changed - fix(icons): changed `package-2` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3174](https://redirect.github.com/lucide-icons/lucide/pull/3174) - docs(icon-design-guide): point people to lucide studio instead of svgo by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3152](https://redirect.github.com/lucide-icons/lucide/pull/3152) - fix(lucide-svelte): Resolve Svelte 5 deprecation of svelte:component by [@​shamaamahh](https://redirect.github.com/shamaamahh) in [https://github.com/lucide-icons/lucide/pull/3112](https://redirect.github.com/lucide-icons/lucide/pull/3112) - feat(icons): added `brush-cleaning` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere) in [https://github.com/lucide-icons/lucide/pull/2395](https://redirect.github.com/lucide-icons/lucide/pull/2395) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.504.0...0.505.0 ### [`v0.504.0`](https://redirect.github.com/lucide-icons/lucide/releases/tag/0.504.0): Version 0.504.0 [Compare Source](https://redirect.github.com/lucide-icons/lucide/compare/0.503.0...0.504.0) #### What's Changed - feat(icons): add door closed locked / unlocked icons by [@​lukedukeus](https://redirect.github.com/lukedukeus) in [https://github.com/lucide-icons/lucide/pull/3060](https://redirect.github.com/lucide-icons/lucide/pull/3060) - build(dev-deps): Bump dependencies by [@​ericfennis](https://redirect.github.com/ericfennis) in [https://github.com/lucide-icons/lucide/pull/3096](https://redirect.github.com/lucide-icons/lucide/pull/3096) - fix(icons): redesigned `brush` icon by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3011](https://redirect.github.com/lucide-icons/lucide/pull/3011) - fix(site): remove studio link from navbar by [@​jguddas](https://redirect.github.com/jguddas) in [https://github.com/lucide-icons/lucide/pull/3166](https://redirect.github.com/lucide-icons/lucide/pull/3166) - feat(icons): added `hamburger` icon by [@​karsa-mistmere](https://redirect.github.com/karsa-mistmere) in [https://github.com/lucide-icons/lucide/pull/3165](https://redirect.github.com/lucide-icons/lucide/pull/3165) **Full Changelog**: https://github.com/lucide-icons/lucide/compare/0.503.0...0.504.0 </details> <details> <summary>resend/react-email (react-email)</summary> ### [`v4.0.11`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#4011) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.10...react-email@4.0.11) ##### Patch Changes - [`1a17219`](https://redirect.github.com/resend/react-email/commit/1a17219): fix improper `require` in `email export` - [`45ab698`](https://redirect.github.com/resend/react-email/commit/45ab698): update next to 15.3.1 ### [`v4.0.10`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#4010) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.9...react-email@4.0.10) ##### Patch Changes - [`5ef9fe8`](https://redirect.github.com/resend/react-email/commit/5ef9fe8): fix support for `import ... = require(...)` syntax - [`4c7f597`](https://redirect.github.com/resend/react-email/commit/4c7f597): fix `email dev` not working with `traversal` error ### [`v4.0.9`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#409) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.8...react-email@4.0.9) ##### Patch Changes - [`643d841`](https://redirect.github.com/resend/react-email/commit/643d841): Add .json import support for hot reloading - [`f21a983`](https://redirect.github.com/resend/react-email/commit/f21a983): fix Node 18 support - [`cd02449`](https://redirect.github.com/resend/react-email/commit/cd02449): Ensure dependencies outside emails directory are completely resolved - [`73a31ed`](https://redirect.github.com/resend/react-email/commit/73a31ed): Fix dependent of dependents not causing hot reloads - [`bdffd8c`](https://redirect.github.com/resend/react-email/commit/bdffd8c): fix backwards compatibility with `render` versions - [`e7fa043`](https://redirect.github.com/resend/react-email/commit/e7fa043): Fix access to files outside `static` directory - [`9aa033c`](https://redirect.github.com/resend/react-email/commit/9aa033c): Use range of versions for dependencies - [`ab70556`](https://redirect.github.com/resend/react-email/commit/ab70556): Fix non-email files being rendered during hot reloading - [`9c9aa5d`](https://redirect.github.com/resend/react-email/commit/9c9aa5d): Add error message for when an email template does not have a default export ### [`v4.0.8`](https://redirect.github.com/resend/react-email/blob/HEAD/packages/react-email/CHANGELOG.md#408) [Compare Source](https://redirect.github.com/resend/react-email/compare/react-email@4.0.7...react-email@4.0.8) ##### Patch Changes - [`ea579b5`](https://redirect.github.com/resend/react-email/commit/ea579b5): Log out errors that happen when `export`'s esbuild fails </details> <details> <summary>shikijs/shiki (shiki)</summary> ### [`v3.4.0`](https://redirect.github.com/shikijs/shiki/releases/tag/v3.4.0) [Compare Source](https://redirect.github.com/shikijs/shiki/compare/v3.3.0...v3.4.0) ##### 🐞 Bug Fixes - Update deps and grammars - by [@​antfu](https://redirect.github.com/antfu) [<samp>(310d1)</samp>](https://redirect.github.com/shikijs/shiki/commit/310d1419) ##### [View changes on GitHub](https://redirect.github.com/shikijs/shiki/compare/v3.3.0...v3.4.0) </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.45.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.45.0): Tokio v1.45.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0) ##### Added - metrics: stabilize `worker_total_busy_duration`, `worker_park_count`, and `worker_unpark_count` ([#​6899], [#​7276]) - process: add `Command::spawn_with` ([#​7249]) ##### Changed - io: do not require `Unpin` for some trait impls ([#​7204]) - rt: mark `runtime::Handle` as unwind safe ([#​7230]) - time: revert internal sharding implementation ([#​7226]) ##### Unstable - rt: remove alt multi-threaded runtime ([#​7275]) [#​6899]: https://redirect.github.com/tokio-rs/tokio/pull/6899 [#​7276]: https://redirect.github.com/tokio-rs/tokio/pull/7276 [#​7249]: https://redirect.github.com/tokio-rs/tokio/pull/7249 [#​7204]: https://redirect.github.com/tokio-rs/tokio/pull/7204 [#​7230]: https://redirect.github.com/tokio-rs/tokio/pull/7230 [#​7226]: https://redirect.github.com/tokio-rs/tokio/pull/7226 [#​7275]: https://redirect.github.com/tokio-rs/tokio/pull/7275 </details> <details> <summary>mozilla/uniffi-rs (uniffi)</summary> ### [`v0.29.2`](https://redirect.github.com/mozilla/uniffi-rs/compare/v0.29.1...v0.29.2) [Compare Source](https://redirect.github.com/mozilla/uniffi-rs/compare/v0.29.1...v0.29.2) </details> <details> <summary>webpack/webpack (webpack)</summary> ### [`v5.99.8`](https://redirect.github.com/webpack/webpack/releases/tag/v5.99.8) [Compare Source](https://redirect.github.com/webpack/webpack/compare/v5.99.7...v5.99.8) ##### Fixes - Fixed type error with latest `@types/node` - Fixed typescript types </details> <details> <summary>google/ksp (com.google.devtools.ksp)</summary> ### [`v2.1.20-2.0.1`](https://redirect.github.com/google/ksp/releases/tag/2.1.20-2.0.1) [Compare Source](https://redirect.github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1) ##### What's Changed - \[KSP2] Annotation values shouldn't be marked as default (synthetic origin) broken after PR [#​2424](https://redirect.github.com/google/ksp/issues/2424) in [https://github.com/google/ksp/pull/2425](https://redirect.github.com/google/ksp/pull/2425) - \[KSP2] Wrong internal method name with custom moduleName compiler option in[https://github.com/google/ksp/pull/2415](https://redirect.github.com/google/ksp/pull/2415)5 - \[KSP2] getJvmName for internal method did not sanitize java identifiers in[https://github.com/google/ksp/pull/2413](https://redirect.github.com/google/ksp/pull/2413)3 - \[KSP2] Annotation and argument's origin is wrong in[https://github.com/google/ksp/pull/2412](https://redirect.github.com/google/ksp/pull/2412)2 - \[KSP2] functionKind is MEMBER for static method in interface in Java in[https://github.com/google/ksp/pull/2410](https://redirect.github.com/google/ksp/pull/2410)0 - KSP2 Generated .class files are not added to the classpath in [https://github.com/google/ksp/pull/2365](https://redirect.github.com/google/ksp/pull/2365) - When I write specific code, KSP throws an Unexpected class for KtSymbol error. in [https://github.com/google/ksp/pull/2303](https://redirect.github.com/google/ksp/pull/2303) ##### Contributors Thanks to everyone who reported bugs and participated in discussions! **Full Changelog**: https://github.com/google/ksp/compare/2.1.20-2.0.0...2.1.20-2.0.1 </details> <details> <summary>apollographql/apollo-kotlin-adapters (com.apollographql.adapters:apollo-adapters-kotlinx-datetime)</summary> ### [`v0.0.6`](https://redirect.github.com/apollographql/apollo-kotlin-adapters/releases/tag/v0.0.6) Publishing only change. This version updates the license name to be SPDX compliant ([https://github.com/apollographql/apollo-kotlin-adapters/pull/30](https://redirect.github.com/apollographql/apollo-kotlin-adapters/pull/30)) ### [`v0.0.5`](https://redirect.github.com/apollographql/apollo-kotlin-adapters/blob/HEAD/CHANGELOG.md#Version-005) *2025-04-29* - Do not set the license URL in the POMs ([#​29](https://redirect.github.com/apollographql/apollo-kotlin-adapters/issues/29)) </details> <details> <summary>apollographql/apollo-kotlin (com.apollographql.apollo)</summary> ### [`v4.2.0`](https://redirect.github.com/apollographql/apollo-kotlin/blob/HEAD/CHANGELOG.md#Version-420) *2025-04-28* #### Generate custom scalars as inline classes with `@map` and `@mapTo` ([#​6404](https://redirect.github.com/apollographql/apollo-kotlin/issues/6404)) It is now possible to configure the adapters to use with [scalars](https://www.apollographql.com/docs/kotlin/essentials/custom-scalars) by using the [`@map` directive](https://specs.apollo.dev/kotlin_labs/v0.5/#@​map): ```graphql extend schema @​link(url: "https://specs.apollo.dev/kotlin_labs/v0.5/", import: ["@​mapTo", "@​map"]) extend scalar Date @​map(to: "kotlinx.datetime.Instant", with: "com.apollographql.adapters.InstantAdapter") ``` If the `to` parameter is an [inline value class](https://kotlinlang.org/docs/inline-classes.html), use the `inlineProperty` parameter to have the generated code box/unbox the value. In that case, `with` needs to point to an adapter of the underlying type: ```graphql extend scalar Timestamp @​map(to: "com.example.Timestamp", with: "com.apollographql.apollo.api.LongAdapter", inlineProperty: "ts") ``` For the common cases where the scalar can be represented as a built-in Kotlin type (String, Boolean, Int, Long, Float, Double), you can use [`@mapTo`](https://specs.apollo.dev/kotlin_labs/v0.5/#@​mapTo) and the compiler infers the adapter and generates an inline value class automatically: ```graphql extend scalar Length @​mapTo(builtIn: Long) ``` #### Scalar definitions in schemas downloaded from introspection ([#​6389](https://redirect.github.com/apollographql/apollo-kotlin/issues/6389)) Downloading or converting an SDL schema from introspection now includes scalar definitions. This is required for clients to get a [full view of the schema](https://redirect.github.com/graphql/graphql-wg/blob/main/rfcs/FullSchemas.md). #### Support for `@disableErrorPropagation` Apollo Kotlin now automatically adds [`@disableErrorPropagation`](https://redirect.github.com/graphql/nullability-wg/discussions/85) if your server supports it and you opted in `@catchByDefault` in your schema extensions. This allows to use non-null types more liberally and still get support for partial data. See [https://github.com/graphql/graphql-js/pull/4348](https://redirect.github.com/graphql/graphql-js/pull/4348) and [https://github.com/graphql-java/graphql-java/pull/3772](https://redirect.github.com/graphql-java/graphql-java/pull/3772) #### Contributors 💜 Many thanks to [@​bobbysothebys](https://redirect.github.com/bobbysothebys), [@​jvanderwee](https://redirect.github.com/jvanderwee), [@​dhritzkiv](https://redirect.github.com/dhritzkiv), [@​lwasyl](https://redirect.github.com/lwasyl) and [@​rohandhruva](https://redirect.github.com/rohandhruva) for all the contributions and help in this release 💜 #### 👷♂️ All changes - \[intellij-plugin] Fix MemoryCache package name ([#​6383](https://redirect.github.com/apollographql/apollo-kotlin/issues/6383)) - \[intellij-plugin] Rover: always pass path to supergraph.yaml if present ([#​6384](https://redirect.github.com/apollographql/apollo-kotlin/issues/6384)) - \[intellij-plugin] Make 'Download Schema action' consider deep subprojects ([#​6394](https://redirect.github.com/apollographql/apollo-kotlin/issues/6394)) - \[intellij-plugin] Fix a crash when invoking the 'missing `@link`' quickfix ([#​6402](https://redirect.github.com/apollographql/apollo-kotlin/issues/6402)) - \[intellij-plugin] Use configured Gradle JVM when executing tasks ([#​6425](https://redirect.github.com/apollographql/apollo-kotlin/issues/6425)) - \[in </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> |
||
|
|
f79dfe837f |
feat(editor): support preview mode in code block (#11805)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a preview mode for code blocks, allowing users to toggle between code and rendered previews (e.g., HTML output) directly within the editor. - Added a preview toggle button to the code block toolbar for supported languages. - Enabled dynamic rendering of code block previews using a shared WebContainer, allowing live HTML previews in an embedded iframe. - Added HTML preview support with loading and error states for enhanced user feedback. - Integrated the preview feature as a view extension provider for seamless framework support. - **Bug Fixes** - Improved toolbar layout and button alignment for a cleaner user interface. - **Tests** - Added end-to-end tests to verify the new code block preview functionality and language switching behavior. - **Chores** - Updated development server configuration to include enhanced security headers. - Added a new runtime dependency for WebContainer support. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
1994dd6d9d | fix(editor): can not delete code block with delete keyboard (#11988) | ||
|
|
d859c4252b |
refactor(editor): move history from doc to store (#12131)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Undo/redo history management is now centralized in the workspace, providing more consistent and robust undo/redo behavior. - History update events are emitted at the workspace level, enabling better tracking of changes. - **Bug Fixes** - Improved reliability of undo/redo actions by shifting history management from documents to the workspace. - **Documentation** - Updated and clarified documentation for history-related APIs, including improved examples and clearer descriptions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
c4fe1d47b3 |
fix(editor): missing citation entry (#12129)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added citation component, making citation-related features available in the application. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
676c5d8de6 | refactor(editor): remove global gfx tool types (#12119) | ||
|
|
30a2e5b4fb |
refactor(editor): remove gfx tool global type (#12116)
Closes: BS-2650 |
||
|
|
f3b5c36cf7 |
refactor(editor): use extension level config (#12110)
Closes: BS-3396 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced structured and validated configuration options for database and linked document views, allowing for more flexible and reliable customization. - Enhanced view manager to conditionally enable AI-related paragraph placeholders and database/linked document extensions based on configuration. - **Chores** - Updated dependencies to include the latest version of the Zod validation library. - Simplified and consolidated internal configuration and registration logic for AI and widget-related extensions. - **Refactor** - Streamlined configuration types and removed unused or redundant configuration utilities to improve maintainability. - Improved robustness of linked widget configuration retrieval to handle optional service availability gracefully. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
41d404f7f8 |
refactor(editor): improve implementation of lit adapter (#12101)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved mobile experience by disabling certain toolbars and slash menu features on mobile devices. - Introduced new modular extension classes for editor and view customization, enabling more flexible configuration of themes, AI features, and editor enhancements. - Added clipboard adapter configurations for a wide range of data types, improving clipboard compatibility. - Added a new theme extension specifically for preview scenarios. - Provided new hooks for block scope management in document modules. - **Refactor** - Streamlined editor extension setup, consolidating options and reducing complexity for better maintainability. - Reorganized mobile-specific extension exports for clearer usage. - Refined React-to-Lit rendering API by introducing a typed alias and updating related function signatures. - Simplified extension registration by splitting monolithic view extension into separate common and editor view extensions. - **Bug Fixes** - Corrected naming inconsistencies in internal effect tracking. - **Chores** - Updated type exports and documentation comments for improved clarity and consistency. - Removed unused or redundant exports and functions to clean up the codebase. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e0308c5815 |
feat(editor): make height of edgeless embed doc to fit content (#12089)
Close [BS-3388](https://linear.app/affine-design/issue/BS-3388/embed-doc-拖入后的初始高度不要超过800,不要限制用户随后的调整空间) This PR impl a extension which initialize the height of added `affine-embed-edgeless-synced-doc-block` to fit its content <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved handling of embedded synced document block height to better fit content within edgeless mode. - **Tests** - Added an end-to-end test to verify correct height adjustment for embedded synced documents in edgeless mode. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
83e55fad1e |
fix(editor): markdown url preprocessor should fully encode partial encoded url (#12091)
Closes: [BS-3369](https://linear.app/affine-design/issue/BS-3369/昨天发现-footnote-中的引用,和实际渲染出来的对不上) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Bug Fixes** - Improved handling of URLs in footnote definitions to ensure all URLs are fully percent-encoded, including those that were only partially encoded before. - **Tests** - Added a new test case to verify that partially encoded URLs in footnotes are now fully encoded as expected. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8ac3257f73 |
feat(editor): add local link preview data for bookmark block (#12085)
Closes: [BS-3343](https://linear.app/affine-design/issue/BS-3343/处理文档-readonly-时-bookmark-citation-preview-data-的获取和显示) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Improved bookmark blocks to display link previews even in readonly mode by dynamically fetching preview data when needed. - **Refactor** - Enhanced event handling for bookmark cards, providing more consistent behavior when selecting or opening bookmarks. - Refined how preview data is sourced and rendered for bookmarks, ensuring more accurate and up-to-date information is shown. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
8938da4c24 |
fix(editor): fix color of the circle on loading icon (#12092)
* Unified loading icon * Removed loading icon on image block * Fixed color of circle on loading icon <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Icons in image fallback and loading states now automatically adapt to the current theme (light or dark mode) for a more consistent visual experience. - **Style** - Updated loading, success, and error icons to support theming and improved their color assignments for better visibility in different themes. - **Refactor** - Replaced static icon usage across several components with dynamic, theme-aware icons to ensure consistent appearance throughout the app. - Removed static SVG icon exports and replaced them with theme-aware icon functions for improved maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
04531508cb |
feat(editor): add embed doc block extension (#12090)
Closes: BS-3393 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a new "Embed Doc" block, enabling embedding and rendering of linked and synced documents within cards, including support for banners and note previews. - Added new toolbar and quick search options for inserting embedded linked and synced documents. - **Improvements** - Updated dependencies and internal references to support the new embed doc functionality across related blocks and components. - Enhanced support for edgeless environments with new clipboard and configuration options for embedded docs. - **Refactor** - Streamlined and reorganized embed-related code, moving linked and synced doc logic into a dedicated embed doc module. - Removed obsolete adapter and utility files to simplify maintenance. - **Chores** - Updated project and TypeScript configuration files to include the new embed doc module in builds and references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
539b2e87ad |
refactor(editor): get loading icon with theme (#12079)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced a unified loading spinner icon that adapts to light or dark themes automatically. - **Refactor** - Streamlined loading icon usage across the app by replacing multiple theme-based icons with a single helper function for consistent and simplified icon management. - **Chores** - Removed an unused dependency to improve package management. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9a721c65b5 |
feat(editor): add callout block markdown adapter (#12070)
Closes: [BS-3358](https://linear.app/affine-design/issue/BS-3358/remark-callout-plugin) Closes: [BS-3247](https://linear.app/affine-design/issue/BS-3247/callout-markdown-adapter-适配) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added support for callout blocks in Markdown, enabling recognition and conversion of callout syntax (e.g., `[!emoji]`) to and from block structures. - **Bug Fixes** - Improved handling to distinguish callout blocks from regular blockquotes and paragraphs during Markdown processing. - **Tests** - Introduced comprehensive tests for callout block serialization, deserialization, and plugin behavior to ensure correct Markdown handling. - **Chores** - Added a new dependency for Markdown AST traversal. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d856911144 |
refactor(editor): cleanup dead code (#12072)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Simplified and removed several internal AI block extension files and utility functions, streamlining the codebase and reducing unused features. - Updated logic to access editor modes and controllers directly, removing reliance on DOM queries and certain abstractions. - Reduced and restructured effect type declarations for improved clarity. - **Bug Fixes** - Improved type safety in the editor component by explicitly typing queried elements. - **Chores** - Removed obsolete exports and internal functions with no impact on user-facing functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0d6c595adf |
feat(editor): autofill turn-into-linked-doc modal with fisrt paragraph (#12032)
Close [BS-3288](https://linear.app/affine-design/issue/BS-3288/从note转换-linked-doc-时,默认把note的第一行填入doc拟定的标题) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - When converting a note block to a linked document, the initial document title now uses the first paragraph in the note (if available) as a placeholder. - **Tests** - Updated tests to verify that the linked document creation modal pre-fills the title with the note's first paragraph and checks for correct paragraph order. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
dcd303c89a | fix(editor): adjust some ui style of embed card (#12055) | ||
|
|
d6f79a0c71 |
feat(editor): add max height to edgeless embed doc (#12030)
Close [BS-3250](https://linear.app/affine-design/issue/BS-3250/embed-doc在白板的高度需要适应内容) |
||
|
|
315ea00390 |
feat(editor): header of edgeless embed doc (#12029)
Close [BS-3268](https://linear.app/affine-design/issue/BS-3268/edgeless-下,-dark-mode-embed的配色应该更加清晰) Close [BS-3067](https://linear.app/affine-design/issue/BS-3067/在embed上,添加split-view等相关的操作入口,基本接近page-block(见设计稿)) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Introduced an interactive header for embedded synced documents with fold/unfold toggle, document opening, and multiple view options. - Added info and copy link buttons for embedded synced documents and notes to improve document management and sharing. - **Enhancements** - Updated styles for embedded synced document blocks and headers for better visual consistency. - Added new localization entries for header actions: "Fold", "Unfold", and "Open". - Disabled redundant open document actions in toolbars, centralizing controls in the header. - **Refactor** - Unified header button components for notes and embedded synced documents into reusable components. - Simplified header components by delegating button behaviors to shared components. - **Bug Fixes** - Fixed conditional rendering of editor content in embedded synced documents when folded. - **Chores** - Upgraded theme dependency version from "^1.1.12" to "^1.1.14" across multiple packages. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 --> |