Commit Graph

61 Commits

Author SHA1 Message Date
Lakr
f3bb2be5ef feat: request apply subscription mutation (#13844) 2025-10-31 22:53:30 +08:00
Lakr
8aeb8bd0ca feat(ios): insert app user id to rc (#13756)
This pull request integrates RevenueCat into the iOS paywall system,
enabling user authentication and subscription management through the
RevenueCat SDK. It introduces new dependencies, updates the paywall
plugin initialization, and adds logic to fetch and use the current user
identifier from the web context for RevenueCat login. The most important
changes are grouped below:

**RevenueCat Integration and Configuration:**

* Added `purchases-ios-spm` (RevenueCat) as a Swift Package dependency
in `AffinePaywall` and updated `Package.resolved` to track the new
dependency.
(`packages/frontend/apps/ios/App/Packages/AffinePaywall/Package.swift`,
`packages/frontend/apps/ios/App/App.xcworkspace/xcshareddata/swiftpm/Package.resolved`)
[[1]](diffhunk://#diff-7716c691e65a220dad542e024fbf91547c45ea69ddff1d0b6a002a497cd7c8ecR20-R28)
[[2]](diffhunk://#diff-63609de9bdfc08b8a0691a4f0ddb7ddff07ae76b40ec2ee7c12adb7db226eb3cR48-R56)
* Implemented `Paywall.setup()` for initializing RevenueCat
configuration, including setting log level, proxy URL, and a static API
key.
(`packages/frontend/apps/ios/App/Packages/AffinePaywall/Sources/AffinePaywall/Paywall.swift`,
`packages/frontend/apps/ios/App/Plugins/PayWall/PayWallPlugin.swift`)
[[1]](diffhunk://#diff-bce0a21a4e7695b7bf2430cd6b8a85fbc84124cc3be83f3288119992b7abb6cdR8-R30)
[[2]](diffhunk://#diff-1854d318d8fd8736d078f5960373ed440836263649a8193c8ee33e72a99424edR14)

**User Authentication and Subscription State:**

* Enhanced the paywall ViewModel logic to fetch the current user
identifier from the web context (`window.getCurrentUserIdentifier`),
configure RevenueCat, and log in the user before fetching subscription
state. Improved error handling and ensured external entitlement fetching
is robust.
(`packages/frontend/apps/ios/App/Packages/AffinePaywall/Sources/AffinePaywall/Model/ViewModel+Action.swift`)
[[1]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbR9)
[[2]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL120-R155)
[[3]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbR165)
* Added a global JavaScript function `getCurrentUserIdentifier` to the
iOS web context to retrieve the current user's account ID for use in
RevenueCat login. (`packages/frontend/apps/ios/src/app.tsx`)

**Project Metadata:**

* Downgraded the `objectVersion` in the Xcode project file, possibly to
maintain compatibility with other tools or environments.
(`packages/frontend/apps/ios/App/App.xcodeproj/project.pbxproj`)

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

* **New Features**
* Paywall now initializes automatically for a smoother subscription
flow.
* New global API to retrieve the current user identifier from the app
context.

* **Improvements**
* Added integration to better coordinate subscription/login state before
showing paywall options.
* Ensures user identity is validated prior to entitlement checks,
improving accuracy.
  * Improved error messages and logging during purchase/login flows.

* **Bug Fixes**
* Fixed intermittent issues where subscription status could fail to load
or appear outdated.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-21 16:15:29 +00:00
Lakr
c63e3e7fe6 fix(ios): adopt smaller font size for small device (#13715)
This pull request makes minor adjustments to the iOS frontend app,
focusing on UI fine-tuning and improving type safety for concurrency.
The most notable changes are a small font size adjustment in the paywall
badge, marking an enum as `Sendable` for safer concurrency, and removing
a StoreKit configuration reference from the Xcode scheme.

UI adjustments:
* Reduced the font size for the badge text in `PackageOptionView` from
12 to 10 for a more refined appearance.

Concurrency and type safety:
* Added the `Sendable` protocol conformance to the `SKUnitCategory` enum
to ensure it can be safely used across concurrency boundaries.

Project configuration:
* Removed the `StoreKitConfigurationFileReference` from the
`App.xcscheme`, which may help streamline scheme configuration or
prevent unnecessary StoreKit file usage during app launch.

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

## Summary by CodeRabbit

- Style
- Tweaked paywall option badge text size for a cleaner, more polished
look.

- Refactor
- Improved concurrency safety in underlying models to enhance stability.

- Chores
- Removed a development-only StoreKit configuration from the iOS debug
launch setup.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-09 19:13:02 +08:00
Lakr
7d0b8aaa81 feat(ios): sync paywall with external purchased items (#13681)
This pull request introduces significant improvements to the integration
between the paywall feature and the web context within the iOS app. The
main focus is on enabling synchronization of subscription states between
the app and the embedded web view, refactoring how purchased items are
managed, and enhancing the paywall presentation logic. Additionally,
some debug-only code has been removed for cleaner production builds.

**Paywall and Web Context Integration**

* Added support for binding a `WKWebView` context to the paywall,
allowing the paywall to communicate with the web view for subscription
state updates and retrievals (`Paywall.presentWall` now accepts a
`bindWebContext` parameter, and `ViewModel` supports binding and using
the web context).
[[1]](diffhunk://#diff-bce0a21a4e7695b7bf2430cd6b8a85fbc84124cc3be83f3288119992b7abb6cdR10-R32)
[[2]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0R54-R57)
[[3]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0L26-R38)
[[4]](diffhunk://#diff-1854d318d8fd8736d078f5960373ed440836263649a8193c8ee33e72a99424edL30-R36)

* On paywall dismissal, the app now triggers a JavaScript call to update
the subscription state in the web view, ensuring consistency between the
app and the web context.

**Purchased Items Refactor**

* Refactored `ViewModel` to distinguish between store-purchased items
and externally-purchased items (from the web context), and unified them
in a computed `purchasedItems` property. This improves clarity and
extensibility for handling entitlements from multiple sources.

* Added logic to fetch external entitlements by executing JavaScript in
the web view and decoding the subscription information, mapping external
plans to internal product identifiers.
[[1]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL99-R137)
[[2]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbR169-R209)

**Codebase Cleanup**

* Removed debug-only code for shake gesture and debug menu from
`AFFiNEViewController`, streamlining the production build.

**API and Model Enhancements**

* Made `SKUnitCategory` and its extensions public to allow broader usage
across modules, and introduced a configuration struct for the paywall.
[[1]](diffhunk://#diff-742ccf0c6bafd2db6cb9795382d556fbab90b8855ff38dc340aa39318541517dL10-R17)
[[2]](diffhunk://#diff-bce0a21a4e7695b7bf2430cd6b8a85fbc84124cc3be83f3288119992b7abb6cdR10-R32)

**Other Minor Improvements**

* Improved constructor formatting for `PayWallPlugin` for readability.

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

- New Features
- Paywall now binds to the in-app web view so web-based subscriptions
are recognized alongside App Store purchases.
- Bug Fixes
- Entitlements combine App Store and web subscription state for more
accurate display.
- Dismissing the paywall immediately updates subscription status to
reduce stale states.
  - Improved reliability when presenting the paywall.
- Chores
  - Removed debug shake menu and debug paywall options from iOS builds.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-03 07:21:41 +00:00
renovate[bot]
5fdae9161a chore: bump up SwifterSwift/SwifterSwift version to from: "6.2.0" (#12874)
> [!NOTE]
> Mend has cancelled [the proposed
renaming](https://redirect.github.com/renovatebot/renovate/discussions/37842)
of the Renovate GitHub app being renamed to `mend[bot]`.
> 
> This notice will be removed on 2025-10-07.

<hr>

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[SwifterSwift/SwifterSwift](https://redirect.github.com/SwifterSwift/SwifterSwift)
| minor | `from: "6.0.0"` -> `from: "6.2.0"` |

---

### Release Notes

<details>
<summary>SwifterSwift/SwifterSwift (SwifterSwift/SwifterSwift)</summary>

###
[`v6.2.0`](https://redirect.github.com/SwifterSwift/SwifterSwift/blob/HEAD/CHANGELOG.md#v620)

[Compare
Source](https://redirect.github.com/SwifterSwift/SwifterSwift/compare/6.1.1...6.2.0)

##### Added

- **NSView**
- Added `addArrangedSubviews(_ views: )` to add an array of views to the
end of the arrangedSubviews array.
[#&#8203;1181](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1181)
by [Roman Podymov](https://redirect.github.com/RomanPodymov)
- Added `removeArrangedSubviews` to remove all views in stack’s array of
arranged subviews.
[#&#8203;1181](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1181)
by [Roman Podymov](https://redirect.github.com/RomanPodymov)
- **Sequence**
- `sorted(by:)`, `sorted(by:with:)`, `sorted(by:and:)`,
`sorted(by:and:and:)`, `sum(for:)`, `first(where:equals:)` now have
alternatives that receive functions as parameters. This change maintains
compatibility with KeyPath while making the methods more flexible.
[#&#8203;1170](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1170)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)

##### Changed

- **Sequence**
- `sorted(by:)`, `sorted(by:with:)`, `sorted(by:and:)`,
`sorted(by:and:and:)`, `sum(for:)`, `first(where:equals:)` now have
alternatives that receive functions as parameters. This change maintains
compatibility with KeyPath while making the methods more flexible.
[#&#8203;1170](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1170)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)
- `contains(_:)` for `Element: Hashable` now can receive any type that
conforms to `Sequence`, not just an `Array`.
[#&#8203;1169](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1169)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)

##### Fixed

- **PrivacyInfo.xcprivacy**
- XCode Generate Privacy Report: `Missing an expected key:
'NSPrivacyCollectedDataTypes'`.
[#&#8203;1182](https://redirect.github.com/SwifterSwift/SwifterSwift/issues/1182)
by [Phil](https://redirect.github.com/cdoky)

###
[`v6.1.1`](https://redirect.github.com/SwifterSwift/SwifterSwift/blob/HEAD/CHANGELOG.md#v611)

[Compare
Source](https://redirect.github.com/SwifterSwift/SwifterSwift/compare/6.1.0...6.1.1)

##### Added

- **Cocoapods**
- Added the privacy manifest to Cocoapods.
[#&#8203;1178](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1178)
by [guykogus](https://redirect.github.com/guykogus)

###
[`v6.1.0`](https://redirect.github.com/SwifterSwift/SwifterSwift/blob/HEAD/CHANGELOG.md#v610)

[Compare
Source](https://redirect.github.com/SwifterSwift/SwifterSwift/compare/6.0.0...6.1.0)

##### Deprecated

- **UIImageView**
- `blurred(withStyle:)` should have copied the image view and blurred
the new instance, but instead it performed the same functionality as
`blur(withStyle:)`, making the outcome unexpected as well as being
obsolete.
[#&#8203;1161](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1161)
by [guykogus](https://redirect.github.com/guykogus)

##### Added

- **Swift Package Manager**
- Added a privacy manifest to comply with Apple's requirements regarding
[Describing use of required reason
API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).
[#&#8203;1176](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1176)
by [guykogus](https://redirect.github.com/guykogus)
- **Measurement**
- Added `+=`, `-=`, `*=`, `/=` to add, subtract, multiply and divide
measurements.
[#&#8203;1162](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1162)
by [Roman Podymov](https://redirect.github.com/RomanPodymov)
- **Sequence**
- Added `product()` for calculating the product of all `Numeric`
elements.
[#&#8203;1168](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1168)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)
- Added `product(for:)` for calculating the product of the `Numeric`
property for all elements in `Sequence`.
[#&#8203;1168](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1168)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)
- **UIView**
- Added `removeBlur()` method for removing the applied blur effect from
the view.
[#&#8203;1159](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1159)
by [regi93](https://redirect.github.com/regi93)
- Added `makeCircle(diameter:)` method to make the view circular.
[#&#8203;1165](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1165)
by [happyduck-git](https://redirect.github.com/happyduck-git)

##### Fixed

- **UIImageView**
- Moved `blur(withStyle:)` from `UIImageView` to `UIView`, as it can be
performed on all views.
[#&#8203;1161](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1161)
by [guykogus](https://redirect.github.com/guykogus)
- **UIView**
- `GradientDirection` initializer and constants had access level
`internal` instead of `public`.
[#&#8203;1152](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1152)
by [guykogus](https://redirect.github.com/guykogus)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC4xIiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 17:41:45 +00:00
EYHN
4b3ebd899b feat(ios): update js subscription api (#13678)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Added on-demand subscription refresh and state retrieval in the iOS
app, enabling up-to-date subscription status and billing information.
- Exposed lightweight runtime APIs to check and update subscription
state for improved account visibility.

- Chores
- Integrated shared GraphQL package and project references to support
subscription operations.
- Updated workspace configuration to include the common GraphQL module
for the iOS app.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-30 03:12:51 +00:00
Lakr
8df7353722 chore(ios): iap paywall update (#13669)
This pull request introduces several improvements and refactors to the
iOS frontend, with a focus on the paywall system, configuration, and
developer experience. The most significant changes include dynamic
pricing updates for subscription packages, the introduction of a
centralized pricing configuration, and enhanced developer documentation
and settings for Claude Code. There are also minor fixes and
improvements to restore purchase flows, App Store syncing, and protocol
usage guidance.

**Paywall System Improvements**

* Subscription package pricing and display is now dynamically updated
based on App Store data, ensuring users see accurate, localized pricing
and descriptions. This includes new logic for calculating monthly prices
and updating package button text. (`ViewModel.swift`,
`ViewModel+Action.swift`, `SKUnit+Pro.swift`, `SKUnit+AI.swift`)
[[1]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0R83-R160)
[[2]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0L102-R199)
[[3]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL58-R73)
[[4]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL74-R94)
[[5]](diffhunk://#diff-ea535c02550f727587e74521da8fd90dec23cbe3c685f9c4aa4923ce0bbdb363L19-R35)
[[6]](diffhunk://#diff-a5fef660f959bbb52ce3f19bba8bfbd0bb00d66c9f18a20a998101b5df6c8f60L18-R22)
* Introduced a new `PricingConfiguration.swift` file to centralize
product identifiers, default selections, and display strings for
subscription products, improving maintainability and consistency.
(`PricingConfiguration.swift`, `SKUnit+Pro.swift`, `SKUnit+AI.swift`)
[[1]](diffhunk://#diff-de4566ecd5bd29f36737ae5e5904345bd1a5c8f0a73140c3ebba41856bae3e86R1-R54)
[[2]](diffhunk://#diff-ea535c02550f727587e74521da8fd90dec23cbe3c685f9c4aa4923ce0bbdb363L19-R35)
[[3]](diffhunk://#diff-a5fef660f959bbb52ce3f19bba8bfbd0bb00d66c9f18a20a998101b5df6c8f60L18-R22)

**Developer Experience and Documentation**

* Added `AGENTS.md` to provide comprehensive guidance for Claude Code
and developers, including project overview, build commands,
architecture, native bridge APIs, Swift code style, and dependencies.
(`AGENTS.md`)
* Added a local settings file (`settings.local.json`) to configure
permissions for Claude Code, allowing specific Bash commands for iOS
builds. (`settings.local.json`)
* Updated Swift architecture guidelines to discourage protocol-oriented
design unless necessary, favoring dependency injection and composition.
(`AGENTS.md`)

**User Experience Improvements**

* The purchase footer now includes an underline for "Restore Purchase"
and a clear message about subscription auto-renewal and cancellation
flexibility. (`PurchaseFooterView.swift`)
* Improved restore purchase and App Store sync logic to better handle
user sign-in prompts and error handling. (`ViewModel+Action.swift`,
`Store.swift`)
[[1]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL45-R49)
[[2]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL58-R73)
[[3]](diffhunk://#diff-9f18fbbf15591c56380ce46358089c663ce4440f596db8577de76dc6cd306b54R26-R28)

**Minor Fixes and Refactoring**

* Made `docId` in `DeleteSessionInput` optional to match GraphQL schema
expectations. (`DeleteSessionInput.graphql.swift`)
[[1]](diffhunk://#diff-347e5828e46f435d7d7090a3e3eb7445af8c616f663e8711cd832f385f870a9bL14-R14)
[[2]](diffhunk://#diff-347e5828e46f435d7d7090a3e3eb7445af8c616f663e8711cd832f385f870a9bL25-R25)
* Minor formatting and dependency list updates in `Package.swift`.
(`Package.swift`)
* Fixed concurrency usage in event streaming for chat manager.
(`ChatManager+Stream.swift`)

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

## Summary by CodeRabbit

* New Features
* Paywall options now dynamically reflect product data with clearer
labels and monthly price calculations.
* Added an auto‑renewal note (“cancel anytime”) and underlined “Restore
Purchase” for better clarity.

* Refactor
* Improved purchase/restore flow reliability and UI updates for a
smoother experience.

* Documentation
* Added a comprehensive development guide and updated architecture/style
guidance for iOS.

* Chores
* Introduced local build permissions configuration for iOS development.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-29 09:18:47 +00:00
Lakr
8d6f7047c2 fix(ios): build project (#13656)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Access Tokens screen now shows revealed access tokens, including the
token value where available.

- Chores
  - Updated iOS Paywall package to use Swift tools version 5.9.
  - Removed an unused internal iOS package to streamline the app.
- Aligned access token data model to the latest backend schema for
improved consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-26 10:10:30 +00:00
Lakr
7a90e1551c fix(ios): complete iap user interface (#13639)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- In-app purchases fully integrated for Pro and AI plans with restore,
live product loading, and StoreKit test configuration.

- Improvements
- Refreshed paywall: intro animation, delayed close button, smoother
horizontal paging, page dots interaction, per-item reveal animations,
and purchase-state UI (disabled/checked when owned).

- Changes
- "Believer" plan and related screens removed; Pro simplified to Monthly
and Annual offerings.

- Chores
- iOS project and build settings updated for newer toolchain and
StoreKit support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-25 04:50:12 +00:00
Lakr
75a6c79b2c fix(ios): crash at swift runtime error (#13635)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Fetch copilot model options per prompt (default, optional, pro) with
generated GraphQL query and schema types.

* **Chores**
* Upgraded iOS deps: Apollo iOS 1.23.0, EventSource 0.1.5, Swift
Collections 1.2.1.
* Switched Intelligents to static linking and updated project
integration.
* Parameterized and standardized GraphQL codegen tooling; setup
automation now syncs versions and safely backs up/restores custom
scalars.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-23 05:56:08 +00:00
renovate[bot]
ebf75e4d31 chore: bump up apollographql/apollo-ios version to v1.23.0 (#13623)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios)
| minor | `from: "1.22.0"` -> `from: "1.23.0"` |
|
[apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios)
| minor | `1.22.0` -> `1.23.0` |

---

### Release Notes

<details>
<summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary>

###
[`v1.23.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1230)

[Compare
Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.22.0...1.23.0)

##### New

- **Added `requireNonOptionalMockFields` flag to
`ApolloCodegenConfiguration.OutputOptions`.
([#&#8203;669](https://redirect.github.com/apollographql/apollo-ios-dev/pull/669)):**
Added new flag to codegen output options to allow having non-optional
fields in the test mocks if desired. *Thank you to
[@&#8203;dwroth](https://redirect.github.com/dwroth) for the
contribution.*

##### Improvement

- **Added public initializer to `DatabaseRow`.
([#&#8203;664](https://redirect.github.com/apollographql/apollo-ios-dev/pull/664)):**
Not having a public initializer on `DatabasRow` was hindering the
ability to create custom `SQLiteDatabase` implementations. This solves
that by adding a public initializer to `DatabaseRow`.*Thank you to
[@&#8203;ChrisLaganiere](https://redirect.github.com/ChrisLaganiere) for
the contribution.*

##### Fixed

- **Unncessary deprecation warning in codegen options initializer.
([#&#8203;3563](https://redirect.github.com/apollographql/apollo-ios/issues/3563)):**
Added `@_disfavoredOverload` to the deprecated initialized in
`ApolloCodegenConfiguration` to prevent possible warnings caused by the
compiler selecting a deprecated initializer versus the new/current
initializer. See PR
[#&#8203;682](https://redirect.github.com/apollographql/apollo-ios-dev/pull/682).
*Thank you to
[@&#8203;CraigSiemens](https://redirect.github.com/CraigSiemens) for
raising the issue.*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 18:35:24 +00:00
renovate[bot]
21bb8142b0 chore: bump up Recouse/EventSource version to from: "0.1.5" (#13620)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Recouse/EventSource](https://redirect.github.com/Recouse/EventSource)
| patch | `from: "0.1.4"` -> `from: "0.1.5"` |

---

### Release Notes

<details>
<summary>Recouse/EventSource (Recouse/EventSource)</summary>

###
[`v0.1.5`](https://redirect.github.com/Recouse/EventSource/releases/tag/0.1.5)

[Compare
Source](https://redirect.github.com/Recouse/EventSource/compare/0.1.4...0.1.5)

#### What's Changed

- Fix potential data corruption by
[@&#8203;Recouse](https://redirect.github.com/Recouse) in
[#&#8203;30](https://redirect.github.com/Recouse/EventSource/pull/30)
- Concurrency improvements by
[@&#8203;Recouse](https://redirect.github.com/Recouse) in
[#&#8203;31](https://redirect.github.com/Recouse/EventSource/pull/31)
- Update EventParser.swift to Support CR LF by
[@&#8203;Lakr233](https://redirect.github.com/Lakr233) in
[#&#8203;28](https://redirect.github.com/Recouse/EventSource/pull/28)

#### New Contributors

- [@&#8203;Lakr233](https://redirect.github.com/Lakr233) made their
first contribution in
[#&#8203;28](https://redirect.github.com/Recouse/EventSource/pull/28)

**Full Changelog**:
<https://github.com/Recouse/EventSource/compare/0.1.4...0.1.5>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 14:54:00 +00:00
renovate[bot]
19bd29e90c chore: bump up apple/swift-collections version to from: "1.2.1" (#13535)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[apple/swift-collections](https://redirect.github.com/apple/swift-collections)
| patch | `from: "1.2.0"` -> `from: "1.2.1"` |

---

### Release Notes

<details>
<summary>apple/swift-collections (apple/swift-collections)</summary>

###
[`v1.2.1`](https://redirect.github.com/apple/swift-collections/releases/tag/1.2.1):
Swift Collections 1.2.1

[Compare
Source](https://redirect.github.com/apple/swift-collections/compare/1.2.0...1.2.1)

This is a patch release with the following minor improvements:

- `BigString` sometimes miscounted distances in its character view,
resulting in an invalid collection conformance. This is now fixed.
([#&#8203;485](https://redirect.github.com/apple/swift-collections/issues/485))
- `BigString`'s Unicode Scalar and character views now make better use
of known lengths of the text chunks stored in the tree, resulting in
significantly improved performance for their distance measurements.
([#&#8203;486](https://redirect.github.com/apple/swift-collections/issues/486))
- The Foundation-specific toolchain configuration was updated to include
the Deque type.
([#&#8203;496](https://redirect.github.com/apple/swift-collections/issues/496))

#### What's Changed

- \[BigString] Fix character indexing operations by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;485](https://redirect.github.com/apple/swift-collections/pull/485)
- \[BigString] Harvest some low-hanging performance fruit by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;486](https://redirect.github.com/apple/swift-collections/pull/486)
- Include DequeModule in the Foundation toolchain build by
[@&#8203;cthielen](https://redirect.github.com/cthielen) in
[#&#8203;496](https://redirect.github.com/apple/swift-collections/pull/496)

**Full Changelog**:
<https://github.com/apple/swift-collections/compare/1.2.0...1.2.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuOTcuMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 14:22:59 +00:00
Lakr
360c9545f4 feat(ios): [IAP] Paywall Initial Commit (#13609)
Requires https://github.com/toeverything/AFFiNE/pull/13606 to be merged.

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

- New Features
- Introduced an in-app Paywall with Pro, AI, and Believer plans, feature
previews, paging dots, and selectable pricing options.
- Added purchase and restore actions, plus a unified, polished UI using
new color/icon resources.

- Documentation
  - Added Swift Code Style Guidelines.

- Chores
- Updated dependencies (including MarkdownView 3.4.2), added new
resource packages, and removed an unused dependency.
  - Raised iOS deployment target to 16.5 and refreshed project settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2025-09-19 11:01:46 +00:00
Lakr
1f228382c2 chore: fix building the app (#13606)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
  - Built-in Then-style DSL for fluent configuration.
- Centralized theming via a new resources library exposing standardized
colors and icons for SwiftUI and UIKit.

- Refactor
  - Migrated color and icon accessors to the new resources provider.
  - Removed redundant imports and streamlined UI configuration.

- Dependencies
  - Updated MarkdownView to 3.4.2.
- Removed the Then third-party dependency; updated package sources;
added resources package and assets.

- Documentation
  - Added iOS Swift code style and architecture guidelines.

- Chores
  - Updated Xcode project format and repository ignore rules.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-19 06:05:05 +00:00
Lakr
531fbf0eed fix: 🚑 replace problematic attachment count (#13416)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved attachment handling in chat by updating the way attachments
are counted, ensuring only files and images are included. Document
attachments are no longer counted in this process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-06 09:37:37 +08:00
Lakr
d398aa9a71 chore: added mime-type in gql (#13414)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved file and image attachment handling by including MIME type
information for uploads.
* Added a new query to fetch document summaries by workspace and
document IDs.

* **Refactor**
* Minor adjustments to method signatures and property initializations to
streamline code and maintain consistency.
* Updated access levels for certain properties and methods to internal,
enhancing encapsulation.

* **Style**
  * Formatting and whitespace clean-up for improved code readability.

No changes to user-facing functionality or behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-05 08:10:40 +00:00
DarkSky
0fcb4cb0fe feat(server): scenario mapping (#13404)
fix AI-404

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

* **New Features**
* Introduced scenario-based configuration for copilot, allowing default
model assignments for various AI use cases.
  * Added a new image generation model to the available options.

* **Improvements**
* Refined copilot provider settings by removing deprecated fallback
options and standardizing base URL configuration.
* Enhanced prompt management to support scenario-driven updates and
improved configuration handling.
* Updated admin and settings interfaces to support new scenario
configurations.

* **Bug Fixes**
* Removed deprecated or unused prompts and related references across
platforms for consistency.

* **Other**
* Improved test coverage and updated test assets to reflect prompt and
scenario changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-04 09:50:38 +00:00
Lakr
1661ab1790 feat: fix several view model issue (#13388)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Error messages in chat cells are now clearly displayed with improved
formatting and dynamic height adjustment for better readability.
* Introduced the ability to remove specific chat cell view models from a
session.

* **Bug Fixes**
* Enhanced error handling to automatically remove invalid chat cell view
models when a message creation fails.

* **Other Improvements**
* Improved internal logic for handling message attachments and added
more detailed debug logging for the copilot response lifecycle.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 07:24:33 +00:00
Lakr
19790c1b9e feat: update MarkdownView render (#13387)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced support for managing context blobs, including adding and
removing blobs within contexts.
  * Added the ability to generate and revoke user access tokens.
  * Implemented queries to list user access tokens and context blobs.

* **Improvements**
* Enhanced context object queries to include blobs and updated related
data structures.
* Updated type references for improved schema alignment and consistency.

* **Bug Fixes**
* Removed obsolete or incorrect error fields from certain context and
document queries.

* **Chores**
  * Upgraded the MarkdownView dependency to version 3.4.1.
  * Updated internal type names for better clarity and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 04:38:10 +00:00
Lakr
4586e4a18f feat: adopt new backend api for attachment (#13336)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a new query for applying document updates using AI,
allowing merged markdown responses.
* Added support for an optional file upload field when creating chat
messages.

* **Improvements**
* Enhanced recent Copilot sessions query with pagination by adding an
offset parameter.
* Refined attachment handling in chat responses to better distinguish
between single and multiple file uploads, improving reliability.

* **Bug Fixes**
  * Minor update to error handling for clearer messaging.

* **Chores**
* Cleaned up and updated iOS project configuration files for improved
build consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-28 07:23:03 +00:00
EYHN
43f8d852d8 feat(ios): ai button feature flag (#13280)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
  * Added a global API to check the AI button feature flag status.

* **Bug Fixes**
* Improved handling for the AI button feature: the app now checks the
feature flag before proceeding and provides a clear error if the feature
is disabled.

* **Refactor**
  * Removed all AI button presentation and dismissal logic from the app.
* Deleted unused plugin interfaces and registration related to the AI
button feature.

* **Chores**
  * Updated project metadata and build configuration for iOS.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 10:07:32 +00:00
Lakr
b7c026bbe8 feat: ai now working again (#13196)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added support for displaying title and summary fields in workspace
pages.
* Introduced a menu in the chat header with a "Clear History" option to
remove chat history.

* **Improvements**
* Enhanced chat message handling with asynchronous context preparation
and improved markdown processing.
* Simplified chat input and assistant message rendering for better
performance and maintainability.
* Updated dependency versions for improved stability and compatibility.

* **Bug Fixes**
* Ensured chat features are available in all build configurations, not
just debug mode.

* **Chores**
* Removed unused dependencies and internal code, and disabled certain
function bar options.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 02:49:20 +00:00
Lakr
ecea7bd825 fix: 🚑 compiler issue (#13114) 2025-07-09 10:18:04 +00:00
Lakr
46a44f619d chore: pin MarkdownView while refactor (#13068)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated dependency management to require an exact version of a
library, ensuring consistent behavior across builds.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 16:01:30 +08:00
Lakr
ed6adcf4d9 feat: basic chat implementation completed (#13023)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a new chat list view with improved grouping of messages by
date and support for rich markdown rendering, including math
expressions.
* Added support for displaying user message attachments and hints within
the chat interface.

* **Improvements**
* Enhanced chat cell designs for user, assistant, and system messages,
providing clearer layouts and better text rendering.
* Streamlined chat message streaming with incremental markdown updates
and improved scrolling behavior.
* Updated chat view models to include timestamps and refined message
typing.

* **Bug Fixes**
* Improved handling of streaming responses and error reporting with more
accurate timestamps.

* **Refactor**
* Replaced the legacy table-based chat UI with a modern list-based
implementation.
* Simplified and unified chat cell view models and cell rendering logic.

* **Chores**
* Updated and added several third-party dependencies to support new UI
components and markdown features.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-04 05:27:18 +00:00
Lakr
6a04fbe335 fix: 🚑 build on Xcode 16.2 (#12981)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Improved compatibility for chat cell handling, allowing broader
support for different view model types in chat-related features.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-01 12:47:21 +00:00
Lakr
2be3f84196 fix: 🚑 compiler issue on newer syntax (#12974)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Updated method and function signatures to accept any type conforming
to the chat cell view model protocol, improving flexibility and
extensibility of chat cell configuration and height estimation.
  * Simplified internal logic for determining text color in chat cells.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-01 13:06:06 +08:00
Lakr
29ae6afe71 chore: created first ai stream (#12968)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a redesigned chat interface with new cell types for user,
assistant, system, loading, and error messages.
  * Added streaming chat responses and improved session management.
* Enhanced input box behavior, allowing sending messages with the return
key and inserting new lines via the edit menu.
* Added new GraphQL queries for fetching recent and latest chat
sessions.

* **Refactor**
* Replaced previous chat message and session management with a new, more
structured view model system.
* Updated chat view to use a custom table view component for better
message rendering and empty state handling.
* Simplified and improved error and loading state handling in the chat
UI.

* **Bug Fixes**
  * Improved error reporting and retry options for failed chat messages.
  * Fixed inconsistent property types for message and error identifiers.

* **Style**
* Updated UI components for chat cells with modern layouts and
consistent styling.

* **Chores**
  * Added a new package dependency for event streaming support.
* Renamed various internal properties and classes for clarity and
consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-30 06:51:00 +00:00
Lakr
9a1ce2ba3c chore: define view model (#12949)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a chat interface with message list, empty state view, and
support for user, assistant, and system messages.
* Added a chat manager for session and message handling, including
session creation, message sending, and error management.
* Implemented various chat cell types (attachments, context references,
workflow status, loading, and error cells) with corresponding data
models and view models.
* Enabled asynchronous message sending from the input box with error
alerts and automatic session creation.
* Added workflow and context-related models for advanced chat features.

* **Enhancements**
* Improved UI responsiveness with table view updates and dynamic empty
state handling.
  * Provided a method to clear all attachments in the input box.

* **Bug Fixes / Style**
* Refined code formatting, access control, and minor stylistic
improvements across multiple files for consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-27 06:36:37 +00:00
Lakr
697e0bf9ba feat: completed input box ui + ux (#12927)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a document picker UI for embedding and selecting AFFiNE
documents, with improved search and recent document functionality.
- Added support for searching and fetching recently updated documents
within a workspace.
- Enhanced error handling for login and metadata validation during
document operations.
  - Added ability to attach documents directly from the input box.

- **Improvements**
- Refined UI animations and layout behaviors for attachment and document
picker components.
- Updated attachment and header views for clearer pluralization and
display logic.
- Improved selection indicators and search experience in the document
picker.
- Enhanced delegate handling for user actions across input and
attachment components.

- **Bug Fixes**
- Fixed progress indicators and error alerts for failed document
operations.

- **Chores**
- Updated project configuration for improved build and signing
processes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-06-25 09:54:06 +00:00
Lakr
c37df9fb94 chore: made attachment header & management sheet (#12922)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced file, image, and document attachment support in the input
box, including new UI components for managing and previewing
attachments.
- Added a searchable document picker view and a file attachment header
with interactive management options.
- Enabled an attachment management controller for viewing and deleting
attachments.
- Improved image attachment bar with horizontal scrolling and removal
functionality.
- Enhanced error handling for file attachments, providing user-facing
alerts.

- **Improvements**
  - Updated attachment menus for clearer file type indications.
- Streamlined attachment handling logic and UI updates for a smoother
user experience.

- **Bug Fixes**
- Addressed error notification by replacing console logging with user
alerts when file attachment issues occur.

- **Refactor**
- Replaced and reorganized the input box view model and attachment bar
for better modularity and maintainability.

- **Chores**
- Updated asset catalogs to include new attachment icons for various
file types.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-25 05:30:00 +00:00
Lakr
10139205b4 chore: update graphql support for fetching initial user status (#12905)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Introduced a new context management system for intelligent features,
enabling the collection and preparation of metadata from both web view
and GraphQL sources.
- Added a service for managing GraphQL API interactions, including user,
workspace, subscription, and quota queries.
- Enabled searching documents within a workspace using a new GraphQL
query and input structure.

- **Enhancements**
- Expanded chat session and chat history search capabilities with
additional filter and pagination options.

- **Refactor**
- Replaced the previous context management class with a more
comprehensive and modular implementation.
- Improved handling of cookies for network requests to ensure session
continuity.

- **Style**
- Minor code style and formatting improvements for clarity and
consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-24 05:03:35 +00:00
Lakr
10e981aa6d chore: update codegen cli and apollo version on iOS (#12879)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Added support for creating new documents from markdown and retrieving
the current locale in the iOS app.
- Introduced a shell script to automate Apollo iOS code generation
tasks.

- **Improvements**
- Upgraded the Apollo iOS library to version 1.22.0 for improved
performance and compatibility.
- Enhanced metadata handling in the app to include document ID,
workspace ID, server URL, and locale.
- Improved JavaScript execution integration for document and workspace
operations.

- **Bug Fixes**
- Fixed button appearance in the input bar by setting a static corner
radius for the send button.

- **Chores**
- Removed unused dependencies and updated .gitignore entries for cleaner
project management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-20 11:03:16 +00:00
renovate[bot]
fb250c6374 chore: bump up SnapKit/SnapKit version to from: "5.7.1" (#12873)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [SnapKit/SnapKit](https://redirect.github.com/SnapKit/SnapKit) | minor
| `from: "5.0.1"` -> `from: "5.7.1"` |

---

### Release Notes

<details>
<summary>SnapKit/SnapKit (SnapKit/SnapKit)</summary>

###
[`v5.7.1`](https://redirect.github.com/SnapKit/SnapKit/releases/tag/5.7.1)

[Compare
Source](https://redirect.github.com/SnapKit/SnapKit/compare/5.7.0...5.7.1)

- Podspec bump with privacy manifest support via Cocoapods

###
[`v5.7.0`](https://redirect.github.com/SnapKit/SnapKit/releases/tag/5.7.0)

[Compare
Source](https://redirect.github.com/SnapKit/SnapKit/compare/5.6.0...5.7.0)

Minor release:

- Update minimum deployment targets (iOS 12.0, macOS 10.13)
- Add `PrivacyInfo.xcprivacy` for Swift PM targets, Cocoapods
unsupported due to
[#&#8203;10325](https://redirect.github.com/CocoaPods/CocoaPods/issues/10325)

Happy New Year!

###
[`v5.6.0`](https://redirect.github.com/SnapKit/SnapKit/releases/tag/5.6.0)

[Compare
Source](https://redirect.github.com/SnapKit/SnapKit/compare/5.0.1...5.6.0)

- Upgrade to syntax compatibility of Swift 5.6
- Upgrade dependency manager integrations
- Small tweaks and fixes

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjAuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 07:02:07 +00:00
Lakr
eb5a2ffe05 chore: basic setup of v2 AI (#12864)
Co-authored-by: Hwang <hwangdev97@gmail.com>
2025-06-20 05:09:33 +00:00
Cats Juice
380f40ebed style(core): adjust app sidebar style (#12852)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Style**
- Adjusted layout and spacing in sidebar and quick search components for
a more compact appearance.
- Reduced header and tab heights in the desktop app, increasing main
view space.
- Updated add-page button size, padding, and font for improved
usability.
  - Refined menu positioning in workspace selector for dense layouts.
  - Improved macOS window button positioning for better alignment.
  - Updated and restructured iOS app dependencies.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: fengmk2 <fengmk2@gmail.com>
2025-06-19 10:15:42 +08:00
DarkSky
e118db4387 chore(ios): update gql schema (#12825)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **New Features**
- Introduced advanced search and aggregation capabilities, including
support for new search query types, options, and pagination.
- Added new GraphQL mutations and queries for managing workspace
embedding files and ignored documents.
- Extended user and workspace management with new fields and
configuration options.
- Added support for sending test emails and validating app
configuration.

- **Improvements**
- Enhanced license management with updated fragments and additional
fields.
- Improved invitation and member management workflows, including removal
of deprecated arguments and streamlined APIs.
- Expanded support for audio transcription actions and retry
functionality.
- Added new enum values for OAuth providers, server features, and
workspace member status.

- **Removals**
- Deprecated and removed legacy queries and mutations related to user
roles and invitations.

- **Bug Fixes**
- Corrected field types and documentation comments for improved
consistency and clarity.

- **Other**
- Numerous schema and type updates to support new features and enhance
data modeling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-16 16:35:15 +08:00
renovate[bot]
ac3f247f01 chore: bump up apollographql/apollo-ios version to v1.22.0 (#12670)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 10:32:12 +08:00
renovate
5e8caa261a chore: bump up Lakr233/ChidoriMenu version to v3 (#12372)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Lakr233/ChidoriMenu](https://redirect.github.com/Lakr233/ChidoriMenu) | major | `from: "2.4.3"` -> `from: "3.0.0"` |

---

### Release Notes

<details>
<summary>Lakr233/ChidoriMenu (Lakr233/ChidoriMenu)</summary>

### [`v3.0.0`](https://redirect.github.com/Lakr233/ChidoriMenu/compare/2.4.3...3.0.0)

[Compare Source](https://redirect.github.com/Lakr233/ChidoriMenu/compare/2.4.3...3.0.0)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2025-05-22 07:59:06 +00:00
CatsJuice
9d234c3ef2 chore(mobile): enable ai button feature flag for canary only (#12377)
<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

- **Chores**
  - Updated Apollo iOS dependency to version 1.21.0 and removed the SQLite.swift dependency in the iOS app workspace.
- **New Features**
  - The "Enable Mobile AI Button" feature flag is now configurable only for mobile canary builds.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-21 01:39:16 +00:00
renovate
cfb6d2a255 chore: bump up apple/swift-collections version to from: "1.2.0" (#12381)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [apple/swift-collections](https://redirect.github.com/apple/swift-collections) | minor | `from: "1.1.4"` -> `from: "1.2.0"` |

---

### Release Notes

<details>
<summary>apple/swift-collections (apple/swift-collections)</summary>

### [`v1.2.0`](https://redirect.github.com/apple/swift-collections/releases/tag/1.2.0): Swift Collections 1.2.0

[Compare Source](https://redirect.github.com/apple/swift-collections/compare/1.1.4...1.2.0)

This feature release includes the following improvements:

-   The package now compiles without warnings using Swift 6.0 and 6.1.
-   New functionality:
    -   `Heap.removeAll(where:)` ([#&#8203;454](https://redirect.github.com/apple/swift-collections/issues/454))
    -   `OrderedSet.appending(contentsOf:)` ([#&#8203;452](https://redirect.github.com/apple/swift-collections/issues/452))
-   Bug fixes and performance improvements:
    -   `Heap` operations now agree on the identity of the maximal element, even if it has duplicates ([#&#8203;439](https://redirect.github.com/apple/swift-collections/issues/439))
    -   `OrderedSet` now runs faster in unspecialized generic contexts ([#&#8203;433](https://redirect.github.com/apple/swift-collections/issues/433))
    -   Building on OpenBSD no longer requires `ManagedBuffer.capacity` ([#&#8203;456](https://redirect.github.com/apple/swift-collections/issues/456))

This version supports Swift toolchain versions 5.10, 6.0 and 6.1.

#### What's Changed

-   Set up release/1.2 branch by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/423](https://redirect.github.com/apple/swift-collections/pull/423)
-   Optimize unspecialized `OrderedSet.init` and `OrderedSet.firstIndex(of:)` by [@&#8203;dnadoba](https://redirect.github.com/dnadoba) in [https://github.com/apple/swift-collections/pull/433](https://redirect.github.com/apple/swift-collections/pull/433)
-   fix amd64 support by [@&#8203;michael-yuji](https://redirect.github.com/michael-yuji) in [https://github.com/apple/swift-collections/pull/447](https://redirect.github.com/apple/swift-collections/pull/447)
-   \[cmake] Install libraries in standard directories by [@&#8203;Steelskin](https://redirect.github.com/Steelskin) in [https://github.com/apple/swift-collections/pull/446](https://redirect.github.com/apple/swift-collections/pull/446)
-   \[1.2]\[OrderedDictionary] fix a typo by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/449](https://redirect.github.com/apple/swift-collections/pull/449)
-   \[release/1.2] \[CI] Add support for GitHub Actions by [@&#8203;shahmishal](https://redirect.github.com/shahmishal) in [https://github.com/apple/swift-collections/pull/453](https://redirect.github.com/apple/swift-collections/pull/453)
-   Reimplement `_specialize(_:for:)` for the 5.9 stdlib by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/472](https://redirect.github.com/apple/swift-collections/pull/472)
-   Add .editorconfig by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/471](https://redirect.github.com/apple/swift-collections/pull/471)
-   Cherry pick recent PRs destined for 1.2 by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/473](https://redirect.github.com/apple/swift-collections/pull/473)
-   Drop support for the Swift 5.9.\* toolchains by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/475](https://redirect.github.com/apple/swift-collections/pull/475)
-   \[Rope] Resolve deprecation warnings on `String.Index._description` by [@&#8203;lorentey](https://redirect.github.com/lorentey) in [https://github.com/apple/swift-collections/pull/474](https://redirect.github.com/apple/swift-collections/pull/474)

#### New Contributors

-   [@&#8203;dnadoba](https://redirect.github.com/dnadoba) made their first contribution in [https://github.com/apple/swift-collections/pull/433](https://redirect.github.com/apple/swift-collections/pull/433)
-   [@&#8203;michael-yuji](https://redirect.github.com/michael-yuji) made their first contribution in [https://github.com/apple/swift-collections/pull/447](https://redirect.github.com/apple/swift-collections/pull/447)
-   [@&#8203;Steelskin](https://redirect.github.com/Steelskin) made their first contribution in [https://github.com/apple/swift-collections/pull/446](https://redirect.github.com/apple/swift-collections/pull/446)

**Full Changelog**: https://github.com/apple/swift-collections/compare/1.1.4...1.2.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4xNi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMTYuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
2025-05-20 03:45:19 +00:00
renovate
5d2b3e9c4b chore: bump up apollographql/apollo-ios version to v1.21.0 (#12076)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | minor | `from: "1.20.0"` -> `from: "1.21.0"` |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | minor | `1.20.0` -> `1.21.0` |

---

### Release Notes

<details>
<summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary>

### [`v1.21.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1210)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.20.0...1.21.0)

##### New

-   **Enhanced Client Awareness ([#&#8203;638](https://redirect.github.com/apollographql/apollo-ios-dev/pull/638)):** Apollo iOS now sends the library name and version as metadata in the `extensions` key of each request. This Enhanced Client Awareness metric is collected in GraphOS along with the existing Client Awareness and general operation metrics.

##### Improvement

-   **Removed SQLite.swift dependency ([#&#8203;635](https://redirect.github.com/apollographql/apollo-ios-dev/pull/635)):** Removed the dependency on `SQLite.swift` and replaced it with direct interaction with the SQLite C API.

##### Fixed

-   **Fix possible data races in the WebSocketTransport ([#&#8203;636](https://redirect.github.com/apollographql/apollo-ios-dev/pull/636)):** Fixes possible data race issues in the `subscriptions` property inside of `WebSocketTransport`. *Thank you to [@&#8203;tahirmt](https://redirect.github.com/tahirmt) for the contribution.*
-   **Fix cache reading of null list items ([#&#8203;3527](https://redirect.github.com/apollographql/apollo-ios/issues/3527)):** Null list items would previously generate a `wrongType` error if stored and read from the cache. This refactors the execution logic to correctly handle values from cache references in lists. See PR [#&#8203;637](https://redirect.github.com/apollographql/apollo-ios-dev/pull/637).

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/toeverything/AFFiNE).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNTcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI1Ny4zIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-05-08 03:29:33 +00:00
darkskygit
597b27c22f feat(server): enable web search for 4.1 (#11825) 2025-04-22 14:49:46 +00:00
renovate[bot]
f82f213373 chore: bump up apollographql/apollo-ios version to v1.20.0 (#11830)
Co-authored-by: renovate <29139614+renovate@users.noreply.github.com>
2025-04-21 10:25:17 +08:00
renovate[bot]
0f7a739b3b chore: bump up all non-major dependencies (#11351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: LongYinan <lynweklm@gmail.com>
2025-04-04 18:37:22 +08:00
Lakr
032244ae61 feat(ios): translate & continue to chat & clear history (#11347) 2025-04-01 18:03:48 +08:00
renovate
efab5d4270 chore: bump up all non-major dependencies (#11215)
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence | Type | Update |
|---|---|---|---|---|---|---|---|
| [@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.775.0` -> `3.777.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.775.0/3.777.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@aws-sdk%2fclient-s3/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@aws-sdk%2fclient-s3/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@aws-sdk%2fclient-s3/3.775.0/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@aws-sdk%2fclient-s3/3.775.0/3.777.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@graphql-codegen/typescript](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/typescript)) | [`4.1.5` -> `4.1.6`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript/4.1.5/4.1.6) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript/4.1.5/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript/4.1.5/4.1.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@graphql-codegen/typescript-operations](https://redirect.github.com/dotansimha/graphql-code-generator) ([source](https://redirect.github.com/dotansimha/graphql-code-generator/tree/HEAD/packages/plugins/typescript/operations)) | [`4.5.1` -> `4.6.0`](https://renovatebot.com/diffs/npm/@graphql-codegen%2ftypescript-operations/4.5.1/4.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@graphql-codegen%2ftypescript-operations/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@graphql-codegen%2ftypescript-operations/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@graphql-codegen%2ftypescript-operations/4.5.1/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@graphql-codegen%2ftypescript-operations/4.5.1/4.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.2.2` -> `3.2.4`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/3.2.2/3.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fesbuild-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fesbuild-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.9.0` -> `9.10.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.9.0/9.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [@sentry/react](https://redirect.github.com/getsentry/sentry-javascript/tree/master/packages/react) ([source](https://redirect.github.com/getsentry/sentry-javascript)) | [`9.9.0` -> `9.10.0`](https://renovatebot.com/diffs/npm/@sentry%2freact/9.9.0/9.10.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2freact/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2freact/9.9.0/9.10.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@sentry/webpack-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/webpack-plugin) ([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins)) | [`3.2.2` -> `3.2.4`](https://renovatebot.com/diffs/npm/@sentry%2fwebpack-plugin/3.2.2/3.2.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fwebpack-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@sentry%2fwebpack-plugin/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@sentry%2fwebpack-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fwebpack-plugin/3.2.2/3.2.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@slack/web-api](https://tools.slack.dev/node-slack-sdk/web-api) ([source](https://redirect.github.com/slackapi/node-slack-sdk)) | [`7.9.0` -> `7.9.1`](https://renovatebot.com/diffs/npm/@slack%2fweb-api/7.9.0/7.9.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@slack%2fweb-api/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@slack%2fweb-api/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@slack%2fweb-api/7.9.0/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@slack%2fweb-api/7.9.0/7.9.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@storybook/addon-essentials](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/essentials) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-essentials/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-essentials/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-essentials/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-essentials/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-interactions](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/interactions) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-interactions/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-interactions/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-interactions/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-interactions/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-links](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/links) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/links)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-links/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-links/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-links/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-links/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/addon-mdx-gfm](https://redirect.github.com/storybookjs/storybook/tree/next/code/addons/gfm) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/addons/gfm)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2faddon-mdx-gfm/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2faddon-mdx-gfm/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2faddon-mdx-gfm/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2faddon-mdx-gfm/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2faddon-mdx-gfm/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react](https://redirect.github.com/storybookjs/storybook/tree/next/code/renderers/react) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/renderers/react)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2freact/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@storybook/react-vite](https://redirect.github.com/storybookjs/storybook/tree/next/code/frameworks/react-vite) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/@storybook%2freact-vite/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@storybook%2freact-vite/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@storybook%2freact-vite/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@storybook%2freact-vite/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@storybook%2freact-vite/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/mixpanel-browser](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mixpanel-browser) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mixpanel-browser)) | [`2.51.0` -> `2.54.0`](https://renovatebot.com/diffs/npm/@types%2fmixpanel-browser/2.51.0/2.54.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmixpanel-browser/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmixpanel-browser/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmixpanel-browser/2.51.0/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmixpanel-browser/2.51.0/2.54.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.13` -> `22.13.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.13/22.13.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`22.13.13` -> `22.13.14`](https://renovatebot.com/diffs/npm/@types%2fnode/22.13.13/22.13.14) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/22.13.13/22.13.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [@types/semver](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/semver) ([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver)) | [`7.5.8` -> `7.7.0`](https://renovatebot.com/diffs/npm/@types%2fsemver/7.5.8/7.7.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fsemver/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fsemver/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fsemver/7.5.8/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fsemver/7.5.8/7.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor |
| [ai](https://sdk.vercel.ai/docs) ([source](https://redirect.github.com/vercel/ai)) | [`4.2.5` -> `4.2.8`](https://renovatebot.com/diffs/npm/ai/4.2.5/4.2.8) | [![age](https://developer.mend.io/api/mc/badges/age/npm/ai/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/ai/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/ai/4.2.5/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/ai/4.2.5/4.2.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `from: "1.18.0"` -> `from: "1.19.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios.git/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios) | `1.18.0` -> `1.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fapollographql%2fapollo-ios/1.18.0/1.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [bullmq](https://bullmq.io/) ([source](https://redirect.github.com/taskforcesh/bullmq)) | [`5.44.4` -> `5.45.0`](https://renovatebot.com/diffs/npm/bullmq/5.44.4/5.45.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/bullmq/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/bullmq/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/bullmq/5.44.4/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/bullmq/5.44.4/5.45.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [electron](https://redirect.github.com/electron/electron) | [`35.1.0` -> `35.1.2`](https://renovatebot.com/diffs/npm/electron/35.1.0/35.1.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron/35.1.0/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron/35.1.0/35.1.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [electron-log](https://redirect.github.com/megahertz/electron-log) | [`5.3.2` -> `5.3.3`](https://renovatebot.com/diffs/npm/electron-log/5.3.2/5.3.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/electron-log/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/electron-log/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/electron-log/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/electron-log/5.3.2/5.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [eventsource-parser](https://redirect.github.com/rexxars/eventsource-parser) | [`3.0.0` -> `3.0.1`](https://renovatebot.com/diffs/npm/eventsource-parser/3.0.0/3.0.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eventsource-parser/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eventsource-parser/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eventsource-parser/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eventsource-parser/3.0.0/3.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [mixpanel-browser](https://redirect.github.com/mixpanel/mixpanel-js) | [`2.61.2` -> `2.62.0`](https://renovatebot.com/diffs/npm/mixpanel-browser/2.61.2/2.62.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/mixpanel-browser/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/mixpanel-browser/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/mixpanel-browser/2.61.2/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/mixpanel-browser/2.61.2/2.62.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [nestjs-cls](https://papooch.github.io/nestjs-cls/) ([source](https://redirect.github.com/Papooch/nestjs-cls)) | [`5.4.1` -> `5.4.2`](https://renovatebot.com/diffs/npm/nestjs-cls/5.4.1/5.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/nestjs-cls/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/nestjs-cls/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/nestjs-cls/5.4.1/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nestjs-cls/5.4.1/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [once_cell](https://redirect.github.com/matklad/once_cell) | `1.21.1` -> `1.21.2` | [![age](https://developer.mend.io/api/mc/badges/age/crate/once_cell/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/crate/once_cell/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/crate/once_cell/1.21.1/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/crate/once_cell/1.21.1/1.21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | workspace.dependencies | patch |
| [openai](https://redirect.github.com/openai/openai-node) | [`4.89.0` -> `4.90.0`](https://renovatebot.com/diffs/npm/openai/4.89.0/4.90.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/openai/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/openai/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/openai/4.89.0/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/openai/4.89.0/4.90.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [sonner](https://sonner.emilkowal.ski/) ([source](https://redirect.github.com/emilkowalski/sonner)) | [`2.0.1` -> `2.0.2`](https://renovatebot.com/diffs/npm/sonner/2.0.1/2.0.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/sonner/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/sonner/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/sonner/2.0.1/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/sonner/2.0.1/2.0.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [storybook](https://redirect.github.com/storybookjs/storybook/tree/next/code/lib/cli) ([source](https://redirect.github.com/storybookjs/storybook/tree/HEAD/code/lib/cli)) | [`8.6.9` -> `8.6.11`](https://renovatebot.com/diffs/npm/storybook/8.6.9/8.6.11) | [![age](https://developer.mend.io/api/mc/badges/age/npm/storybook/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/storybook/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/storybook/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/storybook/8.6.9/8.6.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch |
| [swiftlang/swift-cmark](https://redirect.github.com/swiftlang/swift-cmark) | `from: "0.4.0"` -> `from: "0.5.0"` | [![age](https://developer.mend.io/api/mc/badges/age/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.4.0/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/git-tags/https:%2f%2fgithub.com%2fswiftlang%2fswift-cmark/0.4.0/0.5.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) |  | minor |
| [undici](https://undici.nodejs.org) ([source](https://redirect.github.com/nodejs/undici)) | [`7.5.0` -> `7.6.0`](https://renovatebot.com/diffs/npm/undici/7.5.0/7.6.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/undici/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/undici/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/undici/7.5.0/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/undici/7.5.0/7.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor |
| [webm-muxer](https://redirect.github.com/Vanilagy/webm-muxer) | [`5.1.0` -> `5.1.1`](https://renovatebot.com/diffs/npm/webm-muxer/5.1.0/5.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webm-muxer/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webm-muxer/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webm-muxer/5.1.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webm-muxer/5.1.0/5.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [webpack-dev-server](https://redirect.github.com/webpack/webpack-dev-server) | [`5.2.0` -> `5.2.1`](https://renovatebot.com/diffs/npm/webpack-dev-server/5.2.0/5.2.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack-dev-server/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack-dev-server/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack-dev-server/5.2.0/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack-dev-server/5.2.0/5.2.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch |
| [yarn](https://redirect.github.com/yarnpkg/berry) ([source](https://redirect.github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | [`4.7.0` -> `4.8.0`](https://renovatebot.com/diffs/npm/yarn/4.7.0/4.8.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@yarnpkg%2fcli/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@yarnpkg%2fcli/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@yarnpkg%2fcli/4.7.0/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@yarnpkg%2fcli/4.7.0/4.8.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | packageManager | minor |

---

### Release Notes

<details>
<summary>aws/aws-sdk-js-v3 (@&#8203;aws-sdk/client-s3)</summary>

### [`v3.777.0`](https://redirect.github.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#37770-2025-03-27)

[Compare Source](https://redirect.github.com/aws/aws-sdk-js-v3/compare/v3.775.0...v3.777.0)

**Note:** Version bump only for package [@&#8203;aws-sdk/client-s3](https://redirect.github.com/aws-sdk/client-s3)

</details>

<details>
<summary>dotansimha/graphql-code-generator (@&#8203;graphql-codegen/typescript)</summary>

### [`v4.1.6`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/typescript/CHANGELOG.md#416)

[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript@4.1.5...@graphql-codegen/typescript@4.1.6)

##### Patch Changes

-   Updated dependencies \[[`f6909d1`](f6909d1797)]:
    -   [@&#8203;graphql-codegen/visitor-plugin-common](https://redirect.github.com/graphql-codegen/visitor-plugin-common)[@&#8203;5](https://redirect.github.com/5).8.0

</details>

<details>
<summary>dotansimha/graphql-code-generator (@&#8203;graphql-codegen/typescript-operations)</summary>

### [`v4.6.0`](https://redirect.github.com/dotansimha/graphql-code-generator/blob/HEAD/packages/plugins/typescript/operations/CHANGELOG.md#460)

[Compare Source](https://redirect.github.com/dotansimha/graphql-code-generator/compare/@graphql-codegen/typescript-operations@4.5.1...@graphql-codegen/typescript-operations@4.6.0)

##### Minor Changes

-   [#&#8203;10323](https://redirect.github.com/dotansimha/graphql-code-generator/pull/10323) [`f3cf4df`](f3cf4df358) Thanks [@&#8203;eddeee888](https://redirect.github.com/eddeee888)! - Add support for `nullability.errorHandlingClient`. This allows clients to get stronger types with [semantic nullability](https://redirect.github.com/graphql/graphql-wg/blob/main/rfcs/SemanticNullability.md)-enabled schemas.

##### Patch Changes

-   Updated dependencies \[[`f6909d1`](f6909d1797)]:
    -   [@&#8203;graphql-codegen/visitor-plugin-common](https://redirect.github.com/graphql-codegen/visitor-plugin-common)[@&#8203;5](https://redirect.github.com/5).8.0
    -   [@&#8203;graphql-codegen/typescript](https://redirect.github.com/graphql-codegen/typescript)[@&#8203;4](https://redirect.github.com/4).1.6

</details>

<details>
<summary>getsentry/sentry-javascript-bundler-plugins (@&#8203;sentry/esbuild-plugin)</summary>

### [`v3.2.4`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#324)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.2.3...3.2.4)

-   Revert "feat(core): Use path instead of debug IDs as artifact names for debug ID upload ([#&#8203;700](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/700))" ([#&#8203;709](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/709))
-   ref: Remove deprecated use of `useArtifacBundles` ([#&#8203;707](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/707))

### [`v3.2.3`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#323)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.2.2...3.2.3)

-   feat(core): Use path instead of debug IDs as artifact names for debug ID upload ([#&#8203;700](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/700))
-   feat(webpack): Primarily use `contentHash` for debug ID hash ([#&#8203;702](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/702))
-   feat: Detect Vercel commits and env ([#&#8203;694](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/694))
-   feat: Default to automatically setting commits on release ([#&#8203;692](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/issues/692))

</details>

<details>
<summary>getsentry/sentry-javascript (@&#8203;sentry/react)</summary>

### [`v9.10.0`](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.10.0)

[Compare Source](https://redirect.github.com/getsentry/sentry-javascript/compare/9.9.0...9.10.0)

##### Important Changes

-   **feat: Add support for logs**

    -   feat(node): Add logging public APIs to Node SDKs ([#&#8203;15764](https://redirect.github.com/getsentry/sentry-javascript/pull/15764))
    -   feat(core): Add support for `beforeSendLog` ([#&#8203;15814](https://redirect.github.com/getsentry/sentry-javascript/pull/15814))
    -   feat(core): Add support for parameterizing logs ([#&#8203;15812](https://redirect.github.com/getsentry/sentry-javascript/pull/15812))
    -   fix: Remove critical log severity level ([#&#8203;15824](https://redirect.github.com/getsentry/sentry-javascript/pull/15824))

    All JavaScript SDKs other than `@sentry/cloudflare` and `@sentry/deno` now support sending logs via dedicated methods as part of Sentry's [upcoming logging product](https://redirect.github.com/getsentry/sentry/discussions/86804).

    Logging is gated by an experimental option, `_experiments.enableLogs`.

    ```js
    Sentry.init({
      dsn: 'PUBLIC_DSN',
      // `enableLogs` must be set to true to use the logging features
      _experiments: { enableLogs: true },
    });

    const { trace, debug, info, warn, error, fatal, fmt } = Sentry.logger;

    trace('Starting database connection', { database: 'users' });
    debug('Cache miss for user', { userId: 123 });
    error('Failed to process payment', { orderId: 'order_123', amount: 99.99 });
    fatal('Database connection pool exhausted', { database: 'users', activeConnections: 100 });

    // Structured logging via the `fmt` helper function. When you use `fmt`, the string template and parameters are sent separately so they can be queried independently in Sentry.

    info(fmt(`Updated profile for user ${userId}`));
    warn(fmt(`Rate limit approaching for endpoint ${endpoint}. Requests: ${requests}, Limit: ${limit}`));
    ```

    With server-side SDKs like `@sentry/node`, `@sentry/bun` or server-side of `@sentry/nextjs` or `@sentry/sveltekit`, you can do structured logging without needing the `fmt` helper function.

    ```js
    const { info, warn } = Sentry.logger;

    info('User %s logged in successfully', [123]);
    warn('Failed to load user %s data', [123], { errorCode: 404 });
    ```

    To filter logs, or update them before they are sent to Sentry, you can use the `_experiments.beforeSendLog` option.

-   **feat(browser): Add `diagnoseSdkConnectivity()` function to programmatically detect possible connectivity issues ([#&#8203;15821](https://redirect.github.com/getsentry/sentry-javascript/pull/15821))**

    The `diagnoseSdkConnectivity()` function can be used to programmatically detect possible connectivity issues with the Sentry SDK.

    ```js
    const result = await Sentry.diagnoseSdkConnectivity();
    ```

    The result will be an object with the following properties:

    -   `"no-client-active"`: There was no active client when the function was called. This possibly means that the SDK was not initialized yet.
    -   `"sentry-unreachable"`: The Sentry SaaS servers were not reachable. This likely means that there is an ad blocker active on the page or that there are other connection issues.
    -   `undefined`: The SDK is working as expected.

-   **SDK Tracing Performance Improvements for Node SDKs**

    -   feat: Stop using `dropUndefinedKeys` ([#&#8203;15796](https://redirect.github.com/getsentry/sentry-javascript/pull/15796))
    -   feat(node): Only add span listeners for instrumentation when used ([#&#8203;15802](https://redirect.github.com/getsentry/sentry-javascript/pull/15802))
    -   ref: Avoid `dropUndefinedKeys` for `spanToJSON` calls ([#&#8203;15792](https://redirect.github.com/getsentry/sentry-javascript/pull/15792))
    -   ref: Avoid using `SentryError` for PromiseBuffer control flow ([#&#8203;15822](https://redirect.github.com/getsentry/sentry-javascript/pull/15822))
    -   ref: Stop using `dropUndefinedKeys` in SpanExporter ([#&#8203;15794](https://redirect.github.com/getsentry/sentry-javascript/pull/15794))
    -   ref(core): Avoid using `SentryError` for event processing control flow ([#&#8203;15823](https://redirect.github.com/getsentry/sentry-javascript/pull/15823))
    -   ref(node): Avoid `dropUndefinedKeys` in Node SDK init ([#&#8203;15797](https://redirect.github.com/getsentry/sentry-javascript/pull/15797))
    -   ref(opentelemetry): Avoid sampling work for non-root spans ([#&#8203;15820](https://redirect.github.com/getsentry/sentry-javascript/pull/15820))

    We've been hard at work making performance improvements to the Sentry Node SDKs (`@sentry/node`, `@sentry/aws-serverless`, `@sentry/nestjs`, etc.). We've seen that upgrading from `9.7.0` to `9.10.0` leads to 30-40% improvement in request latency for HTTP web-server applications that use tracing with high sample rates. Non web-server applications and non-tracing applications will see smaller improvements.

##### Other Changes

-   chore(deps): Bump `rrweb` to `2.35.0` ([#&#8203;15825](https://redirect.github.com/getsentry/sentry-javascript/pull/15825))
-   deps: Bump bundler plugins to `3.2.3` ([#&#8203;15829](https://redirect.github.com/getsentry/sentry-javascript/pull/15829))
-   feat: Always truncate stored breadcrumb messages to 2kb ([#&#8203;15819](https://redirect.github.com/getsentry/sentry-javascript/pull/15819))
-   feat(nextjs): Disable server webpack-handling for static builds ([#&#8203;15751](https://redirect.github.com/getsentry/sentry-javascript/pull/15751))
-   fix(nuxt): Don't override Nuxt options if undefined ([#&#8203;15795](https://redirect.github.com/getsentry/sentry-javascript/pull/15795))

#### Bundle size 📦

| Path                                                             | Size              |
| ---------------------------------------------------------------- | ----------------- |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser)                                                  | 23.08 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) - with treeshaking flags                         | 22.88 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing)                                  | 36.49 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay)                          | 73.65 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay) - with treeshaking flags | 67 KB     |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay with Canvas)              | 78.3 KB   |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Tracing, Replay, Feedback)                | 90.87 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. Feedback)                                 | 40.21 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. sendFeedback)                             | 27.71 KB  |
| [@&#8203;sentry/browser](https://redirect.github.com/sentry/browser) (incl. FeedbackAsync)                            | 32.5 KB   |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react)                                                    | 24.86 KB  |
| [@&#8203;sentry/react](https://redirect.github.com/sentry/react) (incl. Tracing)                                    | 38.39 KB  |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue)                                                      | 27.3 KB   |
| [@&#8203;sentry/vue](https://redirect.github.com/sentry/vue) (incl. Tracing)                                      | 38.18 KB  |
| [@&#8203;sentry/svelte](https://redirect.github.com/sentry/svelte)                                                   | 23.12 KB  |
| CDN Bundle                                                       | 24.33 KB  |
| CDN Bundle (incl. Tracing)                                       | 36.51 KB  |
| CDN Bundle (incl. Tracing, Replay)                               | 71.53 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback)                     | 76.71 KB  |
| CDN Bundle - uncompressed                                        | 70.93 KB  |
| CDN Bundle (incl. Tracing) - uncompressed                        | 108.11 KB |
| CDN Bundle (incl. Tracing, Replay) - uncompressed                | 219.4 KB  |
| CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed      | 231.97 KB |
| [@&#8203;sentry/nextjs](https://redirect.github.com/sentry/nextjs) (client)                                          | 39.68 KB  |
| [@&#8203;sentry/sveltekit](https://redirect.github.com/sentry/sveltekit) (client)                                       | 36.92 KB  |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node)                                                     | 142.91 KB |
| [@&#8203;sentry/node](https://redirect.github.com/sentry/node) - without tracing                                   | 96.12 KB  |
| [@&#8203;sentry/aws-serverless](https://redirect.github.com/sentry/aws-serverless)                                           | 120.46 KB |

</details>

<details>
<summary>slackapi/node-slack-sdk (@&#8203;slack/web-api)</summary>

### [`v7.9.1`](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.9.0...@slack/web-api@7.9.1)

[Compare Source](https://redirect.github.com/slackapi/node-slack-sdk/compare/@slack/web-api@7.9.0...@slack/web-api@7.9.1)

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-essentials)</summary>

### [`v8.6.11`](https://redirect.github.com/storybookjs/storybook/compare/v8.6.10...2afd30d75089f27a8029a1ac320d7698873b163f)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.10...v8.6.11)

### [`v8.6.10`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#8610)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.9...v8.6.10)

-   Addon-docs: Fix non-string handling in Stories block - [#&#8203;30913](https://redirect.github.com/storybookjs/storybook/pull/30913), thanks [@&#8203;JamesIves](https://redirect.github.com/JamesIves)!
-   Nextjs: Fix styled-jsx optimize vite warnings - [#&#8203;30932](https://redirect.github.com/storybookjs/storybook/pull/30932), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   React: Fix actImplementation is not a function - [#&#8203;30929](https://redirect.github.com/storybookjs/storybook/pull/30929), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!

</details>

<details>
<summary>storybookjs/storybook (@&#8203;storybook/addon-interactions)</summary>

### [`v8.6.11`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#8611)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.10...v8.6.11)

-   Angular: Fix zone.js support for Angular libraries - [#&#8203;30941](https://redirect.github.com/storybookjs/storybook/pull/30941), thanks [@&#8203;valentinpalkovic](https://redirect.github.com/valentinpalkovic)!

### [`v8.6.10`](https://redirect.github.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#8610)

[Compare Source](https://redirect.github.com/storybookjs/storybook/compare/v8.6.9...v8.6.10)

-   Addon-docs: Fix non-string handling in Stories block - [#&#8203;30913](https://redirect.github.com/storybookjs/storybook/pull/30913), thanks [@&#8203;JamesIves](https://redirect.github.com/JamesIves)!
-   Nextjs: Fix styled-jsx optimize vite warnings - [#&#8203;30932](https://redirect.github.com/storybookjs/storybook/pull/30932), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!
-   React: Fix actImplementation is not a function - [#&#8203;30929](https://redirect.github.com/storybookjs/storybook/pull/30929), thanks [@&#8203;kasperpeulen](https://redirect.github.com/kasperpeulen)!

</details>

<details>
<summary>vercel/ai (ai)</summary>

### [`v4.2.8`](https://redirect.github.com/vercel/ai/releases/tag/ai%404.2.8)

[Compare Source](https://redirect.github.com/vercel/ai/compare/ai@4.2.7...ai@4.2.8)

##### Patch Changes

-   [`65243ce`](https://redirect.github.com/vercel/ai/commit/65243ce): fix (ui): introduce step start parts
-   Updated dependencies \[[`65243ce`](https://redirect.github.com/vercel/ai/commit/65243ce)]
    -   [@&#8203;ai-sdk/ui-utils](https://redirect.github.com/ai-sdk/ui-utils)[@&#8203;1](https://redirect.github.com/1).2.2
    -   [@&#8203;ai-sdk/react](https://redirect.github.com/ai-sdk/react)[@&#8203;1](https://redirect.github.com/1).2.3

### [`v4.2.7`](https://redirect.github.com/vercel/ai/releases/tag/ai%404.2.7)

[Compare Source](https://redirect.github.com/vercel/ai/compare/ai@4.2.6...ai@4.2.7)

##### Patch Changes

-   [`e14c066`](https://redirect.github.com/vercel/ai/commit/e14c066): fix (ai/core): convert user ui messages with only parts (no content) to core messages

### [`v4.2.6`](https://redirect.github.com/vercel/ai/releases/tag/ai%404.2.6)

[Compare Source](https://redirect.github.com/vercel/ai/compare/ai@4.2.5...ai@4.2.6)

##### Patch Changes

-   [`625591b`](https://redirect.github.com/vercel/ai/commit/625591b): feat (ai/core): auto-complete for provider registry
-   [`6a1506f`](https://redirect.github.com/vercel/ai/commit/6a1506f): feat (ai/core): custom separator support for provider registry
-   [`ea3d998`](https://redirect.github.com/vercel/ai/commit/ea3d998): chore (ai/core): move provider registry to stable

</details>

<details>
<summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary>

### [`v1.19.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1190)

[Compare Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.18.0...1.19.0)

##### New

-   **New function to mutate the properties of a local cache mutation fragment. ([#&#8203;3433](https://redirect.github.com/apollographql/apollo-ios/issues/3443)):** Removal of the setter for type conditions made it difficult to work with the properties on those types. A new `mutateIfFulfilled` function was added to facilitate that workflow while still preventing a fragment from being added or removed from an existing model. See PR [#&#8203;608](https://redirect.github.com/apollographql/apollo-ios-dev/pull/608).
-   **Configure `URLRequest` timeout interval ([#&#8203;3522](https://redirect.github.com/apollographql/apollo-ios/issues/3522)):** Added a request context specialization protocol (`RequestContextTimeoutConfigurable`) that specifies options for configuring the timeout interval of a `URLRequest`. See PR [#&#8203;618](https://redirect.github.com/apollographql/apollo-ios-dev/pull/618).

</details>

<details>
<summary>taskforcesh/bullmq (bullmq)</summary>

### [`v5.45.0`](https://redirect.github.com/taskforcesh/bullmq/releases/tag/v5.45.0)

[Compare Source](https://redirect.github.com/taskforcesh/bullmq/compare/v5.44.4...v5.45.0)

##### Features

-   add deduplicated job id to the deduplicated event ([0f21c10](0f21c10bc9))

</details>

<details>
<summary>electron/electron (electron)</summary>

### [`v35.1.2`](https://redirect.github.com/electron/electron/releases/tag/v35.1.2): electron v35.1.2

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.1.1...v35.1.2)

### Release Notes for v35.1.2

#### Fixes

-   Fixed an issue where `navigationHistory.restore()` failed to restore the `userAgent` if it was overridden. [#&#8203;46300](https://redirect.github.com/electron/electron/pull/46300) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46298), [36](https://redirect.github.com/electron/electron/pull/46299))</span>

#### Other Changes

-   Security: backported fix for CVE-2025-2783. [#&#8203;46303](https://redirect.github.com/electron/electron/pull/46303)
-   Updated Chromium to 134.0.6998.178. [#&#8203;46287](https://redirect.github.com/electron/electron/pull/46287)

### [`v35.1.1`](https://redirect.github.com/electron/electron/releases/tag/v35.1.1): electron v35.1.1

[Compare Source](https://redirect.github.com/electron/electron/compare/v35.1.0...v35.1.1)

### Release Notes for v35.1.1

#### Fixes

-   Fixed build failure when building with printing disabled. [#&#8203;46285](https://redirect.github.com/electron/electron/pull/46285) <span style="font-size:small;">(Also in [34](https://redirect.github.com/electron/electron/pull/46286), [36](https://redirect.github.com/electron/electron/pull/46284))</span>

</details>

<details>
<summary>megahertz/electron-log (electron-log)</summary>

### [`v5.3.3`](https://redirect.github.com/megahertz/electron-log/compare/v5.3.2...v5.3.3)

[Compare Source](https://redirect.github.com/megahertz/electron-log/compare/v5.3.2...v5.3.3)

</details>

<details>
<summary>rexxars/eventsource-parser (eventsource-parser)</summary>

### [`v3.0.1`](https://redirect.github.com/rexxars/eventsource-parser/blob/HEAD/CHANGELOG.md#301-2025-03-27)

[Compare Source](https://redirect.github.com/rexxars/eventsource-parser/compare/v3.0.0...v3.0.1)

##### Bug Fixes

-   optimize `splitLines` function ([8952917](8952917a6f))
-   throw helpful error if passing function to `createParser()` ([4cd3a44](4cd3a443f2))

</details>

<details>
<summary>mixpanel/mixpanel-js (mixpanel-browser)</summary>

### [`v2.62.0`](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.61.2...3e3d5731642dd3e3ac543521155d3c51c8a37261)

[Compare Source](https://redirect.github.com/mixpanel/mixpanel-js/compare/v2.61.2...v2.62.0)

</details>

<details>
<summary>Papooch/nestjs-cls (nestjs-cls)</summary>

### [`v5.4.2`](https://redirect.github.com/Papooch/nestjs-cls/releases/tag/nestjs-cls%405.4.2)

[Compare Source](https://redirect.github.com/Papooch/nestjs-cls/compare/nestjs-cls@5.4.1...nestjs-cls@5.4.2)

##### Bug Fixes

-   **core**: un-deprecate wrongly deprecated parts of the plugin API ([#&#8203;228](https://redirect.github.com/Papooch/nestjs-cls/issues/228)) ([11ca429](https://redirect.github.com/Papooch/nestjs-cls/commits/11ca429))

</details>

<details>
<summary>matklad/once_cell (once_cell)</summary>

### [`v1.21.2`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1212)

[Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.1...v1.21.2)

-   Relax success ordering from AcqRel to Release in `race`: [#&#8203;278](https://redirect.github.com/matklad/once_cell/pull/278).

</details>

<details>
<summary>openai/openai-node (openai)</summary>

### [`v4.90.0`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4900-2025-03-27)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.89.1...v4.90.0)

Full Changelog: [v4.89.1...v4.90.0](https://redirect.github.com/openai/openai-node/compare/v4.89.1...v4.90.0)

##### Features

-   **api:** add `get /chat/completions` endpoint ([2d6710a](2d6710a1f9))

##### Bug Fixes

-   **audio:** correctly handle transcription streaming ([2a9b603](2a9b60336c))
-   **internal:** work around [https://github.com/vercel/next.js/issues/76881](https://redirect.github.com/vercel/next.js/issues/76881) ([#&#8203;1427](https://redirect.github.com/openai/openai-node/issues/1427)) ([b467e94](b467e94947))

##### Chores

-   add hash of OpenAPI spec/config inputs to .stats.yml ([45db35e](45db35e34b))
-   **api:** updates to supported Voice IDs ([#&#8203;1424](https://redirect.github.com/openai/openai-node/issues/1424)) ([404f4db](404f4db41a))
-   **client:** expose headers on some streaming errors ([#&#8203;1423](https://redirect.github.com/openai/openai-node/issues/1423)) ([b0783cc](b0783cc622))

### [`v4.89.1`](https://redirect.github.com/openai/openai-node/blob/HEAD/CHANGELOG.md#4891-2025-03-26)

[Compare Source](https://redirect.github.com/openai/openai-node/compare/v4.89.0...v4.89.1)

Full Changelog: [v4.89.0...v4.89.1](https://redirect.github.com/openai/openai-node/compare/v4.89.0...v4.89.1)

##### Bug Fixes

-   avoid type error in certain environments ([#&#8203;1413](https://redirect.github.com/openai/openai-node/issues/1413)) ([d3f6f8f](d3f6f8f9c7))
-   **client:** remove duplicate types ([#&#8203;1410](https://redirect.github.com/openai/openai-node/issues/1410)) ([338878b](338878bf48))
-   **exports:** add missing type exports ([#&#8203;1417](https://redirect.github.com/openai/openai-node/issues/1417)) ([2d15ada](2d15ada0e0))

##### Chores

-   **internal:** version bump ([#&#8203;1408](https://redirect.github.com/openai/openai-node/issues/1408)) ([9c0949a](9c0949a93c))

</details>

<details>
<summary>emilkowalski/sonner (sonner)</summary>

### [`v2.0.2`](https://redirect.github.com/emilkowalski/sonner/releases/tag/v2.0.2)

[Compare Source](https://redirect.github.com/emilkowalski/sonner/compare/v2.0.1...v2.0.2)

#### What's Changed

-   fix: isExtendedResult. Check if promiseData is an object and not a valid React Element by [@&#8203;diegotraid](https://redirect.github.com/diegotraid) in [https://github.com/emilkowalski/sonner/pull/595](https://redirect.github.com/emilkowalski/sonner/pull/595)
-   fix: toast.dismiss without an id doesn't dismiss by [@&#8203;emilkowalski](https://redirect.github.com/emilkowalski) in [https://github.com/emilkowalski/sonner/pull/609](https://redirect.github.com/emilkowalski/sonner/pull/609)
-   f

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->
2025-03-28 13:44:55 +00:00
Lakr
08ee84e697 feat(ios): update dependencies to track upstream repository (#11143) 2025-03-28 14:12:06 +08:00
EYHN
c1b3e25fc7 chore(ios): optimize build workflow (#11132) 2025-03-24 14:32:45 +00:00