Commit Graph

121 Commits

Author SHA1 Message Date
DarkSky
72df9cb457 feat: improve editor performance (#14429)
#### PR Dependency Tree


* **PR #14429** 👈

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**
* HTML import now splits lines on <br> into separate paragraphs while
preserving inline formatting.

* **Bug Fixes**
* Paste falls back to inserting after the first paragraph when no
explicit target is found.

* **Style**
  * Improved page-mode viewport styling for consistent content layout.

* **Tests**
* Added snapshot tests for <br>-based paragraph splitting; re-enabled an
e2e drag-page test.

* **Chores**
* Deferred/deduplicated font loading, inline text caching,
drag-handle/pointer optimizations, and safer inline render
synchronization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-14 00:43:36 +08:00
DarkSky
bb01bb1aef fix(editor): database behavier (#14394)
fix #13459
fix #13707
fix #13924

#### PR Dependency Tree


* **PR #14394** 👈

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**
* Improved URL paste: text is split into segments, inserted correctly,
and single-URL pastes create linked-page references.

* **UI Improvements**
  * Redesigned layout selector with compact dynamic options.
* Number-format options are always available in table headers and mobile
menus.

* **Bug Fixes**
  * More consistent paste behavior for mixed text+URL content.
  * Prevented recursive selection updates when exiting edit mode.

* **Tests**
* Added tests for URL splitting, paste insertion, number formatting, and
selection behavior.

* **Chores**
* Removed number-formatting feature flag; formatting now applied by
default.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-08 23:31:30 +08:00
DarkSky
fe5d6c0c0f feat(editor): support frontmatter & colored text parsing (#14205)
fix #13847
2026-01-03 22:43:11 +08:00
DarkSky
4eed92cebf feat: improve electron sandbox (#14156) 2025-12-27 03:23:28 +08:00
DarkSky
844b9d9592 feat(server): impl native reader for server (#14100) 2025-12-14 00:28:43 +08:00
Xun Sun
a0eeed0cdb feat: implement export as PDF (#14057)
I used [pdfmake](https://www.npmjs.com/package/pdfmake) to implement an
"export as PDF" feature, and I am happy to share with you!

This should fix #13577, fix #8846, and fix #13959.

A showcase:

[Getting
Started.pdf](https://github.com/user-attachments/files/24013057/Getting.Started.pdf)

Although it might miss rendering some properties currently, it can
evolve in the long run and provide a more native experience for the
users.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
- Experimental "Export to PDF" option added to the export menu (behind a
feature flag)
- PDF export supports headings, paragraphs, lists, code blocks, tables,
images, callouts, linked documents and embedded content

* **Chores**
  - Added PDF rendering library and consolidated PDF utilities
  - Feature flag introduced to control rollout

* **Tests**
  - Comprehensive unit tests added for PDF content rendering logic

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: DarkSky <darksky2048@gmail.com>
2025-12-13 18:05:25 +08:00
Cats Juice
0f9b9789da fix(core): add missing tooltip effect for independent chat (#13127)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a tooltip component, making it available throughout the
application.

* **Refactor**
* Centralized tooltip initialization and registration for improved
consistency.
* Updated imports to use the new tooltip module, streamlining component
usage.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-10 05:09:48 +00:00
L-Sun
32c40bbf09 refactor(core): minimize comment editor (#12995)
#### PR Dependency Tree


* **PR #12995** 👈

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 a new clipboard module, making clipboard-related
functionality available for external use.
* Added a comprehensive extension system for the comment editor,
supporting rich text features, widgets, and configurable options.

* **Bug Fixes**
* Improved stability by ensuring comment highlighting features and
toolbar event subscriptions handle missing dependencies gracefully,
preventing potential runtime errors.

* **Refactor**
* Simplified comment editor view manager setup for easier configuration
and maintenance.

* **Chores**
* Updated package exports to expose new clipboard modules and
configurations.
* Removed confirm modal and portal-related logic from the comment editor
component.
* Adjusted temporary store creation to omit adding an extra surface
block under the root page.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 04:21:28 +00:00
Peng Xiao
a21f1c943e feat(core): comment panel (#12989)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced a full-featured document comment system with sidebar for
viewing, filtering, replying, resolving, and managing comments and
replies.
* Added a rich text comment editor supporting editable and read-only
modes.
  * Enabled comment-based navigation and highlighting within documents.
* Integrated comment functionality into the workspace sidebar (excluding
local workspaces).
* Added internationalization support and new UI strings for comment
features.
* Added new feature flag `enable_comment` for toggling comment
functionality.
  * Enhanced editor focus to support comment-related selections.
  * Added snapshot and store helpers for comment content management.
* Implemented backend GraphQL support for comment and reply operations.
* Added services for comment entity management and comment panel
behavior.
* Extended comment configuration to support optional framework
providers.
* Added preview generation from user selections when creating comments.
  * Enabled automatic sidebar opening on new pending comments.
  * Added comment-related query parameter support for navigation.
  * Included inline comment module exports for integration.
* Improved comment provider implementation with full lifecycle
management and UI integration.
* Added comment highlight state tracking and refined selection handling
in inline comments.

* **Style**
* Added comprehensive styles for the comment editor and sidebar
components.

* **Chores**
  * Updated language completeness percentages for multiple locales.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: L-Sun <zover.v@gmail.com>
2025-07-02 15:47:00 +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
donteatfriedrice
69c7767003 chore: remove citation feature flag (#12567)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Footnote definitions and "Sources" headings are now always included in notes, without requiring a feature flag.
  - Enhanced footnote-related content with additional citation-style blocks such as bookmarks, embedded documents, and attachments.

- **Chores**
  - Removed the citation feature flag and its related configuration, logic, and translations from the application.

- **Documentation**
  - Updated localization files to remove entries related to the citation experimental feature.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-27 10:07:32 +00:00
donteatfriedrice
a828c74f87 feat(editor): add experimental feature adapter panel to AFFiNE canary (#12489)
Closes: [BS-2539](https://linear.app/affine-design/issue/BS-2539/为-affine-添加-ef,并且支持在-affine-预览对应的功能)

> [!warning]
> This feature is only available in the canary build and is intended for debugging purposes.

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced an "Adapter Panel" feature with a new sidebar tab for previewing document content in multiple formats (Markdown, PlainText, HTML, Snapshot), controllable via a feature flag.
  - Added a fully integrated adapter panel component with reactive UI elements for selecting adapters, toggling HTML preview modes, and updating content.
  - Provided a customizable adapter panel for both main app and playground environments, supporting content transformation pipelines and export previews.
  - Enabled seamless toggling and live updating of adapter panel content through intuitive menus and controls.

- **Localization**
  - Added English translations and descriptive settings for the Adapter Panel feature.

- **Chores**
  - Added new package and workspace dependencies along with TypeScript project references to support the Adapter Panel modules and components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 14:08:12 +00:00
donteatfriedrice
f99b143bf9 fix(editor): handle footnote reference immediately follow URLs when importing markdown (#12449)
Closes: [BS-3525](https://linear.app/affine-design/issue/BS-3525/markdown-adapter-紧跟着链接的-footnote-reference-会被识别成链接的一部分)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Improved handling of footnote references that immediately follow URLs in markdown, ensuring correct spacing and parsing.
- **Bug Fixes**
  - Footnote references after URLs are now parsed correctly, preventing formatting issues.
- **Tests**
  - Added comprehensive test suites to verify footnote reference preprocessing and markdown conversion.
- **Chores**
  - Introduced Vitest as a development dependency and added a dedicated test configuration for the footnote module.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-23 03:24:23 +00:00
donteatfriedrice
1a070367f3 fix(editor): handle html content copied from google docs (#12383)
Closes: [BS-3508](https://linear.app/affine-design/issue/BS-3508/google-docs复制内容到affine时自动加粗问题)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Improved detection of bold, italic, underline, and strike-through formatting in imported HTML, supporting both tags and inline CSS styles.
  - Enhanced handling of inline elements containing block-level children to ensure correct formatting and structure during HTML import.
  - Introduced a plugin that converts inline elements with block-level children into block elements, preserving original tag information.
- **Bug Fixes**
  - Resolved issues where block-level elements nested inside inline tags could cause incorrect formatting or structure.
- **Tests**
  - Added comprehensive test coverage for HTML formatting conversions and plugin behavior to ensure accuracy and reliability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 02:45:17 +00:00
L-Sun
fbe053a54e fix(editor): edgeless selected rect should be below the edgeless toolbar (#12370)
Close [BS-3512](https://linear.app/affine-design/issue/BS-3512/bug-note-选中状态会穿透-toolbar)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Tests**
  - Added a new end-to-end test to verify that selection handles are visually and interactively layered beneath the edgeless element toolbar in the editor.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-19 15:50:58 +00:00
donteatfriedrice
76a8bf2834 fix(editor): flaky import notion html image unit test (#12354)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **Chores**
  - Added a new development dependency to improve testing capabilities.

- **Tests**
  - Refactored image handling tests to use enhanced HTTP request mocking, improving test reliability and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-19 04:53:56 +00:00
Saul-Mirone
3a2fe0bf91 refactor(editor): extract widgets (#12304)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced two new widgets: Edgeless Dragging Area and Note Slicer, now available for use.
  - Added extension support for these widgets, enabling enhanced interaction and integration within the application.

- **Chores**
  - Updated package configurations and workspace settings to include the new widgets and their dependencies.
  - Added project references and configuration files to support modular development and build processes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-15 10:44:41 +00:00
Saul-Mirone
6052743671 refactor(editor): extract selected rect widget (#12290)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced the Edgeless Selected Rectangle widget, providing enhanced selection and interaction capabilities in edgeless mode.
  - Added rotation-aware resize cursors for improved usability when resizing selections.
  - Integrated new autocomplete panels and selection components for a smoother user experience.

- **Refactor**
  - Modularized the Edgeless Selected Rectangle widget as a standalone package for better maintainability and integration.
  - Updated internal references and imports to utilize the new widget package.

- **Chores**
  - Updated project and package configurations to include the new widget and ensure proper build and type-checking across the workspace.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-15 04:25:07 +00:00
donteatfriedrice
b1594fcf6f feat(editor): provide callout markdown export options middleware (#12283)
Closes: [BS-3491](https://linear.app/affine-design/issue/BS-3491/支持-callout-导出成-vitepress-文档站支持的-markdown-格式)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Added support for exporting callout blocks in both GFM and Admonition markdown styles, including configurable admonition types and custom titles.
  - Introduced middleware to customize callout export options for markdown serialization.

- **Tests**
  - Enhanced test coverage for callout markdown export, including scenarios with and without export middleware for different styles and content structures.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-15 01:03:38 +00:00
donteatfriedrice
d56d46d8d6 fix(editor): should preserve format in <p> when importing html (#12275)
Closes: [BS-3485](https://linear.app/affine-design/issue/BS-3485/粘贴-html-格式的内容时,紧邻着-bold-text-的普通文本会丢失空格)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **Bug Fixes**
  - Improved handling of spaces and whitespace in paragraphs when converting HTML with inline formatting, ensuring spaces are preserved as in the original content.

- **Tests**
  - Added a new test to verify that spaces are correctly preserved in paragraphs containing bold and italic formatting during HTML conversion.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-15 00:50:10 +00:00
Saul-Mirone
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 -->
2025-05-13 11:09:21 +00:00
donteatfriedrice
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 -->
2025-05-13 08:05:30 +00:00
fundon
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 -->
2025-05-07 01:45:26 +00:00
Saul-Mirone
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 -->
2025-05-05 02:42:55 +00:00
Saul-Mirone
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 -->
2025-04-30 09:16:17 +00:00
donteatfriedrice
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 -->
2025-04-30 05:40:08 +00:00
Saul-Mirone
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 -->
2025-04-30 05:26:39 +00:00
Saul-Mirone
638f0b466f feat(editor): fragment extensions (#12066)
Closes: BS-3382
Closes: BS-3381
Closes: BS-3380

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
	- Introduced new view extensions for document title, frame panel, and outline fragments, enhancing modularity and extensibility.
- **Refactor**
	- Updated export structure for fragments to support directory-based modules and added dedicated view module exports.
	- Replaced a centralized view extension with individual fragment-based view extensions for improved clarity.
- **Chores**
	- Updated dependencies and TypeScript project references to ensure compatibility and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 11:21:58 +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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@ai-sdk%2fopenai/1.3.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@ai-sdk%2fopenai/1.3.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@ai-sdk%2fopenai/1.3.19/1.3.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@ai-sdk%2fopenai/1.3.19/1.3.20?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.797.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.797.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.796.0/3.797.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.796.0/3.797.0?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fs3-request-presigner/3.797.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fs3-request-presigner/3.797.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fs3-request-presigner/3.796.0/3.797.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fs3-request-presigner/3.796.0/3.797.0?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@napi-rs%2fcli/3.0.0-alpha.78?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@napi-rs%2fcli/3.0.0-alpha.78?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@napi-rs%2fcli/3.0.0-alpha.77/3.0.0-alpha.78?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@napi-rs%2fcli/3.0.0-alpha.77/3.0.0-alpha.78?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.51.1/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.51.1/1.52.0?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@playwright%2ftest/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@playwright%2ftest/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@playwright%2ftest/1.51.1/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@playwright%2ftest/1.51.1/1.52.0?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@toeverything%2ftheme/1.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@toeverything%2ftheme/1.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@toeverything%2ftheme/1.1.13/1.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@toeverything%2ftheme/1.1.13/1.1.14?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fbrowser/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fbrowser/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fbrowser/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fbrowser/3.1.1/3.1.2?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fcoverage-istanbul/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fcoverage-istanbul/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fcoverage-istanbul/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fcoverage-istanbul/3.1.1/3.1.2?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@vitest%2fui/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@vitest%2fui/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@vitest%2fui/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitest%2fui/3.1.1/3.1.2?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/app-builder-lib/26.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/app-builder-lib/26.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/app-builder-lib/26.0.13/26.0.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/app-builder-lib/26.0.13/26.0.14?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/browser-fs-access/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/browser-fs-access/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/browser-fs-access/0.35.0/0.37.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/browser-fs-access/0.35.0/0.37.0?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.51.0/5.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.51.0/5.51.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [cc](https://redirect.github.com/rust-lang/cc-rs) | `1.2.19` -> `1.2.20` | [![age](https://developer.mend.io/api/mc/badges/age/crate/cc/1.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/cc/1.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/cc/1.2.19/1.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/cc/1.2.19/1.2.20?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build-dependencies | patch |
| [clap](https://redirect.github.com/clap-rs/clap) | `4.5.36` -> `4.5.37` | [![age](https://developer.mend.io/api/mc/badges/age/crate/clap/4.5.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/clap/4.5.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/clap/4.5.36/4.5.37?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/clap/4.5.36/4.5.37?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/file-type/20.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/file-type/20.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/file-type/20.4.1/20.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/file-type/20.4.1/20.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [gradle](https://gradle.org) ([source](https://redirect.github.com/gradle/gradle)) | `8.13` -> `8.14` | [![age](https://developer.mend.io/api/mc/badges/age/gradle-version/gradle/8.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/gradle-version/gradle/8.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/gradle-version/gradle/8.13/8.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/gradle-version/gradle/8.13/8.14?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/graphql/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql/16.10.0/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql/16.10.0/16.11.0?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/graphql/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/graphql/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/graphql/16.10.0/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/graphql/16.10.0/16.11.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [lib0](https://crates.io/crates/lib0) | `0.16.5` -> `0.16.10` | [![age](https://developer.mend.io/api/mc/badges/age/crate/lib0/0.16.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/lib0/0.16.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/lib0/0.16.5/0.16.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/lib0/0.16.5/0.16.10?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/0.503.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/lucide-react/0.503.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/lucide-react/0.488.0/0.503.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/0.488.0/0.503.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [objc2-foundation](https://redirect.github.com/madsmtm/objc2) | `0.3.0` -> `0.3.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/objc2-foundation/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/objc2-foundation/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/objc2-foundation/0.3.0/0.3.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/objc2-foundation/0.3.0/0.3.1?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/playwright/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/playwright/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/playwright/1.51.1/1.52.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/playwright/1.51.1/1.52.0?slim=true)](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` | [![age](https://developer.mend.io/api/mc/badges/age/crate/rand/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/rand/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/rand/0.9.0/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/rand/0.9.0/0.9.1?slim=true)](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` | [![age](https://developer.mend.io/api/mc/badges/age/crate/rand/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/rand/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/rand/0.9.0/0.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/rand/0.9.0/0.9.1?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-resizable-panels/2.1.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-resizable-panels/2.1.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-resizable-panels/2.1.8/2.1.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-resizable-panels/2.1.8/2.1.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [sqlx](https://redirect.github.com/launchbadge/sqlx) | `0.8.4` -> `0.8.5` | [![age](https://developer.mend.io/api/mc/badges/age/crate/sqlx/0.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/sqlx/0.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/sqlx/0.8.4/0.8.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/sqlx/0.8.4/0.8.5?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/tldts/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/tldts/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/tldts/7.0.3/7.0.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tldts/7.0.3/7.0.4?slim=true)](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) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vitest/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vitest/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vitest/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vitest/3.1.1/3.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [yrs](https://redirect.github.com/y-crdt/y-crdt) | `=0.23.0` -> `=0.23.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/yrs/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/yrs/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/yrs/0.23.0/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/yrs/0.23.0/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [yrs](https://redirect.github.com/y-crdt/y-crdt) | `0.23.0` -> `0.23.1` | [![age](https://developer.mend.io/api/mc/badges/age/crate/yrs/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/yrs/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/yrs/0.23.0/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/yrs/0.23.0/0.23.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| com.google.firebase:firebase-bom | `33.12.0` -> `33.13.0` | [![age](https://developer.mend.io/api/mc/badges/age/maven/com.google.firebase:firebase-bom/33.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/com.google.firebase:firebase-bom/33.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/com.google.firebase:firebase-bom/33.12.0/33.13.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/com.google.firebase:firebase-bom/33.12.0/33.13.0?slim=true)](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` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.datastore:datastore-preferences/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.datastore:datastore-preferences/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.datastore:datastore-preferences/1.1.4/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.datastore:datastore-preferences/1.1.4/1.1.5?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [androidx.compose:compose-bom](https://developer.android.com/jetpack) | `2025.04.00` -> `2025.04.01` | [![age](https://developer.mend.io/api/mc/badges/age/maven/androidx.compose:compose-bom/2025.04.01?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/androidx.compose:compose-bom/2025.04.01?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/androidx.compose:compose-bom/2025.04.00/2025.04.01?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/androidx.compose:compose-bom/2025.04.00/2025.04.01?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |

---

### Release Notes

<details>
<summary>vercel/ai (@&#8203;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 (@&#8203;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 [@&#8203;aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3)

</details>

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;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 [@&#8203;aws-sdk/s3-request-presigner](https://redirect.github.com/aws-sdk/s3-request-presigner)

</details>

<details>
<summary>napi-rs/napi-rs (@&#8203;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 (@&#8203;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 (@&#8203;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 (@&#8203;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: [#&#8203;7474](https://redirect.github.com/vitest-dev/vitest/issues/7474))  -  by [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;kentonv](https://redirect.github.com/kentonv), [@&#8203;hi-ogawa](https://redirect.github.com/hi-ogawa) and [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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

-   [#&#8203;9032](https://redirect.github.com/electron-userland/electron-builder/pull/9032) [`3d65267a`](3d65267a6c) Thanks [@&#8203;indutny-signal](https://redirect.github.com/indutny-signal)! - Add customNsisResources override to nsis options

-   [#&#8203;9061](https://redirect.github.com/electron-userland/electron-builder/pull/9061) [`5545e132`](5545e13254) Thanks [@&#8203;mmaietta](https://redirect.github.com/mmaietta)! - chore: migrate fpm packaging from app builder

-   [#&#8203;9034](https://redirect.github.com/electron-userland/electron-builder/pull/9034) [`80fbf5a6`](80fbf5a6d8) Thanks [@&#8203;beyondkmp](https://redirect.github.com/beyondkmp)! - feat: add buildUniversalInstaller option to NSIS portable configuration

-   [#&#8203;8995](https://redirect.github.com/electron-userland/electron-builder/pull/8995) [`524fb6e0`](524fb6e042) Thanks [@&#8203;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. ([#&#8203;153](https://redirect.github.com/GoogleChromeLabs/browser-fs-access/issues/153), [#&#8203;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 ([#&#8203;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 ([#&#8203;1461](https://redirect.github.com/rust-lang/cc-rs/pull/1461))
-   Fix parser.rs on latest rustc nightly ([#&#8203;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 ([#&#8203;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 🚀

-   [#&#8203;4363](https://redirect.github.com/graphql/graphql-js/pull/4363) Ensure we validate for using nullable variables in oneOf input fields ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4366](https://redirect.github.com/graphql/graphql-js/pull/4366) feat(execution): add max coercion errors option to execution context ([@&#8203;cristunaranjo](https://redirect.github.com/cristunaranjo))

##### Bug Fix 🐞

-   [#&#8203;4367](https://redirect.github.com/graphql/graphql-js/pull/4367) fix(coerce-input-value): input object coercion rejects arrays ([@&#8203;cristunaranjo](https://redirect.github.com/cristunaranjo))

##### Docs 📝

<details>
<summary> 11 PRs were merged </summary>

-   [#&#8203;4310](https://redirect.github.com/graphql/graphql-js/pull/4310) First draft for upgrade guide to v17 ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4331](https://redirect.github.com/graphql/graphql-js/pull/4331) fix sidebar for documentation and `/api-v16` ([@&#8203;dimaMachina](https://redirect.github.com/dimaMachina))
-   [#&#8203;4335](https://redirect.github.com/graphql/graphql-js/pull/4335) Add cspell exception ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4340](https://redirect.github.com/graphql/graphql-js/pull/4340) Improve flow of documentation around GraphiQL ([@&#8203;benjie](https://redirect.github.com/benjie))
-   [#&#8203;4343](https://redirect.github.com/graphql/graphql-js/pull/4343) typofix: removes extra parenthesis from getting started code snippet ([@&#8203;rabahalishah](https://redirect.github.com/rabahalishah))
-   [#&#8203;4351](https://redirect.github.com/graphql/graphql-js/pull/4351) fixed wrong variable name ([@&#8203;fto-dev](https://redirect.github.com/fto-dev))
-   [#&#8203;4352](https://redirect.github.com/graphql/graphql-js/pull/4352) docs(getting-started): promises current links ([@&#8203;guspan-tanadi](https://redirect.github.com/guspan-tanadi))
-   [#&#8203;4368](https://redirect.github.com/graphql/graphql-js/pull/4368) Update docs for execution options ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4369](https://redirect.github.com/graphql/graphql-js/pull/4369) Correct some syntax ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4372](https://redirect.github.com/graphql/graphql-js/pull/4372) Refactor every code-first example to leverage resolve ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4373](https://redirect.github.com/graphql/graphql-js/pull/4373) docs: Update getting-started.mdx ([@&#8203;Shubhdeep12](https://redirect.github.com/Shubhdeep12))

</details>

##### Polish 💅
* [#&#8203;4312](https://redirect.github.com/graphql/graphql-js/pull/4312) Increase print/visit performance ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))

##### Internal 🏠
<details>
<summary> 4 PRs were merged </summary>

-   [#&#8203;4327](https://redirect.github.com/graphql/graphql-js/pull/4327) Add redirect for /api ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4377](https://redirect.github.com/graphql/graphql-js/pull/4377) Chore: bump setup-node ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4378](https://redirect.github.com/graphql/graphql-js/pull/4378) Change to gqlConf 2025 ([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
-   [#&#8203;4379](https://redirect.github.com/graphql/graphql-js/pull/4379) Add missing parenthesis ([@&#8203;benjie](https://redirect.github.com/benjie))

</details>

##### Committers: 8
* Benjie([@&#8203;benjie](https://redirect.github.com/benjie))
* Cris Naranjo ([@&#8203;cristunaranjo](https://redirect.github.com/cristunaranjo))
* Dimitri POSTOLOV([@&#8203;dimaMachina](https://redirect.github.com/dimaMachina))
* Fatih Ozdemir([@&#8203;fto-dev](https://redirect.github.com/fto-dev))
* Guspan Tanadi([@&#8203;guspan-tanadi](https://redirect.github.com/guspan-tanadi))
* Jovi De Croock([@&#8203;JoviDeCroock](https://redirect.github.com/JoviDeCroock))
* Rabah Ali Shah([@&#8203;rabahalishah](https://redirect.github.com/rabahalishah))
* Shubhdeep Chhabra([@&#8203;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 [@&#8203;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 [@&#8203;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

-   [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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

-   [@&#8203;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)
-   [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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

-   [@&#8203;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)
-   [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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

-   [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [#&#8203;2874](https://redirect.github.com/lucide-icons/lucide/issues/2874) by [@&#8203;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

-   [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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 [@&#8203;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

-   [@&#8203;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 [@&#8203;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 [@&#8203;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

-   [@&#8203;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
Saul-Mirone
d6ab958e15 feat(editor): root block extension (#12063)
Closes: BS-3202

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced new root block store and view extensions, enhancing modularity and integration options for root block functionality.
  - Exported the EdgelessLocker class for broader usage.

- **Improvements**
  - Updated export paths for root block modules, enabling clearer and more flexible module access.
  - Enhanced view extension setup to better tailor user interface and interactions based on context.

- **Removals**
  - Removed legacy migrating store and view extension logic, streamlining extension management and reducing unused code.
  - Removed multiple deprecated block specifications and common extension collections to simplify the codebase.
  - Deleted AI page root block specification, retaining only lifecycle watcher functionality.

- **Chores**
  - Updated dependencies and project references to support new extension loader integration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 17:20:42 +08:00
donteatfriedrice
83670ab335 feat(editor): add experimental feature citation (#11984)
Closes: [BS-3122](https://linear.app/affine-design/issue/BS-3122/footnote-definition-adapter-适配)
Closes: [BS-3123](https://linear.app/affine-design/issue/BS-3123/几个-block-card-view-适配-footnote-态)

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new citation card component and web element for displaying citations.
  - Added support for citation-style rendering in attachment, bookmark, and linked document blocks.
  - Enabled citation parsing from footnote definitions in markdown for attachments, bookmarks, and linked docs.
  - Added a feature flag to enable or disable citation features.
  - Provided new toolbar logic to disable downloads for citation-style attachments.

- **Improvements**
  - Updated block models and properties to support citation identifiers.
  - Added localization and settings for the citation experimental feature.
  - Enhanced markdown adapters to recognize and process citation footnotes.
  - Included new constants and styles for citation card display.

- **Bug Fixes**
  - Ensured readonly state is respected in block interactions and rendering for citation blocks.

- **Documentation**
  - Added exports and effects for new citation components and features.

- **Tests**
  - Updated snapshots to include citation-related properties in block data.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 06:59:27 +00:00
Saul-Mirone
4c84e6bac7 feat(editor): gfx link extension (#12046)
Closes: BS-3368

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced a new link tool extension, enabling enhanced link-related functionality within the edgeless workspace.
  - Added a new view extension for link tools, improving integration and usability in edgeless mode.

- **Chores**
  - Added a new package for link tool functionality with appropriate dependencies and exports.
  - Registered new custom elements for edgeless toolbars and link tools to support modular UI components.
  - Updated project configurations and workspace dependencies to include the new link tool module.

- **Refactor**
  - Removed unused quick tool exports and toolbar component registrations to streamline the edgeless extension codebase.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 03:19:37 +00:00
Saul-Mirone
d82d37b53d feat(editor): add page dragging area widget extension (#12045)
Closes: BS-3364

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new "Page Dragging Area" widget, enabling enhanced block selection and drag area detection within the user interface.
  - Added utilities for more precise block selection based on rectangular selection areas.

- **Improvements**
  - Integrated the new widget into the view extension system for consistent behavior across supported views.
  - Enhanced clipboard handling with comprehensive adapter configurations for various data types.

- **Refactor**
  - Streamlined widget registration and block selection logic for improved maintainability and modularity.
  - Removed legacy widget exports and registrations to centralize widget management.

- **Chores**
  - Updated workspace and TypeScript configurations to support the new widget module.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-29 01:45:00 +00:00
Saul-Mirone
468db9f3eb feat(editor): edgeless zoom toolbar widget extension (#12037)
Closes: BS-3363
2025-04-28 14:38:26 +00:00
Saul-Mirone
4e201ede17 feat(editor): viewport overlay widget extension (#12035)
Closes: BS-3360

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new viewport overlay widget, making it available as part of the workspace and enabling its integration into supported pages.

- **Refactor**
  - Updated internal imports and exports to utilize the new viewport overlay widget package.
  - Streamlined widget registration and extension mechanisms for improved modularity.

- **Chores**
  - Added configuration and project references to support the new viewport overlay widget package in the build system.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-28 14:38:26 +00:00
Saul-Mirone
3fdab1bec6 feat(editor): add bs affine foundation module (#12012)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced the Affine Foundation package, providing a centralized layer for initializing core UI effects, custom elements, and foundational services.
  - Added new foundational store and view extensions to improve core service registration and UI effect setup.

- **Refactor**
  - Streamlined and reorganized block, store, and view extension arrays to rely on the new foundation layer, reducing duplication and simplifying extension management.
  - Removed redundant or now-centralized services and UI effects from existing modules.

- **Chores**
  - Updated configuration files and workspace dependencies to support the new Affine Foundation package.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-28 06:38:42 +00:00
Saul-Mirone
d7b1819149 refactor(editor): move transcription block model to ai (#12010)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Refactor**
	- Updated and reorganized import paths for transcription block models and types to improve module structure and maintainability.
- **Chores**
	- Removed deprecated transcription block schema and related exports from core libraries.
	- Registered transcription block schema directly within the workspace schema for improved schema management.
- **Bug Fixes**
	- Ensured consistent registration and availability of transcription block features across relevant modules.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-27 13:13:07 +00:00
Saul-Mirone
81b439c4e1 feat(editor): add gfx pointer extension (#12006)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced a new pointer graphics module with tools and quick tool integration for edgeless surfaces.
  - Added a quick tool button for pointer interactions in edgeless mode.
  - Exposed new extension points for pointer graphics and effects.

- **Improvements**
  - Integrated pointer graphics as a dependency into related packages.
  - Enhanced toolbar context to support additional surface alignment modes.
  - Added conditional clipboard configuration registrations for edgeless contexts across multiple block types.

- **Removals**
  - Removed legacy tool and effect definitions and related quick tool exports from edgeless components.
  - Streamlined extension arrays and removed unused exports for a cleaner codebase.
  - Deleted obsolete utility functions and component registrations.

- **Chores**
  - Updated workspace and TypeScript project references to include the new pointer graphics module.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-27 04:46:44 +00:00
Saul-Mirone
59d4942d9b feat(editor): slash menu and toolbar widget extensions (#12002)
Closes: BS-3226
Closes: BS-3227
Closes: BS-3228
Closes: BS-3229

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced new view extensions for remote selection, scroll anchoring, slash menu, and toolbar widgets, enhancing customization and integration capabilities.

- **Refactor**
  - Updated export paths and module structure for widget-related packages to improve modularity and accessibility.
  - Reorganized internal dependencies and removed redundant widget imports from core block packages.
  - Refactored edgeless-related widgets and components to use a standardized scope interface for improved context and state management.
  - Centralized graphics controller access and slot management through standardized context objects.

- **Chores**
  - Added and updated dependencies to streamline extension loading and workspace management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-26 23:28:49 +08:00
Saul-Mirone
c3f6bea446 feat(editor): linked doc widget extension (#12001)
Closes: BS-3225
2025-04-26 02:45:19 +00:00
Saul-Mirone
6e76a3e593 feat(editor): add frame title and mobile toolbar widget extension (#11996)
Closes: BS-3223
Closes: BS-3224

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced new view extensions for frame title and keyboard toolbar widgets with conditional registration based on context and environment.
  - Enhanced widget integration by adding explicit exports for view components.

- **Chores**
  - Updated export paths and package dependencies to improve modularity and compatibility.
  - Removed deprecated widget dependencies and related imports from core packages.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-26 02:45:18 +00:00
Saul-Mirone
25a2b94a43 feat(editor): edgeless auto connect widget extension (#11990)
Closes: BS-3221
Closes: BS-3222

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
  - Introduced extensions that conditionally register edgeless auto-connect and toolbar widgets with associated effects based on the view context.
  - Added new exports for edgeless auto-connect and toolbar widget views, making them available for external use.

- **Chores**
  - Updated dependencies and project references to include the extension loader for improved module integration.
  - Refined workspace configuration to reflect new package dependencies.

- **Refactor**
  - Streamlined registration and effect logic by removing legacy integration points for edgeless auto-connect and toolbar widgets.
  - Reorganized widget export paths to a more modular directory structure.

- **Bug Fixes**
  - Disabled pointer events on the edgeless navigator black background to prevent interaction interference.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-26 01:21:49 +00:00
forehalo
4ffa37d1c3 chore: proxy image preview in frontend (#11957)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **New Features**
	- Images and icons in bookmark cards are now loaded through an image proxy for improved reliability and consistency.
	- Embed blocks for GitHub, Loom, and YouTube now display banner and creator images via an image proxy service for enhanced image loading.

- **Refactor**
	- Simplified backend URL handling and proxy logic for images, resulting in more efficient processing and reduced complexity.
	- Consolidated image proxy middleware and services into a shared adapter module for streamlined imports and improved maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-24 10:23:25 +00:00
Saul-Mirone
1d38e5787b feat(editor): drag handle widget extension (#11962)
Closes: BS-3220
2025-04-24 09:47:36 +00:00
Saul-Mirone
b66d2d58a1 feat(editor): surface block extension (#11961)
Closes: BS-3204
2025-04-24 09:47:36 +00:00
Saul-Mirone
2200bd7b70 feat(editor): text gfx extension (#11951)
Closes: BS-3213
2025-04-24 03:21:54 +00:00
Saul-Mirone
9d90899344 feat(editor): group gfx extension (#11950)
Closes: BS-3208

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced a new group view extension, enhancing how group elements are handled and displayed.
  - Added new store and view modules for group-related features, improving modularity and integration.

- **Refactor**
  - Updated the group element architecture to use extension-based registration for views, toolbars, and effects.
  - Simplified and reorganized exports for group and text modules.

- **Chores**
  - Updated dependencies and project references to improve build consistency and compatibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-24 03:21:54 +00:00
Saul-Mirone
0cd7111f20 feat(editor): connector gfx extension (#11940)
Closes: BS-3207
2025-04-24 01:27:28 +00:00
Saul-Mirone
9c0633b75c feat(editor): template gfx extension (#11939)
Closes: BS-3212
2025-04-24 00:49:39 +00:00
Saul-Mirone
f0a233368d feat(editor): mindmap gfx extension (#11936)
Closes: BS-3209

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **New Features**
  - Introduced mind map view and store extensions, enhancing mind map integration and conversion to plain text and markdown formats.
  - Added priority property to quick tools, allowing for custom ordering in the toolbar.
- **Improvements**
  - Toolbar quick tools are now sorted by priority for a more intuitive user experience.
  - Updated toolbar and extension configurations to streamline available tools and extensions.
- **Bug Fixes**
  - Conditional registration of certain components ensures correct behavior in edgeless mode.
- **Chores**
  - Updated dependencies and project references to improve module integration and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-04-24 00:49:38 +00:00