mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-04 08:38:34 +00:00
5041578768dfad249d7af00ade8fdb2501572786
6931 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b8f626513f |
feat: disable high power consumption without charger (#14281)
Co-authored-by: DarkSky <darksky2048@gmail.com> |
||
|
|
3b4b0bad22 | feat: improve admin panel styles (#14318) | ||
|
|
27ed15a83e |
fix: chat session cannot delete (#14312)
fix #14309 #### PR Dependency Tree * **PR #14312** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added AI chat session deletion with confirmation dialogs and success/failure notifications. * Localized AI chat panel labels, loading messages, and session management text across multiple languages. * **Documentation** * Added internationalization support for chat panel titles, history loading states, and deletion confirmations. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
ecc98573eb |
fix: safe cookie parsing (#14292)
# Summary
This PR fixes a server-side cookie parsing edge case where malformed
cookie values throw `URI malformed`, causing socket.io auth to fail and
clients to get stuck in infinite workspace loading/syncing.
# Observed Behavior
- User creates a cloud-backed workspace and invites another user to it.
- Second user accepts the invite, awaits approval, and attempts to load
the workspace, getting stuck in infinite loading state.
- `api/workspaces/<id>/docs/<id>` return 404 for those users, as the
workspace they are trying to access was not synced to the server.
- Server logs show socket.io `CONNECT_ERROR` with `URI malformed`, then
connection closed.
# Confirmed Trigger
An externally-managed `auth_session` cookie containing a raw `%` symbol
causes `decodeURIComponent` to throw. This matches the observed
socket.io `CONNECT_ERROR`, explaining why some users were affected while
the rest were not.
# Root Cause
The `parseCookies` function calls `decodeURIComponent` on every cookie
key/value without guard, so when a malformed percent-encoded value is
encountered, `decodeURIComponent` throws, which bubbles into the
socket.io auth middleware, aborting the connection.
# Fix
Wrap `decodeURIComponent` calls in `try/catch`, on failure falling back
to the raw key/value.
# Testing
- Manually regenerating the bad cookie until no malformed parts are
present resolves the issue.
- With the guard in place, affected users can open shared workspaces
with sync successfully completing.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved cookie parsing robustness so malformed cookie values no
longer cause errors; the system now preserves raw cookie values when
decoding fails.
* **Tests**
* Added test coverage to ensure cookie parsing handles invalid/malformed
cookie values without throwing.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
69907083f7 |
chore: bump up opentelemetry (#14300)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@opentelemetry/core](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`2.2.0` → `2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fcore/2.2.0/2.5.0) |  |  | | [@opentelemetry/exporter-prometheus](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.208.0` → `^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.208.0/0.211.0) |  |  | | [@opentelemetry/exporter-zipkin](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`2.2.0` → `2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-zipkin/2.2.0/2.5.0) |  |  | | [@opentelemetry/host-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/host-metrics#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/host-metrics)) | [`0.38.0` → `0.38.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.38.0/0.38.2) |  |  | | [@opentelemetry/instrumentation](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.208.0` → `^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.208.0/0.211.0) |  |  | | [@opentelemetry/instrumentation-graphql](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-graphql#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-graphql)) | [`^0.56.0` → `^0.58.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.56.0/0.58.0) |  |  | | [@opentelemetry/instrumentation-http](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.208.0` → `^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.208.0/0.211.0) |  |  | | [@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-ioredis#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-ioredis)) | [`^0.57.0` → `^0.59.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.57.0/0.59.0) |  |  | | [@opentelemetry/instrumentation-nestjs-core](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-nestjs-core#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-nestjs-core)) | [`^0.55.0` → `^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.55.0/0.57.0) |  |  | | [@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-socket.io#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-socket.io)) | [`^0.55.0` → `^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.55.1/0.57.0) |  |  | | [@opentelemetry/resources](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`2.2.0` → `2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fresources/2.2.0/2.5.0) |  |  | | [@opentelemetry/sdk-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`2.2.0` → `2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-metrics/2.2.0/2.5.0) |  |  | | [@opentelemetry/sdk-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`^0.208.0` → `^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.208.0/0.211.0) |  |  | | [@opentelemetry/sdk-trace-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`2.2.0` → `2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-trace-node/2.2.0/2.5.0) |  |  | | [@opentelemetry/semantic-conventions](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js)) | [`1.38.0` → `1.39.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsemantic-conventions/1.38.0/1.39.0) |  |  | --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-js (@​opentelemetry/core)</summary> ### [`v2.5.0`](https://redirect.github.com/open-telemetry/opentelemetry-js/blob/HEAD/CHANGELOG.md#250) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-js/compare/v2.4.0...v2.5.0) ##### 🐛 Bug Fixes - refactor(resources): use runtime check for default service name [#​6257](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6257) [@​overbalance](https://redirect.github.com/overbalance) ##### 🏠 Internal - chore(context-async-hooks): Deprecate `AsyncHooksContextManager` [#​6298](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6298) [@​trentm](https://redirect.github.com/trentm) - chore: fix CODEOWNERS rule ordering [#​6297](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6297) [@​overbalance](https://redirect.github.com/overbalance) - fix(github): fix CODEOWNERS browser package paths [#​6303](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6303) [@​overbalance](https://redirect.github.com/overbalance) - fix(build): update [@​types/node](https://redirect.github.com/types/node) to 18.19.130, remove DOM types from base tsconfig [#​6280](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6280) [@​overbalance](https://redirect.github.com/overbalance) ### [`v2.4.0`](https://redirect.github.com/open-telemetry/opentelemetry-js/blob/HEAD/CHANGELOG.md#240) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-js/compare/v2.3.0...v2.4.0) ##### 🐛 Bug Fixes - fix(sdk-metrics): improve PeriodicExportingMetricReader() constructor input validation [#​6286](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6286) [@​cjihrig](https://redirect.github.com/cjihrig) - fix(core): Avoid using DOM types for otperformance export [#​6278](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6278) [@​samchungy](https://redirect.github.com/samchungy) ##### 🏠 Internal - chore(browser): fix CODEOWNERS paths for browser-related packages - refactor(sdk-metrics): remove Promise.allSettled() ponyfill [#​6277](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6277) [@​cjihrig](https://redirect.github.com/cjihrig) ### [`v2.3.0`](https://redirect.github.com/open-telemetry/opentelemetry-js/blob/HEAD/CHANGELOG.md#230) [Compare Source](https://redirect.github.com/open-telemetry/opentelemetry-js/compare/v2.2.0...v2.3.0) ##### 🚀 Features - feat(sdk-trace-base): implement on ending in span processor [#​6024](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6024) [@​majanjua-amzn](https://redirect.github.com/majanjua-amzn) - note: this feature is experimental and subject to change ##### 🐛 Bug Fixes - fix(sdk-metrics): remove setImmediate usage in ConsoleMetricExporter [#​6199](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6199) [@​overbalance](https://redirect.github.com/overbalance) ##### 🏠 Internal - refactor(bundler-tests): split webpack tests into webpack-4 and webpack-5 [#​6098](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6098) [@​overbalance](https://redirect.github.com/overbalance) - refactor(sdk-metrics): remove isNotNullish() utility function [#​6151](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6151) [@​cjihrig](https://redirect.github.com/cjihrig) - refactor(sdk-metrics): remove FlatMap() utility function [#​6154](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6154) [@​cjihrig](https://redirect.github.com/cjihrig) - refactor(sdk-metrics): simplify AllowList and DenyList processors [#​6159](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6159) [@​cjihrig](https://redirect.github.com/cjihrig) - chore: disallow constructor parameter property syntax [#​6187](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6187) [@​legendecas](https://redirect.github.com/legendecas) - refactor(sdk-metrics): use test() instead of match() in isValidName() [#​6205](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6205) [@​cjihrig](https://redirect.github.com/cjihrig) - refactor(core): remove TimeOriginLegacy Safari <15 fallback [#​6235](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6235) [@​overbalance](https://redirect.github.com/overbalance) - chore: remove backcompat workspace [#​6238](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6238) [@​overbalance](https://redirect.github.com/overbalance) - refactor(core,resources): consolidate platform-specific code [#​6208](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6208) [@​overbalance](https://redirect.github.com/overbalance) - test(api): remove unnecessary conditional [#​6241](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6241) [@​cjihrig](https://redirect.github.com/cjihrig) - refactor(api): remove several reverse() calls [#​6252](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6252) [@​cjihrig](https://redirect.github.com/cjihrig) - refactor(api): remove unnecessary map() call [#​6251](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6251) [@​cjihrig](https://redirect.github.com/cjihrig) - chore: add zed to gitignore [#​6258](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6258) [@​overbalance](https://redirect.github.com/overbalance) </details> <details> <summary>open-telemetry/opentelemetry-js-contrib (@​opentelemetry/host-metrics)</summary> ### [`v0.38.2`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/host-metrics/CHANGELOG.md#0382-2026-01-21) [Compare Source]( |
||
|
|
50507fc9bf |
chore: bump up RevenueCat/purchases-ios-spm version to from: "5.55.3" (#14302)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [RevenueCat/purchases-ios-spm](https://redirect.github.com/RevenueCat/purchases-ios-spm) | minor | `from: "5.0.1"` → `from: "5.55.3"` | --- ### Release Notes <details> <summary>RevenueCat/purchases-ios-spm (RevenueCat/purchases-ios-spm)</summary> ### [`v5.55.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.2...5.55.3) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.2...5.55.3) ### [`v5.55.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5552) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.1...5.55.2) #### 5.55.2 ### [`v5.55.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5551) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.0...5.55.1) #### 5.55.1 ### [`v5.55.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5550) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.54.1...5.55.0) #### 5.55.0 ### [`v5.54.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5541) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.54.0...5.54.1) #### 5.54.1 ### [`v5.54.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5540) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.53.0...5.54.0) #### 5.54.0 ### [`v5.53.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5530) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.52.1...5.53.0) #### 5.53.0 ### [`v5.52.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5521) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.52.0...5.52.1) #### 5.52.1 ### [`v5.52.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5520) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.51.1...5.52.0) #### 5.52.0 ### [`v5.51.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5511) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.51.0...5.51.1) #### 5.51.1 ### [`v5.51.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5510) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.50.1...5.51.0) #### 5.51.0 ### [`v5.50.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5501) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.50.0...5.50.1) #### 5.50.1 ### [`v5.50.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5500) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.3...5.50.0) #### 5.50.0 ### [`v5.49.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5493) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.2...5.49.3) #### 5.49.3 ### [`v5.49.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5492) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.1...5.49.2) #### 5.49.2 ### [`v5.49.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5491) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.0...5.49.1) #### 5.49.1 ### [`v5.49.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5490) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.48.0...5.49.0) #### 5.49.0 ### [`v5.48.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5480) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.47.1...5.48.0) #### 5.48.0 ### [`v5.47.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5471) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.47.0...5.47.1) #### 5.47.1 ### [`v5.47.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5470) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.3...5.47.0) #### 5.47.0 ### [`v5.46.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5463) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.2...5.46.3) ##### 🔄 Other Changes - Use cached offerings on network errors ([#​5707](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5707)) via Antonio Pallares ([@​ajpallares](https://redirect.github.com/ajpallares)) - Allow the use of Test Store in release builds using the uiPreview dangerous setting for the RC Mobile app ([#​5765](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5765)) via Rick ([@​rickvdl](https://redirect.github.com/rickvdl)) - Fix signature verification fallback urls ([#​5756](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5756)) via Antonio Pallares ([@​ajpallares](https://redirect.github.com/ajpallares)) ### [`v5.46.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5462) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.1...5.46.2) #### 5.46.2 ### [`v5.46.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5461) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.0...5.46.1) #### 5.46.1 ### [`v5.46.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5460) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.45.1...5.46.0) #### 5.46.0 ### [`v5.45.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5451) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.45.0...5.45.1) #### 5.45.1 ### [`v5.45.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5450) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.44.1...5.45.0) #### 5.45.0 ### [`v5.44.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5441) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.44.0...5.44.1) #### 5.44.1 ### [`v5.44.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5440) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.43.0...5.44.0) #### 5.44.0 ### [`v5.43.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5430) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.42.0...5.43.0) #### 5.43.0 ### [`v5.42.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5420) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.41.0...5.42.0) #### 5.42.0 ### [`v5.41.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5410) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.40.0...5.41.0) #### 5.41.0 ### [`v5.40.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5400) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.3...5.40.0) #### 5.40.0 ### [`v5.39.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5393) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.2...5.39.3) #### 5.39.3 ### [`v5.39.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5392) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.1...5.39.2) #### 5.39.2 ### [`v5.39.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5391) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.0...5.39.1) #### 5.39.1 ### [`v5.39.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5390) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.38.2...5.39.0) #### 5.39.0 ### [`v5.38.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5382) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.38.1...5.38.2) #### 5.38.2 ### [`v5.38.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5381) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.38.0...5.38.1) #### 5.38.1 ### [`v5.38.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5380) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.37.0...5.38.0) #### 5.38.0 ### [`v5.37.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5370) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.36.0...5.37.0) #### 5.37.0 ### [`v5.36.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5360) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.35.1...5.36.0) #### 5.36.0 ### [`v5.35.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5351) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.35.0...5.35.1) #### 5.35.1 ### [`v5.35.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5350) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.34.0...5.35.0) #### 5.35.0 ### [`v5.34.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5340) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.33.1...5.34.0) #### 5.34.0 ### [`v5.33.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5331) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.33.0...5.33.1) #### 5.33.1 ### [`v5.33.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5330) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.32.0...5.33.0) #### 5.33.0 ### [`v5.32.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5320) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.31.0...5.32.0) #### 5.32.0 ### [`v5.31.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5310) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.30.0...5.31.0) #### 5.31.0 ### [`v5.30.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.29.0...5.30.0) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.29.0...5.30.0) ### [`v5.29.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5290) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.28.1...5.29.0) #### 5.29.0 ### [`v5.28.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5281) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.28.0...5.28.1) #### 5.28.1 ### [`v5.28.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5280) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.27.1...5.28.0) #### 5.28.0 ### [`v5.27.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5271) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.26.0...5.27.1) #### 5.27.1 ### [`v5.26.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5260) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.3...5.26.0) #### 5.26.0 ### [`v5.25.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5253) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.2...5.25.3) #### 5.25.3 ### [`v5.25.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5252) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.1...5.25.2) #### 5.25.2 ### [`v5.25.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5251) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.0...5.25.1) #### 5.25.1 ### [`v5.25.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5250) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.24.0...5.25.0) #### 5.25.0 ### [`v5.24.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5240) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.23.0...5.24.0) #### 5.24.0 ### [`v5.23.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5230) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.22.2...5.23.0) #### 5.23.0 ### [`v5.22.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5222) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.22.1...5.22.2) #### 5.22.2 ### [`v5.22.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5221) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.22.0...5.22.1) #### 5.22.1 ### [`v5.22.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5220) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.21.2...5.22.0) #### 5.22.0 ### [`v5.21.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5212) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.21.1...5.21.2) #### 5.21.2 ### [`v5.21.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5211) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.21.0...5.21.1) #### 5.21.1 ### [`v5.21.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5210) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.3...5.21.0) #### 5.21.0 ### [`v5.20.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5203) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.2...5.20.3) #### 5.20.3 ### [`v5.20.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5202) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.1...5.20.2) #### 5.20.2 ### [`v5.20.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5201) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.0...5.20.1) #### 5.20.1 ### [`v5.20.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5200) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.19.0...5.20.0) #### 5.20.0 ### [`v5.19.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5190) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.18.0...5.19.0) #### 5.19.0 ### [`v5.18.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5180) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.17.0...5.18.0) #### 5.18.0 ### [`v5.17.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5170) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.16.1...5.17.0) #### 5.17.0 ### [`v5.16.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5161) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.16.0...5.16.1) #### 5.16.1 ### [`v5.16.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5160) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.15.1...5.16.0) #### 5.16.0 ### [`v5.15.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5151) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.15.0...5.15.1) #### 5.15.1 ### [`v5.15.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5150) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.6...5.15.0) #### 5.15.0 ### [`v5.14.6`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5146) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.5...5.14.6) #### 5.14.6 ### [`v5.14.5`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5145) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.4...5.14.5) #### 5.14.5 ### [`v5.14.4`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5144) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.3...5.14.4) #### 5.14.4 ### [`v5.14.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5143) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.2...5.14.3) #### 5.14.3 ### [`v5.14.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5142) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.1...5.14.2) #### 5.14.2 ### [`v5.14.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5141) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.0...5.14.1) #### 5.14.1 ### [`v5.14.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5140) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.13.0...5.14.0) #### 5.14.0 ### [`v5.13.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5130) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.12.1...5.13.0) #### 5.13.0 ### [`v5.12.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5121) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.12.0...5.12.1) #### 5.12.1 ### [`v5.12.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5120) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.11.0...5.12.0) #### 5.12.0 ### [`v5.11.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5110) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.10.0...5.11.0) #### 5.11.0 ### [`v5.10.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5100) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.9.0...5.10.0) #### 5.10.0 ### [`v5.9.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#590) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.8.0...5.9.0) #### 5.9.0 ### [`v5.8.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#580) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.7.1...5.8.0) #### 5.8.0 ### [`v5.7.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#571) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.7.0...5.7.1) #### 5.7.1 ### [`v5.7.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#570) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.6.0...5.7.0) #### 5.7.0 ### [`v5.6.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#560) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.5.0...5.6.0) #### 5.6.0 ### [`v5.5.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#550) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.4.0...5.5.0) #### 5.5.0 ### [`v5.4.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#540) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.4...5.4.0) #### 5.4.0 ### [`v5.3.4`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#534) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.3...5.3.4) #### 5.3.4 ### [`v5.3.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#533) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.2...5.3.3) ##### Bugfixes - Remove usage of adServicesToken in syncPurchases ([#​4257](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4257)) via Mark Villacampa ([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa)) - Fixes a Paywall Template 7 crash when none of the tiers have any available products. ([#​4243](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4243)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) - \[SK2] send unsynced attributes when syncing purchases ([#​4245](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4245)) via Mark Villacampa ([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa)) ##### Other Changes - Do not embed `RevenueCat.framework` in `RevenueCatUI` ([#​4256](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4256)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Add warnings and clarifications to v5 migration docs ([#​4231](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4231)) via Mark Villacampa ([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa)) - Fixes SwiftLint violation of rule optional\_data\_string\_conversion ([#​4252](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4252)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) - Paywall Components Localized Strings ([#​4237](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4237)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - Update `fastlane-plugin-revenuecat_internal` ([#​4244](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4244)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Add missing `#if PAYWALL_COMPONENTS` ([#​4241](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4241)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - Paywalls Components Viewmodels + partial localization support ([#​4230](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4230)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) ### [`v5.3.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#532) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.1...5.3.2) ##### Bugfixes - \[Customer Center] Build `WrongPlatformView` from JSON ([#​4234](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4234)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Add `feedbackSurveyCompleted` event to Customer Center events ([#​4194](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4194)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) ##### Other Changes - \[Diagnostics] Add `backend_error_code` property ([#​4236](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4236)) via Toni Rico ([@​tonidero](https://redirect.github.com/tonidero)) - Update README.md ([#​3986](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3986)) via Khoa ([@​onmyway133](https://redirect.github.com/onmyway133)) ### [`v5.3.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#531) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.0...5.3.1) ##### Bugfixes - Fix `compatibleTopBarTrailing` in MacOS and api tests ([#​4226](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4226)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - \[Paywall] Fix restoreStarted not being called on `presentPaywallIfNeeded` when using `requiredEntitlementIdentifier` ([#​4223](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4223)) via Josh Holtz ([@​joshdholtz](https://redirect.github.com/joshdholtz)) - \[CustomerCenter] Move sheet and restore alert creation to `ManageSubscriptionsView` ([#​4220](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4220)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - \[EXTERNAL] `Custom Entitlements Computation`: fix support display on debug screen ([#​4215](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4215)) by [@​NachoSoto](https://redirect.github.com/NachoSoto) ([#​4218](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4218)) via Toni Rico ([@​tonidero](https://redirect.github.com/tonidero)) - \[Customer Center] Add padding to `No thanks` in promotional offer screen ([#​4221](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4221)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Fix version number in plist files ([#​4213](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4213)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - fix mac os sandbox check slowness ([#​3879](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3879)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - \[Customer Center] Fix `FeedbackSurveyView` not opening ([#​4208](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4208)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Remove `unneeded_override` disable to fix linter ([#​4209](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4209)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) ##### Dependency Updates - Bump rexml from 3.3.3 to 3.3.6 in /Tests/InstallationTests/CocoapodsInstallation ([#​4210](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4210)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) - Bump rexml from 3.3.3 to 3.3.6 ([#​4211](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4211)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) ##### Other Changes - Update readme wording ([#​3914](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3914)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - Set a maximum duration for iOS 15 tests ([#​4229](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4229)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Paywall Components Initial Commit ([#​4224](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4224)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - \[CustomerCenter] Open App Store when the user wants to update their app ([#​4199](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4199)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) - \[Customer Center] Shows a warning when the app is not the latest version ([#​4193](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4193)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) - Fix integration tests simulator version ([#​4219](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4219)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Pin swift-docc-plugin to 1.3.0 ([#​4216](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4216)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) ### [`v5.3.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#530) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.3...5.3.0) ##### New Features - Price rounding logic ([#​4132](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4132)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) ##### Bugfixes - \[Customer Center] Migrate to List style ([#​4190](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4190)) via Cody Kerns ([@​codykerns](https://redirect.github.com/codykerns)) - \[Paywalls] Improve locale consistency ([#​4158](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4158)) via Josh Holtz ([@​joshdholtz](https://redirect.github.com/joshdholtz)) - Set Paywalls Tester deployment target to iOS 15 ([#​4196](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4196)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - \[Customer Center] Hide Contact Support button if URL can't be created ([#​4192](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4192)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Fix the setting for SKIP\_INSTALL in Xcode project ([#​4195](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4195)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - \[Customer Center] Improving customer center buttons ([#​4165](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4165)) via Cody Kerns ([@​codykerns](https://redirect.github.com/codykerns)) - Revert workaround for iOS 18 beta 5 SwiftUI crash ([#​4173](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4173)) via Mark Villacampa ([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa)) - \[Paywalls] Make iOS version calculation lazy ([#​4163](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4163)) via Mark Villacampa ([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa)) - Observe `PurchaseHandler` when owned externally ([#​4097](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4097)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) ##### Dependency Updates - Bump fastlane-plugin-revenuecat\_internal from `d5f0742` to `4c4b8ce` ([#​4167](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4167)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) - Bump rexml from 3.2.8 to 3.3.3 in /Tests/InstallationTests/CocoapodsInstallation ([#​4176](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4176)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) - Bump rexml from 3.2.9 to 3.3.3 ([#​4175](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4175)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) ##### Other Changes - \[Customer Center] Clean up colors in WrongPlatformView and NoSubscriptionsView ([#​4204](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4204)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - Fix failing `all-tests` and retry more flaky tests ([#​4188](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4188)) via Josh Holtz ([@​joshdholtz](https://redirect.github.com/joshdholtz)) - Compatibility content unavailable improvements ([#​4197](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4197)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - Create lane to enable customer center ([#​4191](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4191)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) - XCFramework artifacts in CircleCI ([#​4189](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4189)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - \[Customer Center] CustomerCenterViewModel checks whether the app is the latest version ([#​4169](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4169)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) - export RevenueCatUI xcframework ([#​4172](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4172)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Corrects references from ManageSubscriptionsButtonStyle to ButtonsStyle. ([#​4186](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4186)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) - Speed up carthage installation tests ([#​4184](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4184)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Customer center improvements ([#​4166](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4166)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - replace `color(from colorInformation:)` global with extension ([#​4183](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4183)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Generating new test snapshots for `main` - ios-13 ([#​4181](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4181)) via RevenueCat Git Bot ([@​RCGitBot](https://redirect.github.com/RCGitBot)) - Generating new test snapshots for `main` - ios-16 ([#​4182](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4182)) via RevenueCat Git Bot ([@​RCGitBot](https://redirect.github.com/RCGitBot)) - Generating new test snapshots for `main` - ios-14 ([#​4180](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4180)) via RevenueCat Git Bot ([@​RCGitBot](https://redirect.github.com/RCGitBot)) - Generating new test snapshots for `main` - ios-15 ([#​4179](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4179)) via RevenueCat Git Bot ([@​RCGitBot](https://redirect.github.com/RCGitBot)) - Fix tests in main ([#​4174](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4174)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Enable customer center tests ([#​4171](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4171)) via James Borthwick ([@​jamesrb1](https://redirect.github.com/jamesrb1)) - \[Customer Center] Initial implementation ([#​3967](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3967)) via Cesar de la Vega ([@​vegaro](https://redirect.github.com/vegaro)) ### [`v5.2.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#523) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.2...5.2.3) ##### Bugfixes - Fix Paywalls crash on iOS 18 beta ([#​4154](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4154)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) ##### Dependency Updates - Bump danger from 9.4.3 to 9.5.0 ([#​4143](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4143)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) - Bump nokogiri from 1.16.6 to 1.16.7 ([#​4129](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4129)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) - Bump fastlane from 2.221.1 to 2.222.0 ([#​4130](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4130)) via dependabot\[bot] ([@​dependabot](https://redirect.github.com/dependabot)\[bot]) ##### Other Changes - Update deployment targets for tests ([#​4145](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4145)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Deploy purchaserTester: clean up dry-run parameter ([#​4140](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4140)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Clean up API Testers ([#​4141](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4141)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - More project structure cleanup ([#​4131](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4131)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - temporarily disables purchasetester deploy ([#​4133](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4133)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Fix trigger all tests branch ([#​4135](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4135)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Clean up XCWorkspace and testing apps ([#​4111](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4111)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - tests trigger: add target-branch parameter to trigger from the right branch ([#​4121](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4121)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Re-added the RevenueCatUI tests job on every commit ([#​4113](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4113)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) ### [`v5.2.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#522-customercenteralpha3) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.1...5.2.2) - Fix for disabled promo offer button ([#​4142](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4142)) ### [`v5.2.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#521-customercenteralpha1) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.0...5.2.1) - Initial Customer Center Alpha Release ### [`v5.2.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#520) [Compare Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.1.0...5.2.0) ##### New Features - Added new paywall template to support multiple tiered subscriptions ([#​4022](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4022)) via Josh Holtz ([@​joshdholtz](https://redirect.github.com/joshdholtz)) ##### Bugfixes - Fix certain completion blocks not being dispatched on the main thread ([#​4058](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4058)) via Mark Villacampa ([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa)) - Only checks staged files for leftover API keys. ([#​4073](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4073)) via JayShortway ([@​JayShortway](https://redirect.github.com/JayShortway)) ##### Other Changes - \[Ci] Fix trigger to run all tests from github actions ([#​4075](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4075)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - added new workflow to trigger all tests ([#​4051](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4051)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) - Reduce CI jobs ([#​4025](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4025)) via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo)) </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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
09cc2dceda |
feat: cleanup chat panel (#14259)
#### PR Dependency Tree * **PR #14258** * **PR #14259** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Split AI initialization into separate editor, app, and shared registries; removed legacy chat-panel and replaced it with a component-based editor chat, updating wiring and public exports. * Propagated server/subscription/model services into chat/playground components and improved session lifecycle and UI composition. * **Tests** * Added tests for AI effect registration and chat session resolution; extended DOM/test utilities and assertions. * **Chores** * Added happy-dom for runtime and test environments. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
94431df236 |
fix(core): make member popover responsive (#14277)
## Problem In Kanban view, clicking the `Empty` value for the Member property can cause the member popover layout to overflow/break due to a fixed container width. ### Before ScreenShot <img width="410" height="119" alt="image" src="https://github.com/user-attachments/assets/e0d28a37-2ea4-4a65-afca-e4ef10af37dd" /> ## Repro 1. Open a Database in Kanban view 2. Ensure the Member property has some cards with `Empty` 3. Click the `Empty` member value 4. Observe the popover layout overflow/broken UI ## Solution Make the popover container responsive by using `width: 100%` with `maxWidth: 415px` to preserve the original intended size while preventing overflow in narrow containers. ### After ScreenShot <img width="410" height="146" alt="image (1)" src="https://github.com/user-attachments/assets/d97e6b8b-eabc-499a-9f04-0422505c67bf" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Improved member selector popover styling: unified padding, made width responsive with a max width limit, and added box-sizing for more consistent layout and spacing across screen sizes. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
f373e08583 | feat: refactor doc write in native (#14272) | ||
|
|
753b11deeb |
fix: resolve navbar overlay issue on sign-in page (#14274)
This pr fixes #14273. I have implemented two minor CSS adjustments to resolve the navbar interaction issue on the sign-in page: - Removed position: relative and z-index: 1 from signInPageContainer. - Set z-index: 1 on the SignInPanel div (prevent SignInBackgroundArts from overlapping the SignInPanel) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Adjusted z-index layering for the sign-in page component. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
17f2ebc4de |
feat: render document header image from document metadata (#14255)
### What Adds support for rendering an optional image above the document title using document metadata. ### Why Provides a visual identifier for documents and improves readability for users who rely on visual cues. ### How - Reads `headerImage` from document metadata (if present) - Renders the image above the editor when present - Fully optional and non-breaking - No BlockSuite or data model changes ### Related fix #14240 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Documents can now display header images in the page editor. When a header image is available, it appears above the editor content, enhancing visual presentation and providing better context for your documents. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
0da91e406e |
feat(server): add document write tools for mcp (#14245)
## Summary This PR adds write capabilities to AFFiNE's MCP (Model Context Protocol) integration, enabling external tools (Claude, GPT, etc.) to create and modify documents programmatically. **New MCP Tools:** - `create_document` - Create new documents from markdown content - `update_document` - Update document content using structural diffing for minimal changes (preserves document history and enables real-time collaboration) **Implementation:** - `markdown_to_ydoc.rs` - Converts markdown to AFFiNE-compatible y-octo binary format - `markdown_utils.rs` - Shared markdown parsing utilities (used by both ydoc-to-md and md-to-ydoc) - `update_ydoc.rs` - Structural diffing implementation for updating existing documents - `DocWriter` service - TypeScript service for document operations - Exposes `markdownToDocBinary` and `updateDocBinary` via napi bindings **Supported Markdown Elements:** - Headings (H1-H6) - Paragraphs - Bullet lists and numbered lists - Code blocks (with language detection) - Blockquotes - Horizontal dividers - Todo items (checkboxes) **y-octo Changes:** This PR reverts the y-octo sync ( |
||
|
|
2c5559ed0b | fix: missing session fields | ||
|
|
924d58603f | chore: improve event flow (#14266) | ||
|
|
00a458543f |
feat: cleanup chat panel (#14258)
#### PR Dependency Tree * **PR #14258** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Removed Features** * Web search functionality has been removed from AI chat and related AI features. Users will no longer see network search options or toggles in chat preferences and panels. * AI chat requests no longer support external web search capabilities. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> #### PR Dependency Tree * **PR #14258** 👈 * **PR #14259** This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) |
||
|
|
ac7a95e708 |
feat: misc optimizations (#14257)
fix #13798 |
||
|
|
76e1721d70 | fix: journal conflict handle | ||
|
|
fc59dff9e2 | chore: enable blur background for mac | ||
|
|
27a58e764c | chore: bump version & deps | ||
|
|
13907f7234 | fix(core): event flow handle (#14256) | ||
|
|
7c24b2521a |
feat: reduce backend (#14251)
#### PR Dependency Tree * **PR #14251** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Current user profile now exposes access tokens, revealed tokens, and detailed calendar accounts/subscriptions. * Workspace now exposes permissions, calendars, calendar events, and a workspace-scoped blob upload part URL. * New document-update mutation for applying doc updates. * **API Changes** * validateAppConfig is now a query (mutation deprecated). * Several legacy top-level calendar/blob endpoints deprecated in favor of user/workspace fields. * **Refactor** * Calendar, blob-upload and access-token surfaces reorganized to use user/workspace-centric fields. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7c440686ad |
chore(i18n): sync translations (#14148)
New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action) --------- Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: DarkSky <darksky2048@gmail.com> |
||
|
|
b331a08744 |
feat: native update merge (#14250)
#### PR Dependency Tree * **PR #14250** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Backend Optimization** * Faster document retrieval via a native binary fetch path. * Native-accelerated merging of document updates for improved performance and consistency. * **Indexing & Reliability** * Indexing now only proceeds on valid parse results, with clearer warnings and richer metadata on failures. * More consistent sync behavior and enhanced diagnostic logging for indexing operations. * **Tests** * Expanded tests to cover native binary retrieval error handling. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
279b7bb64f |
feat(core): integrate google calendar sync (#14248)
fix #14170 fix #13893 fix #13673 fix #13543 fix #13308 fix #7607 #### PR Dependency Tree * **PR #14247** * **PR #14248** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Integrations panel in Account Settings to link/unlink calendar providers. * Collapsible settings wrapper for improved layout. * **Improvements** * Calendar system reworked: per-account calendar groups, simplified toggles with explicit Save, richer event display (multi-dot date indicators), improved event time/title handling across journal views. * **Localization** * Added calendar keys: save-error, no-journal, no-calendar; removed legacy duplicate-error keys. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
89f0430242 | fix: race conditions (y-crdt/y-octo#51) | ||
|
|
0bd8160ed4 |
feat: init cloud calendar support (#14247)
#### PR Dependency Tree * **PR #14247** 👈 * **PR #14248** This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Google Calendar integration (disabled by default): link/unlink accounts, OAuth flow, webhooks, real-time push, background sync, workspace calendars with customizable items and date-range event viewing. * **GraphQL / Client** * New queries & mutations for accounts, subscriptions, events, providers, and workspace calendar management. * **Localization** * Added localized error message for calendar provider request failures. * **Tests** * Backend tests covering sync, webhook renewal, and error/error-recovery scenarios. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a5b60cf679 | fix: index calc & detached node handle (y-crdt/y-octo#50) | ||
|
|
ca2462f987 |
feat(native): sync yocto codes (#14243)
#### PR Dependency Tree * **PR #14243** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Batch management API for coordinated document mutations and change tracking. * New document accessors (IDs, state snapshots, change/delete set queries) and subscriber count. * **Chores** * Upgraded Rust edition across packages to 2024. * Repository-wide formatting, stylistic cleanups and test adjustments. * **Breaking Changes** * Removed the Node native bindings package and its JS/TS declarations and tests (no longer published/available). <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
e4dc82ee35 |
chore: bump deps (#14227)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated backend service dependencies to the latest stable versions for
improved performance and security.
* Upgraded UI component library dependencies to the latest minor
releases.
* **Improvements**
* Enhanced web search functionality for better search results on
standard AI models.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
aa6f26b1a5 |
chore: bump up opentelemetry (#14208)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-ioredis#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-ioredis)) | [`^0.56.0` → `^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.56.0/0.57.0) |  |  | | [@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-socket.io#readme) ([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-socket.io)) | [`0.55.0` → `0.55.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.55.0/0.55.1) |  |  | --- ### Release Notes <details> <summary>open-telemetry/opentelemetry-js-contrib (@​opentelemetry/instrumentation-ioredis)</summary> ### [`v0.57.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-ioredis/CHANGELOG.md#0570-2025-12-17) [Compare Source]( |
||
|
|
b8e597fa1d | fix: hide search local label if need | ||
|
|
cf98afb32e |
chore: bump theme@1.1.23 (#14222)
close #13952 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Upgraded the shared theme library from v1.1.16 to v1.1.23 across the project (core components, UI widgets, content blocks, and frontend apps), delivering the latest styling and design refinements platform-wide. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: L-Sun <zover.v@gmail.com> |
||
|
|
a11e9fe8ca |
feat(server): add LISTEN_ADDR env var for allowing server to listen on ipv6 (#14211)
The old code hardcoded 0.0.0.0 which means the server only listened for
ipv4 connections, making it not work on ipv6-only networks.
This change adds a LISTEN_ADDR env var which allows the server to bind
to ipv6 as well.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Server listen address is now configurable via the LISTEN_ADDR
environment variable (default: 0.0.0.0), enabling IPv4/IPv6 or
interface-specific binding.
* Configuration schemas and admin UI now expose the listen address
option so deployments can view and override it.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
f42246aba1 | fix: allow method for cors | ||
|
|
e7d0f31546 | fix: blob redirect | ||
|
|
fe5d6c0c0f |
feat(editor): support frontmatter & colored text parsing (#14205)
fix #13847 |
||
|
|
510933becf |
chore(server): bump ioredis to 5.8.2 for ipv6 support (#14204)
Bump ioredis to 5.8.2 for ipv6 support. Prior to 5.8.2 ioredis required passing `family: 0` or `family: 6` when constructing a client in order to connect to redis over ipv6. This was fixed in 5.8.2. fix #14197 |
||
|
|
3633c75c6f |
feat: cleanup tables (#14203)
#### PR Dependency Tree * **PR #14203** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Removed deprecated database tables, enums and schema fields (cleanup of legacy subscription, invoice, runtime settings and session expiry data). This includes irreversible data removal for those legacy elements. * **Tests** * Updated tests and test data to align with the cleaned-up schema and removed fields. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
41addfe311 | fix: blob sync | ||
|
|
9a7f8e7d4d |
feat: workspace level share settings (#14201)
fix #13698 |
||
|
|
60de882a30 |
feat: shared link list (#14200)
#### PR Dependency Tree * **PR #14200** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **New Features** * Added a "Shared Links" panel to workspace management, enabling admins to view all published documents within a workspace * Added publication date tracking for published documents, now displayed alongside shared links * **Chores** * Removed deprecated `publicPages` field; use `publicDocs` instead <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
9f96633b33 |
fix: normalize shortcut display (#14196)
Normalize shortcut tokens and remove stray whitespace. Uncomment group/ungroup shortcuts now that the feature is implemented. Fix Windows redo shortcut display. <img width="142" height="230" alt="image" src="https://github.com/user-attachments/assets/989e061e-1ca2-489c-ab8e-6baad853d438" /><img width="142" height="37" alt="image" src="https://github.com/user-attachments/assets/671ed9b2-ccad-44ad-8889-7810bb01143c" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Standardized keyboard shortcut representations across the application for improved consistency and clarity in shortcut displays. * Corrected spacing inconsistencies in shortcut entries to ensure uniform formatting. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
1e8095c224 | fix: ci | ||
|
|
0b0ae5ea0a | feat: add queue management for admin panel | ||
|
|
f745f7b669 | feat: pre-aggregation workspace stats | ||
|
|
97507e7043 | fix: query type cast | ||
|
|
91e6f3c45c | feat: improve workspace index | ||
|
|
c7b74384a4 | fix: types | ||
|
|
20c4951847 | feat: improve workspace list perf | ||
|
|
bc03fab649 | chore: cleanup logs |