mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-07-15 00:56:26 +08:00
215541d331d7afcaf4f1244507dcea2c5e48655e
3826 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
215541d331 |
feat: improve indexing perf with native indexer (#14066)
fix #12132, #14006, #13496, #12375, #12132 The previous idb indexer generated a large number of scattered writes when flushing to disk, which caused CPU and disk write spikes. If the document volume is extremely large, the accumulation of write transactions will cause memory usage to continuously increase. This PR introduces batch writes to mitigate write performance on the web side, and adds a native indexer on the Electron side to greatly improve performance. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Full-text search (FTS) added across storage layers and native plugins: indexing, search, document retrieval, match ranges, and index flushing. * New SQLite-backed indexer storage, streaming search/aggregate APIs, and in-memory index with node-building and highlighting. * **Performance** * Indexing rewritten for batched, concurrent writes and parallel metadata updates. * Search scoring enhanced to consider multiple term positions and aggregated term data. * **Other** * Configurable refresh interval and indexer version bump. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
027f741ed6 |
chore: bump deps (#14065)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated dependency versions across the monorepo (notably zod →
^3.25.76 and vitest-related packages → ^3.2.4), plus minor package bumps
to align tooling and libraries. These are manifest/test-tooling updates
only; no public API, behavior, or end-user features were changed.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
776ca2c702 | chore: bump version | ||
|
|
f29e47e9d2 |
feat: improve oauth (#14061)
fix #13730 fix #12901 fix #14025 |
||
|
|
6e6b85098e |
fix(core): handle image-blob reduce errors more gracefully (#14056)
This PR is related to issue https://github.com/toeverything/AFFiNE/issues/14018 When uploading a new profile photo avatar the Pica function, which is responsible for reducing and resizing the profile photo, may crash if the browser's Fingerprint Protection is enabled. This is because Fingerprint Protection prevents Pica from modifying the canvas. This fix introduces a try-catch inside the function that calls the reduction and resizing of the photo. Also, the Error object is no longer passed directly to the notification service, which also caused issues previously. Now a message will appear that tells the user that the upload failed and to check the browser's fingerprint protection (check photo below). Affected files: packages/frontend/core/src/utils/reduce-image.ts <img width="408" height="136" alt="new_error" src="https://github.com/user-attachments/assets/d140e17c-8c13-4f4b-bdf7-7dd5ddc5c917" /> I'm open to any suggestions in terms of wording of the error messages. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved error handling for image compression with clearer, user-facing messages when compression is blocked or fails. * Ensures the original or reduced image is reliably returned as a fallback if compression is not performed. * Preserves file metadata (original lastModified, name, type) when returning processed files. <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 <darksky2048@gmail.com> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
cf4e37c584 | feat(native): native reader for indexer (#14055) | ||
|
|
69cdeedc4e | fix: lint | ||
|
|
0495fac6f1 |
feat(i18n): update FR translate & corrections (#14052)
Added a complete French translation for several user interface elements.
Updated existing translation strings to improve consistency and clarity.
Corrected inaccurate or unclear wording in the language files.
Harmonized terminology to maintain a uniform vocabulary across the
interface.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Localization**
* Corrected Spanish branding text for AFFiNE consistency.
* Expanded French locale with many new keys (AI features, calendar,
import/doc labels, shortcuts).
* Trimmed trailing spaces and fixed grammar, punctuation, diacritics
across French strings.
* Added French "Copied to clipboard" confirmation and other refined UI
labels.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
221c493c56 |
feat(server): add Brazilian Portuguese translation support (#13725)
* Added 'Brazilian Portuguese' to the list of supported translation languages in both backend and frontend. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added Brazilian Portuguese as a supported translation language across the app. * Brazilian Portuguese now appears in language selection for translation actions. * AI translation prompts now include Brazilian Portuguese as a valid target option. * No other translation behaviors or controls were modified. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
6c36fc5941 |
fix(editor): switch to PanTool on same frame for middle mouse; restore selection snapshot (#13911)
Bug: In Edgeless mode, pressing and dragging the middle mouse button over any element incorrectly triggers DefaultTool in the same frame, causing unintended selection/drag instead of panning. Dragging on empty area works because no element intercepts left-click logic. Reproduction: - Open an Edgeless canvas - Press and hold middle mouse button over a shape/text/any element and drag - Expected: pan the canvas - Actual: the element gets selected or moved; no panning occurs Root cause: 1. PanTool switched via requestAnimationFrame; the current frame’s pointerDown/pointerMove were handled by DefaultTool first (handing middle mouse to left-click logic). 2. Selection restore used a live reference to `this.gfx.selection.surfaceSelections`, which could be mutated by other selection logic during the temporary pan, leading to incorrect restoration. Fix: - Switch to PanTool immediately on the same frame when middle mouse is pressed; add a guard to avoid switching if PanTool is already active. - Snapshot `surfaceSelections` using `slice()` before the temporary switch; restore it on `pointerup` so external mutations won’t affect restoration. - Only register the temporary `pointerup` listener when actually switching; on release, restore the previous tool (including `frameNavigator` with `restoredAfterPan: true`) and selection. Additionally, disable black background when exiting from frameNavigator. Affected files: - blocksuite/affine/gfx/pointer/src/tools/pan-tool.ts Tests: - packages/frontend/core/src/blocksuite/__tests__/pan-tool-middle-mouse.spec.ts - Verifies immediate PanTool switch, selection snapshot restoration, frameNavigator recovery flag, and no-op when PanTool is already active. Notes: - Aligned with docs/contributing/tutorial.md. Local validation performed. Thanks for reviewing! <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Prevented accidental re-activation of the middle-click pan tool. * Preserved and restored the user's selection and previous tool options after panning, including correct handling when returning to the frame navigator. * Ensured immediate tool switch to pan and reliable cleanup on middle-button release. * **Tests** * Added tests covering middle-click pan behavior, restoration flows, and no-op when pan is already active. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
477e6f4106 | fix: lint | ||
|
|
20ba8875c1 |
feat(core): pixelated to image component to improve clarity for low-resolution images (#13968)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated rendering quality for images displayed in chat content, applying a pixelated effect to both row and column layouts. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
36a08190e0 | fix: prettier | ||
|
|
b229c96ee5 | fix: lint | ||
|
|
71d682c1c0 |
feat(editor): add font size adjustment in editor settings (#13549)
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> Co-authored-by: DarkSky <darksky2048@gmail.com> |
||
|
|
d90eeffe84 | fix: ci | ||
|
|
12fe7a5ced | fix: flatpak build | ||
|
|
a35bcdc3ef |
feat(i18n): add missing catalan strings (#13914)
I'm a native Catalan and Spanish speaker. There are lots of changes, if I notice something is off when using it, I'll submit more patches to improve it. One decision I'm not sure about is keeping "edgeless" as the translation, since it's difficult to find a proper way of saying it that's not too similar to "borderless" or "without borders" in Catalan. I noticed Spanish has some of the strings as "Edgeless" and others "sin bordes", so I'm guessing this is a bit subjective and in my opinion leaving it unchanged is easier to understand than if poorly translated. |
||
|
|
e52bcb7fd6 |
feat(i18n): korean translation (#13733)
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
4e082e4170 | chore: bump version | ||
|
|
f644454c5c |
chore(i18n): sync translations (#13949)
New Crowdin translations by [Crowdin GH Action](https://github.com/crowdin/github-action) Co-authored-by: Crowdin Bot <support+bot@crowdin.com> |
||
|
|
46e7d9fab7 |
chore: bump electron (#13935)
fix #13647 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Release Notes * **Chores** * Updated development tooling and build dependencies to latest stable versions * Increased minimum Node.js requirement to version 22 * Updated macOS deployment target to version 11.6 * Enhanced type safety and error handling in build processes <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
17ec76540b |
feat(editor): import docs from docx (#11774)
Support importing .docx files, as mentioned in https://github.com/toeverything/AFFiNE/issues/10154#issuecomment-2655744757 It essentially uses mammoth to convert the docx to html, and then imports the html with the standard steps. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Import Microsoft Word (.docx) files directly via the import dialog (creates new documents). * .docx added as a selectable file type in the file picker and import options. * **Localization** * Added localized labels and tooltips for DOCX import in English, Simplified Chinese, and Traditional Chinese. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> Co-authored-by: DarkSky <darksky2048@gmail.com> |
||
|
|
e5db0e66c1 | chore: update schema | ||
|
|
abe73e9996 |
fix: config escape error (#13936)
fix #13702 |
||
|
|
6ec1948f62 |
feat(editor): release callout (#13896)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Callout is no longer gated as an experimental option — it now consistently appears in the editor’s slash menu and toolbar where applicable. * **Tests** * End-to-end slash-menu tests updated to expect the Callout item in search results and adjusted item ordering. * **Chores** * Repository ignore rules updated to exclude .kiro files. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
7e6ead4232 | feat: native doc reader (#13881) | ||
|
|
5a2f508dac |
feat(editor): hidden 'add icon' label on print if icon is not set (#13868)
This caption (see screenshot) is added when you try to print doc, even if there is no icon. <img width="1269" height="897" alt="изображение" src="https://github.com/user-attachments/assets/d63383e6-48a2-44fb-8f32-ae91d1e9e8c6" /> |
||
|
|
2bd9f1a353 |
feat: implement tray and minimize behaviors (#13851)
This PR introduces new window behaviors, which can be enabled when the menubar setting is active: New Features: - Quick open from tray icon - Minimize to tray - Exit to tray - Start minimized These changes have not yet been tested on macOS. <img width="645" height="479" alt="image" src="https://github.com/user-attachments/assets/7bdd13d0-5322-45a4-8e71-85c081aa0c86" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Configurable menubar/tray behaviors: open on left-click, minimize to tray, close to tray (exit to tray), and start minimized. * **UI** * Appearance settings add a Menubar → Window Behavior group with four toggles; group shows only when menubar/tray is enabled (hidden on macOS). * **Settings** * Tray settings persisted and exposed via the settings API with getters and setters for each option. * **Localization** * Added translation keys and English strings for the new controls and descriptions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Peng Xiao <pengxiao@outlook.com> |
||
|
|
d33df659f8 | feat: check server type in chat (#13875) | ||
|
|
c9a4129a3e | fix: a security issue related to open external (#13864) | ||
|
|
f3bb2be5ef | feat: request apply subscription mutation (#13844) | ||
|
|
e4b5b24fdd | chore: bump package version | ||
|
|
5fc3258a3d |
feat(server): expose mail server name config in admin dashboard (#13792)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added SMTP name configuration field to notification settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a0613b6306 |
feat(core): enhance Notion import with folder hierarchy and page icons (#13692)
Hi 👋 Love what you're doing with AFFiNE, I found my Notion replacement in this app. Coming from Notion and importing my workspaces, I saw the need to improve the import functionality to replicate the folder hierarchy from Notion into the AFFiNE folder structure in the `Organize` section. There are a few issues(i.e. #12961 and #13629 ) of people that expected the same behavior. This should make it a lot easier for people to move over. ### Technical description Improve Notion import functionality to preserve organizational structure and page icons from exports: - Add folder hierarchy preservation during Notion import - Extract and set page icons (emoji and image) from Notion HTML - Integrate with OrganizeService to recreate folder structure - Use ExplorerIconService to apply page icons to imported documents - Tested using production workspace exports from Notion, several thousand pages and multiple hierarchy levels deep. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - Imports from Notion/HTML now recreate folder hierarchies and link imported pages into that structure. - Page icons (emoji and supported images) are extracted and attached to imported pages. - Import results now include the created root folder for quick access. - Improvements - Import flows integrate folder creation and icon assignment with non-blocking error handling. - Bug Fixes - Avoids including undefined page IDs in successful imports. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: DarkSky <darksky2048@gmail.com> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
c18840038f |
chore: bump up @sentry/electron version to v7 (#13652)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [@sentry/electron](https://redirect.github.com/getsentry/sentry-electron) | [`^6.1.0` -> `^7.0.0`](https://renovatebot.com/diffs/npm/@sentry%2felectron/6.6.0/7.2.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>getsentry/sentry-electron (@​sentry/electron)</summary> ### [`v7.2.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#720) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/7.1.1...7.2.0) - feat: Update JavaScript SDKs from [v10.11.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/10.11.0) to [v10.17.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/10.17.0) - feat: Log os and device attributes ([#​1246](https://redirect.github.com/getsentry/sentry-electron/issues/1246)) ### [`v7.1.1`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#711) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/7.1.0...7.1.1) - fix: Preload injection path ([#​1243](https://redirect.github.com/getsentry/sentry-electron/issues/1243)) - fix: Preload `contextIsolation` issues ([#​1244](https://redirect.github.com/getsentry/sentry-electron/issues/1244)) - fix: Include `sentry.origin` with auto-generated logs ([#​1241](https://redirect.github.com/getsentry/sentry-electron/issues/1241)) ### [`v7.1.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#710) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/7.0.0...7.1.0) - feat: Update JavaScript SDKs from [v10.7.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/10.7.0) to [v10.11.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/10.11.0) ([#​1236](https://redirect.github.com/getsentry/sentry-electron/issues/1236)) - feat: Optional Namespaced IPC ([#​1234](https://redirect.github.com/getsentry/sentry-electron/issues/1234)) - fix: Export `ErrorEvent` type ([#​1229](https://redirect.github.com/getsentry/sentry-electron/issues/1229)) - fix: Only capture logs if `enableLogs` is true ([#​1235](https://redirect.github.com/getsentry/sentry-electron/issues/1235)) ### [`v7.0.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#700) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.11.0...7.0.0) This release updates the underlying Sentry JavaScript SDKs to v10 which includes some breaking changes. Check out the the [migration guide](./MIGRATION.md) for more details. - feat: Update JavaScript SDKs to v10.8.0 ([#​1205](https://redirect.github.com/getsentry/sentry-electron/issues/1205)) ### [`v6.11.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#6110) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.10.0...6.11.0) - feat: Update JavaScript SDKs from [v9.45.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.45.0) to [v9.46.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.46.0) - fix: Ensure native directory ends up in package ([#​1216](https://redirect.github.com/getsentry/sentry-electron/issues/1216)) ### [`v6.10.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#6100) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.9.0...6.10.0) - feat: Update JavaScript SDKs from [v9.43.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.43.0) to [v9.45.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.45.0) - fix: Don't use `deepmerge` to merge events to remove circular ref. issues ([#​1210](https://redirect.github.com/getsentry/sentry-electron/issues/1210)) - fix: Support `node16` for TypeScript `moduleResolution` ([#​1203](https://redirect.github.com/getsentry/sentry-electron/issues/1203)) ### [`v6.9.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#690) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.8.0...6.9.0) - feat: Update JavaScript SDKs from [v9.26.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.26.0) to [v9.43.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.43.0) - feat: Add `eventLoopBlockIntegration` ([#​1188](https://redirect.github.com/getsentry/sentry-electron/issues/1188)) - feat: Move renderer event loop block detection to an integration ([#​1196](https://redirect.github.com/getsentry/sentry-electron/issues/1196)) ### [`v6.8.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#680) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.7.0...6.8.0) - feat: Update JavaScript SDKs from [v9.25.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.25.0) to [v9.26.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.26.0) - fix: Don't capture stack traces from destroyed renderers ([#​1165](https://redirect.github.com/getsentry/sentry-electron/issues/1165)) ### [`v6.7.0`](https://redirect.github.com/getsentry/sentry-electron/blob/HEAD/CHANGELOG.md#670) [Compare Source](https://redirect.github.com/getsentry/sentry-electron/compare/6.6.0...6.7.0) - feat: Update JavaScript SDKs from [v9.18.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.18.0) to [v9.25.0](https://redirect.github.com/getsentry/sentry-javascript/releases/tag/9.25.0) - feat: Add structured logging support ([#​1159](https://redirect.github.com/getsentry/sentry-electron/issues/1159)) </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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
c2fb6adfd8 |
feat(mobile): add discord link in setting (#13789)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new Discord community link in the mobile settings Others section with an animated "Hot" badge * **Localization** * Added multilingual support for the new Discord link across all supported languages <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 --> |
||
|
|
2c44d3abc6 |
chore: bump up vite version to v7 [SECURITY] (#13786)
This PR contains the following updates: | Package | Change | Age | Confidence | |---|---|---|---| | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^6.1.0` -> `^7.0.0`](https://renovatebot.com/diffs/npm/vite/6.3.6/7.1.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://vite.dev) ([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`^6.0.3` -> `^7.0.0`](https://renovatebot.com/diffs/npm/vite/6.3.6/7.1.11) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2025-62522](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-93m4-6634-74q7) ### Summary Files denied by [`server.fs.deny`](https://vitejs.dev/config/server-options.html#server-fs-deny) were sent if the URL ended with `\` when the dev server is running on Windows. ### Impact Only apps that match the following conditions are affected: - explicitly exposes the Vite dev server to the network (using --host or [`server.host` config option](https://vitejs.dev/config/server-options.html#server-host)) - running the dev server on Windows ### Details `server.fs.deny` can contain patterns matching against files (by default it includes `.env`, `.env.*`, `*.{crt,pem}` as such patterns). These patterns were able to bypass by using a back slash(`\`). The root cause is that `fs.readFile('/foo.png/')` loads `/foo.png`. ### PoC ```shell npm create vite@latest cd vite-project/ cat "secret" > .env npm install npm run dev curl --request-target /.env\ http://localhost:5173 ``` <img width="1593" height="616" alt="image" src="https://github.com/user-attachments/assets/36212f4e-1d3c-4686-b16f-16b35ca9e175" /> --- ### Release Notes <details> <summary>vitejs/vite (vite)</summary> ### [`v7.1.11`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.10...v7.1.11) ##### Bug Fixes - **dev:** trim trailing slash before `server.fs.deny` check ([#​20968](https://redirect.github.com/vitejs/vite/issues/20968)) ([f479cc5](https://redirect.github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed)) ##### Miscellaneous Chores - **deps:** update all non-major dependencies ([#​20966](https://redirect.github.com/vitejs/vite/issues/20966)) ([6fb41a2](https://redirect.github.com/vitejs/vite/commit/6fb41a260bda443685e719ea4765d3faca3db944)) ##### Code Refactoring - use subpath imports for types module reference ([#​20921](https://redirect.github.com/vitejs/vite/issues/20921)) ([d0094af](https://redirect.github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131)) ##### Build System - remove cjs reference in files field ([#​20945](https://redirect.github.com/vitejs/vite/issues/20945)) ([ef411ce](https://redirect.github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2)) - remove hash from built filenames ([#​20946](https://redirect.github.com/vitejs/vite/issues/20946)) ([a817307](https://redirect.github.com/vitejs/vite/commit/a81730754d655d1371ce0f4354af1c84e12f9f2d)) ### [`v7.1.10`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7110-2025-10-14-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.9...v7.1.10) ##### Bug Fixes - **css:** avoid duplicate style for server rendered stylesheet link and client inline style during dev ([#​20767](https://redirect.github.com/vitejs/vite/issues/20767)) ([3a92bc7](https://redirect.github.com/vitejs/vite/commit/3a92bc79b306a01b8aaf37f80b2239eaf6e488e7)) - **css:** respect emitAssets when cssCodeSplit=false ([#​20883](https://redirect.github.com/vitejs/vite/issues/20883)) ([d3e7eee](https://redirect.github.com/vitejs/vite/commit/d3e7eeefa91e1992f47694d16fe4dbe708c4d80e)) - **deps:** update all non-major dependencies ([879de86](https://redirect.github.com/vitejs/vite/commit/879de86935a31b4e47ab907ddd859366518ce268)) - **deps:** update all non-major dependencies ([#​20894](https://redirect.github.com/vitejs/vite/issues/20894)) ([3213f90](https://redirect.github.com/vitejs/vite/commit/3213f90ff0d8f274bcec65f40aac6dfcff1ac244)) - **dev:** allow aliases starting with `//` ([#​20760](https://redirect.github.com/vitejs/vite/issues/20760)) ([b95fa2a](https://redirect.github.com/vitejs/vite/commit/b95fa2aa7564eda4c9f05ee7616a2dbada35e463)) - **dev:** remove timestamp query consistently ([#​20887](https://redirect.github.com/vitejs/vite/issues/20887)) ([6537d15](https://redirect.github.com/vitejs/vite/commit/6537d15591619d7e1cfc1e50599bec16cd88340f)) - **esbuild:** inject esbuild helpers correctly for esbuild 0.25.9+ ([#​20906](https://redirect.github.com/vitejs/vite/issues/20906)) ([446eb38](https://redirect.github.com/vitejs/vite/commit/446eb386329ef682d614c77958a542f2dc222880)) - normalize path before calling `fileToBuiltUrl` ([#​20898](https://redirect.github.com/vitejs/vite/issues/20898)) ([73b6d24](https://redirect.github.com/vitejs/vite/commit/73b6d243e0398ee5d8d44c7d24162f4a0f4b1cf1)) - preserve original sourcemap file field when combining sourcemaps ([#​20926](https://redirect.github.com/vitejs/vite/issues/20926)) ([c714776](https://redirect.github.com/vitejs/vite/commit/c714776aa1dcc24299a81c1495cbcbb1b1ef1dd3)) ##### Documentation - correct `WebSocket` spelling ([#​20890](https://redirect.github.com/vitejs/vite/issues/20890)) ([29e98dc](https://redirect.github.com/vitejs/vite/commit/29e98dc3efe35efbd978523367c05db7d2e7a278)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20923](https://redirect.github.com/vitejs/vite/issues/20923)) ([a5e3b06](https://redirect.github.com/vitejs/vite/commit/a5e3b064fa7ca981cb6f15f8e88806b36a99b8bf)) ### [`v7.1.9`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-719-2025-10-03-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.8...v7.1.9) ##### Reverts - **server:** drain stdin when not interactive ([#​20885](https://redirect.github.com/vitejs/vite/issues/20885)) ([12d72b0](https://redirect.github.com/vitejs/vite/commit/12d72b0538ef1540bfb0f1dd8a44b75deaa3464e)) ### [`v7.1.8`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-718-2025-10-02-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.7...v7.1.8) ##### Bug Fixes - **css:** improve url escape characters handling ([#​20847](https://redirect.github.com/vitejs/vite/issues/20847)) ([24a61a3](https://redirect.github.com/vitejs/vite/commit/24a61a3f5404279e91f7ceebf7449a5e874f9d56)) - **deps:** update all non-major dependencies ([#​20855](https://redirect.github.com/vitejs/vite/issues/20855)) ([788a183](https://redirect.github.com/vitejs/vite/commit/788a183afce57de13f5656f0cf42cdf6fdc3ebaa)) - **deps:** update artichokie to 0.4.2 ([#​20864](https://redirect.github.com/vitejs/vite/issues/20864)) ([e670799](https://redirect.github.com/vitejs/vite/commit/e670799e123dca78e1a63aeb06dbadade3d5ab51)) - **dev:** skip JS responses for document requests ([#​20866](https://redirect.github.com/vitejs/vite/issues/20866)) ([6bc6c4d](https://redirect.github.com/vitejs/vite/commit/6bc6c4dbc23501577d3919dc841454eb2eb14a54)) - **glob:** fix HMR for array patterns with exclusions ([#​20872](https://redirect.github.com/vitejs/vite/issues/20872)) ([63e040f](https://redirect.github.com/vitejs/vite/commit/63e040f1ca6b635a007eb40aa7c8b891e8cc5799)) - keep ids for virtual modules as-is ([#​20808](https://redirect.github.com/vitejs/vite/issues/20808)) ([d4eca98](https://redirect.github.com/vitejs/vite/commit/d4eca986d679c77bd449db20fd99d8255985b550)) - **server:** drain stdin when not interactive ([#​20837](https://redirect.github.com/vitejs/vite/issues/20837)) ([bb950e9](https://redirect.github.com/vitejs/vite/commit/bb950e92b372f9a52245e9542cf9d9700d23ef8c)) - **server:** improve malformed URL handling in middlewares ([#​20830](https://redirect.github.com/vitejs/vite/issues/20830)) ([d65a983](https://redirect.github.com/vitejs/vite/commit/d65a9831c984e562c5bf2b5f427de16f6e1bd931)) ##### Documentation - **create-vite:** provide deno example ([#​20747](https://redirect.github.com/vitejs/vite/issues/20747)) ([fdb758a](https://redirect.github.com/vitejs/vite/commit/fdb758a51796b1ab605437b2eee778a84e87e169)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20810](https://redirect.github.com/vitejs/vite/issues/20810)) ([ea68a88](https://redirect.github.com/vitejs/vite/commit/ea68a8868c7ee249213057f8a81c3f92a9839dde)) - **deps:** update rolldown-related dependencies ([#​20854](https://redirect.github.com/vitejs/vite/issues/20854)) ([4dd06fd](https://redirect.github.com/vitejs/vite/commit/4dd06fdc8d643059c2abf88188eae7c4877aab6e)) - update url of `create-react-app` license ([#​20865](https://redirect.github.com/vitejs/vite/issues/20865)) ([166a178](https://redirect.github.com/vitejs/vite/commit/166a178f45b6e48db27b5626559f5ec3358c2fb4)) ### [`v7.1.7`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-717-2025-09-22-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.6...v7.1.7) ##### Bug Fixes - **build:** fix ssr environment `emitAssets: true` when `sharedConfigBuild: true` ([#​20787](https://redirect.github.com/vitejs/vite/issues/20787)) ([4c4583c](https://redirect.github.com/vitejs/vite/commit/4c4583ce7a13306e0853901570c5d95517fe81da)) - **client:** use CSP nonce when rendering error overlay ([#​20791](https://redirect.github.com/vitejs/vite/issues/20791)) ([9bc9d12](https://redirect.github.com/vitejs/vite/commit/9bc9d1258f550e9d8f5e530cd27aecb1bee32bdb)) - **deps:** update all non-major dependencies ([#​20811](https://redirect.github.com/vitejs/vite/issues/20811)) ([9f2247c](https://redirect.github.com/vitejs/vite/commit/9f2247c066cac75746356c9391845235445a154b)) - **glob:** handle glob imports from folders starting with dot ([#​20800](https://redirect.github.com/vitejs/vite/issues/20800)) ([105abe8](https://redirect.github.com/vitejs/vite/commit/105abe87c412cf0f83859ba41fed869221cbb3e0)) - **hmr:** trigger prune event when import is removed from non hmr module ([#​20768](https://redirect.github.com/vitejs/vite/issues/20768)) ([9f32b1d](https://redirect.github.com/vitejs/vite/commit/9f32b1dc710991c53a9f665c8d0d6945f342bf92)) - **hmr:** wait for `import.meta.hot.prune` callbacks to complete before running other HMRs ([#​20698](https://redirect.github.com/vitejs/vite/issues/20698)) ([98a3484](https://redirect.github.com/vitejs/vite/commit/98a3484733443ee529870477a6ab6a03572e3cbc)) ### [`v7.1.6`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-716-2025-09-18-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.5...v7.1.6) ##### Bug Fixes - **deps:** update all non-major dependencies ([#​20773](https://redirect.github.com/vitejs/vite/issues/20773)) ([88af2ae](https://redirect.github.com/vitejs/vite/commit/88af2ae7df77160e7d11a9fa147a4967c8499f13)) - **esbuild:** inject esbuild helper functions with minified `$` variables correctly ([#​20761](https://redirect.github.com/vitejs/vite/issues/20761)) ([7e8e004](https://redirect.github.com/vitejs/vite/commit/7e8e0043d60379e11da481d9cc3c3556c9756ac0)) - fallback terser to main thread when nameCache is provided ([#​20750](https://redirect.github.com/vitejs/vite/issues/20750)) ([a679a64](https://redirect.github.com/vitejs/vite/commit/a679a643404c95556dda2670643e14eca9c585bd)) - **types:** strict env typings fail when `skipLibCheck` is `false` ([#​20755](https://redirect.github.com/vitejs/vite/issues/20755)) ([cc54e29](https://redirect.github.com/vitejs/vite/commit/cc54e294746d3eac868de96f85d98dd0fa0cda11)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20675](https://redirect.github.com/vitejs/vite/issues/20675)) ([a67bb5f](https://redirect.github.com/vitejs/vite/commit/a67bb5fbec5f3e42151dc7e3166858d0d33533de)) - **deps:** update rolldown-related dependencies ([#​20772](https://redirect.github.com/vitejs/vite/issues/20772)) ([d785e72](https://redirect.github.com/vitejs/vite/commit/d785e72f2ead705e8b2416c0a5097878fced3435)) ### [`v7.1.5`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-715-2025-09-08-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.4...v7.1.5) ##### Bug Fixes - apply `fs.strict` check to HTML files ([#​20736](https://redirect.github.com/vitejs/vite/issues/20736)) ([14015d7](https://redirect.github.com/vitejs/vite/commit/14015d794f69accba68798bd0e15135bc51c9c1e)) - **deps:** update all non-major dependencies ([#​20732](https://redirect.github.com/vitejs/vite/issues/20732)) ([122bfba](https://redirect.github.com/vitejs/vite/commit/122bfbabeb1f095ce7cabd30893e5531e9a007c4)) - upgrade sirv to 3.0.2 ([#​20735](https://redirect.github.com/vitejs/vite/issues/20735)) ([09f2b52](https://redirect.github.com/vitejs/vite/commit/09f2b52e8d5907f26602653caf41b3a56692600d)) ### [`v7.1.4`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-714-2025-09-01-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.3...v7.1.4) ##### Bug Fixes - add missing awaits ([#​20697](https://redirect.github.com/vitejs/vite/issues/20697)) ([79d10ed](https://redirect.github.com/vitejs/vite/commit/79d10ed6341ba7a751d007b7ad113a9b8be9c853)) - **deps:** update all non-major dependencies ([#​20676](https://redirect.github.com/vitejs/vite/issues/20676)) ([5a274b2](https://redirect.github.com/vitejs/vite/commit/5a274b29df83744cf0ce4dafd94029d2a9e01135)) - **deps:** update all non-major dependencies ([#​20709](https://redirect.github.com/vitejs/vite/issues/20709)) ([0401feb](https://redirect.github.com/vitejs/vite/commit/0401feba17e60bd7e976c5643128a0da49670a83)) - pass rollup watch options when building in watch mode ([#​20674](https://redirect.github.com/vitejs/vite/issues/20674)) ([f367453](https://redirect.github.com/vitejs/vite/commit/f367453ca2825bc8a390d41c5d13b161756f2b41)) ##### Miscellaneous Chores - remove unused constants entry from rolldown.config.ts ([#​20710](https://redirect.github.com/vitejs/vite/issues/20710)) ([537fcf9](https://redirect.github.com/vitejs/vite/commit/537fcf91862a1bf51e70ce6fe9b414319dd3a675)) ##### Code Refactoring - remove unnecessary `minify` parameter from `finalizeCss` ([#​20701](https://redirect.github.com/vitejs/vite/issues/20701)) ([8099582](https://redirect.github.com/vitejs/vite/commit/8099582e5364f907f2bc6cb8e2d52ae0c4d937e4)) ### [`v7.1.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-713-2025-08-19-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.2...v7.1.3) ##### Features - **cli:** add Node.js version warning for unsupported versions ([#​20638](https://redirect.github.com/vitejs/vite/issues/20638)) ([a1be1bf](https://redirect.github.com/vitejs/vite/commit/a1be1bf0905b9086e5f1370c63d76a7fa4a195ec)) - generate code frame for parse errors thrown by terser ([#​20642](https://redirect.github.com/vitejs/vite/issues/20642)) ([a9ba017](https://redirect.github.com/vitejs/vite/commit/a9ba0174a58b949373d6b4240bc69180dff0b780)) - support long lines in `generateCodeFrame` ([#​20640](https://redirect.github.com/vitejs/vite/issues/20640)) ([1559577](https://redirect.github.com/vitejs/vite/commit/15595773170c2a07f2efdccee05964fb87c19ae6)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#​20634](https://redirect.github.com/vitejs/vite/issues/20634)) ([4851cab](https://redirect.github.com/vitejs/vite/commit/4851cab3ba818b5f0f82eef3796b61d4b12768f1)) - **optimizer:** incorrect incompatible error ([#​20439](https://redirect.github.com/vitejs/vite/issues/20439)) ([446fe83](https://redirect.github.com/vitejs/vite/commit/446fe83033686dd38d13b786a217b8277b5c5f09)) - support multiline new URL(..., import.meta.url) expressions ([#​20644](https://redirect.github.com/vitejs/vite/issues/20644)) ([9ccf142](https://redirect.github.com/vitejs/vite/commit/9ccf142764d48292aa33e5ca6f020a7d55b97f61)) ##### Performance Improvements - **cli:** dynamically import `resolveConfig` ([#​20646](https://redirect.github.com/vitejs/vite/issues/20646)) ([f691f57](https://redirect.github.com/vitejs/vite/commit/f691f57e46118328e00174160ceab2101b7256ca)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20633](https://redirect.github.com/vitejs/vite/issues/20633)) ([98b92e8](https://redirect.github.com/vitejs/vite/commit/98b92e8c4b10ae87c48292a8ac09b01ca81a02cf)) ##### Code Refactoring - replace startsWith with strict equality ([#​20603](https://redirect.github.com/vitejs/vite/issues/20603)) ([42816de](https://redirect.github.com/vitejs/vite/commit/42816dee0e177dded1c9de4d9099089ec4acef96)) - use `import` in worker threads ([#​20641](https://redirect.github.com/vitejs/vite/issues/20641)) ([530687a](https://redirect.github.com/vitejs/vite/commit/530687a344c51daf3115d1c134586bbde58356e0)) ##### Tests - remove `checkNodeVersion` test ([#​20647](https://redirect.github.com/vitejs/vite/issues/20647)) ([731d3e6](https://redirect.github.com/vitejs/vite/commit/731d3e61f444f6c5e611f67b531416ed6450f90f)) ### [`v7.1.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-712-2025-08-12-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.1...v7.1.2) ##### Bug Fixes - **client:** add `[vite]` prefixes to debug logs ([#​20595](https://redirect.github.com/vitejs/vite/issues/20595)) ([7cdef61](https://redirect.github.com/vitejs/vite/commit/7cdef612a65da5363905723f77516b6745ac9a94)) - **config:** make debugger work with bundle loader ([#​20573](https://redirect.github.com/vitejs/vite/issues/20573)) ([c583927](https://redirect.github.com/vitejs/vite/commit/c583927bee657f15f63fdf80468fbe6a74eacdec)) - **deps:** update all non-major dependencies ([#​20587](https://redirect.github.com/vitejs/vite/issues/20587)) ([20d4817](https://redirect.github.com/vitejs/vite/commit/20d48172a0352d32f766b3c878d52a8944fdbf6e)) - don't consider ids with `npm:` prefix as a built-in module ([#​20558](https://redirect.github.com/vitejs/vite/issues/20558)) ([ab33803](https://redirect.github.com/vitejs/vite/commit/ab33803f2c831a82ddee637ad62e0c4ceeb663f1)) - **hmr:** watch non-inlined assets referenced by CSS ([#​20581](https://redirect.github.com/vitejs/vite/issues/20581)) ([b7d494b](https://redirect.github.com/vitejs/vite/commit/b7d494bf60af3ef7316d87266bb3ebf56617d5fd)) - **module-runner:** prevent crash when sourceMappingURL pattern appears in string literals ([#​20554](https://redirect.github.com/vitejs/vite/issues/20554)) ([2770478](https://redirect.github.com/vitejs/vite/commit/2770478d1c190d3e3de34ef9a3d2c493c06e9933)) ##### Miscellaneous Chores - **deps:** migrate to `@jridgewell/remapping` from `@ampproject/remapping` ([#​20577](https://redirect.github.com/vitejs/vite/issues/20577)) ([0a6048a](https://redirect.github.com/vitejs/vite/commit/0a6048aba4523f451edf29ae4037d252cc963815)) - **deps:** update rolldown-related dependencies ([#​20586](https://redirect.github.com/vitejs/vite/issues/20586)) ([77632c5](https://redirect.github.com/vitejs/vite/commit/77632c55db51cd6d03bcf24a1cef8d21058100a3)) ### [`v7.1.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.1.0...v7.1.1) ##### Bug Fixes - **dev:** trim trailing slash before `server.fs.deny` check ([#​20968](https://redirect.github.com/vitejs/vite/issues/20968)) ([f479cc5](https://redirect.github.com/vitejs/vite/commit/f479cc57c425ed41ceb434fecebd63931b1ed4ed)) ##### Miscellaneous Chores - **deps:** update all non-major dependencies ([#​20966](https://redirect.github.com/vitejs/vite/issues/20966)) ([6fb41a2](https://redirect.github.com/vitejs/vite/commit/6fb41a260bda443685e719ea4765d3faca3db944)) ##### Code Refactoring - use subpath imports for types module reference ([#​20921](https://redirect.github.com/vitejs/vite/issues/20921)) ([d0094af](https://redirect.github.com/vitejs/vite/commit/d0094af639d9ebbb51d4e00910b74f23eb8fe131)) ##### Build System - remove cjs reference in files field ([#​20945](https://redirect.github.com/vitejs/vite/issues/20945)) ([ef411ce](https://redirect.github.com/vitejs/vite/commit/ef411cee2696af3ba791879fdae9aad165f178b2)) - remove hash from built filenames ([#​20946](https://redirect.github.com/vitejs/vite/issues/20946)) ([a817307](https://redirect.github.com/vitejs/vite/commit/a81730754d655d1371ce0f4354af1c84e12f9f2d)) ### [`v7.1.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.8...v7.1.0) ##### Features - support files with more than 1000 lines by `generateCodeFrame` ([#​20508](https://redirect.github.com/vitejs/vite/issues/20508)) ([e7d0b2a](https://redirect.github.com/vitejs/vite/commit/e7d0b2afa56840dabbbad10015dc04083caaf248)) - add `import.meta.main` support in config (bundle config loader) ([#​20516](https://redirect.github.com/vitejs/vite/issues/20516)) ([5d3e3c2](https://redirect.github.com/vitejs/vite/commit/5d3e3c2ae5a2174941fd09fd7842794a287c3ab7)) - **optimizer:** improve dependency optimization error messages with esbuild formatMessages ([#​20525](https://redirect.github.com/vitejs/vite/issues/20525)) ([d17cfed](https://redirect.github.com/vitejs/vite/commit/d17cfeda0741e4476570700a00b7b37917c97700)) - **ssr:** add `import.meta.main` support for Node.js module runner ([#​20517](https://redirect.github.com/vitejs/vite/issues/20517)) ([794a8f2](https://redirect.github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff)) - add `future: 'warn'` ([#​20473](https://redirect.github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://redirect.github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402)) - add `removeServerPluginContainer` future deprecation ([#​20437](https://redirect.github.com/vitejs/vite/issues/20437)) ([c1279e7](https://redirect.github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe)) - add `removeServerReloadModule` future deprecation ([#​20436](https://redirect.github.com/vitejs/vite/issues/20436)) ([6970d17](https://redirect.github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578)) - add `server.warmupRequest` to future deprecation ([#​20431](https://redirect.github.com/vitejs/vite/issues/20431)) ([8ad388a](https://redirect.github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b)) - add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#​20435](https://redirect.github.com/vitejs/vite/issues/20435)) ([8c8f587](https://redirect.github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374)) - **client:** ping from SharedWorker ([#​19057](https://redirect.github.com/vitejs/vite/issues/19057)) ([5c97c22](https://redirect.github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb)) - **dev:** add `this.fs` support ([#​20301](https://redirect.github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://redirect.github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3)) - export `defaultExternalConditions` ([#​20279](https://redirect.github.com/vitejs/vite/issues/20279)) ([344d302](https://redirect.github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00)) - implement `removePluginHookSsrArgument` future deprecation ([#​20433](https://redirect.github.com/vitejs/vite/issues/20433)) ([95927d9](https://redirect.github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90)) - implement `removeServerHot` future deprecation ([#​20434](https://redirect.github.com/vitejs/vite/issues/20434)) ([259f45d](https://redirect.github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1)) - resolve server URLs before calling other listeners ([#​19981](https://redirect.github.com/vitejs/vite/issues/19981)) ([45f6443](https://redirect.github.com/vitejs/vite/commit/45f6443a935258d8eee62874f0695b8c1c60a481)) - **ssr:** resolve externalized packages with `resolve.externalConditions` and add `module-sync` to default external condition ([#​20409](https://redirect.github.com/vitejs/vite/issues/20409)) ([c669c52](https://redirect.github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3)) - **ssr:** support `import.meta.resolve` in module runner ([#​20260](https://redirect.github.com/vitejs/vite/issues/20260)) ([62835f7](https://redirect.github.com/vitejs/vite/commit/62835f7c06d37802f0bc2abbf58bbaeaa8c73ce5)) ##### Bug Fixes - **css:** avoid warnings for `image-set` containing `__VITE_ASSET__` ([#​20520](https://redirect.github.com/vitejs/vite/issues/20520)) ([f1a2635](https://redirect.github.com/vitejs/vite/commit/f1a2635e6977a3eda681bec036f64f07686dad0d)) - **css:** empty CSS entry points should generate CSS files, not JS files ([#​20518](https://redirect.github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://redirect.github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e)) - **dev:** denied request stalled when requested concurrently ([#​20503](https://redirect.github.com/vitejs/vite/issues/20503)) ([64a52e7](https://redirect.github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257)) - **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#​20542](https://redirect.github.com/vitejs/vite/issues/20542)) ([6a46cda](https://redirect.github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19)) - skip prepareOutDirPlugin in workers ([#​20556](https://redirect.github.com/vitejs/vite/issues/20556)) ([97d5111](https://redirect.github.com/vitejs/vite/commit/97d5111645a395dae48b16b110bc76c1ee8956c8)) - **asset:** only watch existing files for `new URL(, import.meta.url)` ([#​20507](https://redirect.github.com/vitejs/vite/issues/20507)) ([1b211fd](https://redirect.github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8)) - **client:** keep ping on WS constructor error ([#​20512](https://redirect.github.com/vitejs/vite/issues/20512)) ([3676da5](https://redirect.github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5)) - **deps:** update all non-major dependencies ([#​20537](https://redirect.github.com/vitejs/vite/issues/20537)) ([fc9a9d3](https://redirect.github.com/vitejs/vite/commit/fc9a9d3f1493caa3d614f64e0a61fd5684f0928b)) - don't resolve as relative for specifiers starting with a dot ([#​20528](https://redirect.github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://redirect.github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3)) - **html:** allow control character in input stream ([#​20483](https://redirect.github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://redirect.github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7)) - merge old and new `noExternal: true` correctly ([#​20502](https://redirect.github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://redirect.github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a)) - **deps:** update all non-major dependencies ([#​20489](https://redirect.github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://redirect.github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1)) - **dev:** denied requests overly ([#​20410](https://redirect.github.com/vitejs/vite/issues/20410)) ([4be5270](https://redirect.github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4)) - **hmr:** register css deps as `type: asset` ([#​20391](https://redirect.github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://redirect.github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a)) - **optimizer:** discover correct jsx runtime during scan ([#​20495](https://redirect.github.com/vitejs/vite/issues/20495)) ([10d48bb](https://redirect.github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a)) - **preview:** set correct host for `resolvedUrls` ([#​20496](https://redirect.github.com/vitejs/vite/issues/20496)) ([62b3e0d](https://redirect.github.com/vitejs/vite/commit/62b3e0d95c143e2f8b4e88d99c381d23663025ee)) - **worker:** resolve WebKit compat with inline workers by deferring blob URL revocation ([#​20460](https://redirect.github.com/vitejs/vite/issues/20460)) ([8033e5b](https://redirect.github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd)) ##### Performance Improvements - **client:** reduce reload debounce ([#​20429](https://redirect.github.com/vitejs/vite/issues/20429)) ([22ad43b](https://redirect.github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20536](https://redirect.github.com/vitejs/vite/issues/20536)) ([8be2787](https://redirect.github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb)) - **deps:** update dependency parse5 to v8 ([#​20490](https://redirect.github.com/vitejs/vite/issues/20490)) ([744582d](https://redirect.github.com/vitejs/vite/commit/744582d0187c50045fb6cf229e3fab13093af08e)) - format ([f20addc](https://redirect.github.com/vitejs/vite/commit/f20addc5363058f5fd797e5bc71fab3877ed0a76)) - stablize `cssScopeTo` ([#​19592](https://redirect.github.com/vitejs/vite/issues/19592)) ([ced1343](https://redirect.github.com/vitejs/vite/commit/ced13433fb71e2101850a4da1b0ef70cbc38b804)) ##### Code Refactoring - use hook filters in the worker plugin ([#​20527](https://redirect.github.com/vitejs/vite/issues/20527)) ([958cdf2](https://redirect.github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b)) - extract prepareOutDir as a plugin ([#​20373](https://redirect.github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://redirect.github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462)) - extract resolve rollup options ([#​20375](https://redirect.github.com/vitejs/vite/issues/20375)) ([61a9778](https://redirect.github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05)) - rewrite openchrome.applescript to JXA ([#​20424](https://redirect.github.com/vitejs/vite/issues/20424)) ([7979f9d](https://redirect.github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4)) - use `http-proxy-3` ([#​20402](https://redirect.github.com/vitejs/vite/issues/20402)) ([26d9872](https://redirect.github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad)) - use hook filters in internal plugins ([#​20358](https://redirect.github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://redirect.github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874)) - use hook filters in internal resolve plugin ([#​20480](https://redirect.github.com/vitejs/vite/issues/20480)) ([acd2a13](https://redirect.github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1)) ##### Tests - detect ts support via `process.features` ([#​20544](https://redirect.github.com/vitejs/vite/issues/20544)) ([856d3f0](https://redirect.github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba)) - fix unimportant errors in test-unit ([#​20545](https://redirect.github.com/vitejs/vite/issues/20545)) ([1f23554](https://redirect.github.com/vitejs/vite/commit/1f235545b14a51d41b19a49da4a7e3a8e8eb5d10)) ##### Beta Changelogs ##### [7.1.0-beta.1](https://redirect.github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1) (2025-08-05) See [7.1.0-beta.1 changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md) ##### [7.1.0-beta.0](https://redirect.github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0) (2025-07-30) See [7.1.0-beta.0 changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md) ### [`v7.0.8`](https://redirect.github.com/vitejs/vite/releases/tag/v7.0.8) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.7...v7.0.8) Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v7.0.8/packages/vite/CHANGELOG.md) for details. ### [`v7.0.7`](https://redirect.github.com/vitejs/vite/releases/tag/v7.0.7) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.6...v7.0.7) Please refer to [CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v7.0.7/packages/vite/CHANGELOG.md) for details. ### [`v7.0.6`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.5...v7.0.6) ##### Features - support files with more than 1000 lines by `generateCodeFrame` ([#​20508](https://redirect.github.com/vitejs/vite/issues/20508)) ([e7d0b2a](https://redirect.github.com/vitejs/vite/commit/e7d0b2afa56840dabbbad10015dc04083caaf248)) - add `import.meta.main` support in config (bundle config loader) ([#​20516](https://redirect.github.com/vitejs/vite/issues/20516)) ([5d3e3c2](https://redirect.github.com/vitejs/vite/commit/5d3e3c2ae5a2174941fd09fd7842794a287c3ab7)) - **optimizer:** improve dependency optimization error messages with esbuild formatMessages ([#​20525](https://redirect.github.com/vitejs/vite/issues/20525)) ([d17cfed](https://redirect.github.com/vitejs/vite/commit/d17cfeda0741e4476570700a00b7b37917c97700)) - **ssr:** add `import.meta.main` support for Node.js module runner ([#​20517](https://redirect.github.com/vitejs/vite/issues/20517)) ([794a8f2](https://redirect.github.com/vitejs/vite/commit/794a8f230218a3b1e148defc5a2d7a67409177ff)) - add `future: 'warn'` ([#​20473](https://redirect.github.com/vitejs/vite/issues/20473)) ([e6aaf17](https://redirect.github.com/vitejs/vite/commit/e6aaf17ca21544572941957ce71bd8dbdc94e402)) - add `removeServerPluginContainer` future deprecation ([#​20437](https://redirect.github.com/vitejs/vite/issues/20437)) ([c1279e7](https://redirect.github.com/vitejs/vite/commit/c1279e75401ac6ea1d0678da88414a76ff36b6fe)) - add `removeServerReloadModule` future deprecation ([#​20436](https://redirect.github.com/vitejs/vite/issues/20436)) ([6970d17](https://redirect.github.com/vitejs/vite/commit/6970d1740cebd56af696abf60f30adb0c060f578)) - add `server.warmupRequest` to future deprecation ([#​20431](https://redirect.github.com/vitejs/vite/issues/20431)) ([8ad388a](https://redirect.github.com/vitejs/vite/commit/8ad388aeab0dc79e4bc14859b91174427805a46b)) - add `ssrFixStacktrace` / `ssrRewriteStacktrace` to `removeSsrLoadModule` future deprecation ([#​20435](https://redirect.github.com/vitejs/vite/issues/20435)) ([8c8f587](https://redirect.github.com/vitejs/vite/commit/8c8f5879ead251705c2c363f5b8b94f618fbf374)) - **client:** ping from SharedWorker ([#​19057](https://redirect.github.com/vitejs/vite/issues/19057)) ([5c97c22](https://redirect.github.com/vitejs/vite/commit/5c97c22548476e5f80856ece1d80b9234a7e6ecb)) - **dev:** add `this.fs` support ([#​20301](https://redirect.github.com/vitejs/vite/issues/20301)) ([0fe3f2f](https://redirect.github.com/vitejs/vite/commit/0fe3f2f7c325c5990f1059c28b66b24e1b8fd5d3)) - export `defaultExternalConditions` ([#​20279](https://redirect.github.com/vitejs/vite/issues/20279)) ([344d302](https://redirect.github.com/vitejs/vite/commit/344d30243b107852b133175e947a0410ea703f00)) - implement `removePluginHookSsrArgument` future deprecation ([#​20433](https://redirect.github.com/vitejs/vite/issues/20433)) ([95927d9](https://redirect.github.com/vitejs/vite/commit/95927d9c0ba1cb0b3bd8c900f039c099f8e29f90)) - implement `removeServerHot` future deprecation ([#​20434](https://redirect.github.com/vitejs/vite/issues/20434)) ([259f45d](https://redirect.github.com/vitejs/vite/commit/259f45d0698a184d6ecc352b610001fa1acdcee1)) - resolve server URLs before calling other listeners ([#​19981](https://redirect.github.com/vitejs/vite/issues/19981)) ([45f6443](https://redirect.github.com/vitejs/vite/commit/45f6443a935258d8eee62874f0695b8c1c60a481)) - **ssr:** resolve externalized packages with `resolve.externalConditions` and add `module-sync` to default external condition ([#​20409](https://redirect.github.com/vitejs/vite/issues/20409)) ([c669c52](https://redirect.github.com/vitejs/vite/commit/c669c524e6008a4902169f4b2f865e892297acf3)) - **ssr:** support `import.meta.resolve` in module runner ([#​20260](https://redirect.github.com/vitejs/vite/issues/20260)) ([62835f7](https://redirect.github.com/vitejs/vite/commit/62835f7c06d37802f0bc2abbf58bbaeaa8c73ce5)) ##### Bug Fixes - **css:** avoid warnings for `image-set` containing `__VITE_ASSET__` ([#​20520](https://redirect.github.com/vitejs/vite/issues/20520)) ([f1a2635](https://redirect.github.com/vitejs/vite/commit/f1a2635e6977a3eda681bec036f64f07686dad0d)) - **css:** empty CSS entry points should generate CSS files, not JS files ([#​20518](https://redirect.github.com/vitejs/vite/issues/20518)) ([bac9f3e](https://redirect.github.com/vitejs/vite/commit/bac9f3ecf84ae5c5add6ef224ae057508247f89e)) - **dev:** denied request stalled when requested concurrently ([#​20503](https://redirect.github.com/vitejs/vite/issues/20503)) ([64a52e7](https://redirect.github.com/vitejs/vite/commit/64a52e70d9250b16aa81ce2df27c23fe56907257)) - **manifest:** initialize `entryCssAssetFileNames` as an empty Set ([#​20542](https://redirect.github.com/vitejs/vite/issues/20542)) ([6a46cda](https://redirect.github.com/vitejs/vite/commit/6a46cdac5dece70296d1179640958deeeb2e6c19)) - skip prepareOutDirPlugin in workers ([#​20556](https://redirect.github.com/vitejs/vite/issues/20556)) ([97d5111](https://redirect.github.com/vitejs/vite/commit/97d5111645a395dae48b16b110bc76c1ee8956c8)) - **asset:** only watch existing files for `new URL(, import.meta.url)` ([#​20507](https://redirect.github.com/vitejs/vite/issues/20507)) ([1b211fd](https://redirect.github.com/vitejs/vite/commit/1b211fd1beccd0fc13bec700815abaa9f54147e8)) - **client:** keep ping on WS constructor error ([#​20512](https://redirect.github.com/vitejs/vite/issues/20512)) ([3676da5](https://redirect.github.com/vitejs/vite/commit/3676da5bc5b2b69b28619b8521fca94d30468fe5)) - **deps:** update all non-major dependencies ([#​20537](https://redirect.github.com/vitejs/vite/issues/20537)) ([fc9a9d3](https://redirect.github.com/vitejs/vite/commit/fc9a9d3f1493caa3d614f64e0a61fd5684f0928b)) - don't resolve as relative for specifiers starting with a dot ([#​20528](https://redirect.github.com/vitejs/vite/issues/20528)) ([c5a10ec](https://redirect.github.com/vitejs/vite/commit/c5a10ec004130bec17cf42760b76d1d404008fa3)) - **html:** allow control character in input stream ([#​20483](https://redirect.github.com/vitejs/vite/issues/20483)) ([c12a4a7](https://redirect.github.com/vitejs/vite/commit/c12a4a76a299237a0a13b885c72fdda6e4a3c9b7)) - merge old and new `noExternal: true` correctly ([#​20502](https://redirect.github.com/vitejs/vite/issues/20502)) ([9ebe4a5](https://redirect.github.com/vitejs/vite/commit/9ebe4a514a2e48e3fe194f16b0556a45ff38077a)) - **deps:** update all non-major dependencies ([#​20489](https://redirect.github.com/vitejs/vite/issues/20489)) ([f6aa04a](https://redirect.github.com/vitejs/vite/commit/f6aa04a52d486c8881f666c450caa3dab3c6bba1)) - **dev:** denied requests overly ([#​20410](https://redirect.github.com/vitejs/vite/issues/20410)) ([4be5270](https://redirect.github.com/vitejs/vite/commit/4be5270b27f7e6323f1771974b4b3520d86600e4)) - **hmr:** register css deps as `type: asset` ([#​20391](https://redirect.github.com/vitejs/vite/issues/20391)) ([7eac8dd](https://redirect.github.com/vitejs/vite/commit/7eac8ddb65033b8c001d6c6bc46aaeeefb79680a)) - **optimizer:** discover correct jsx runtime during scan ([#​20495](https://redirect.github.com/vitejs/vite/issues/20495)) ([10d48bb](https://redirect.github.com/vitejs/vite/commit/10d48bb2e30824d217e415a58cea9e69c2820c2a)) - **preview:** set correct host for `resolvedUrls` ([#​20496](https://redirect.github.com/vitejs/vite/issues/20496)) ([62b3e0d](https://redirect.github.com/vitejs/vite/commit/62b3e0d95c143e2f8b4e88d99c381d23663025ee)) - **worker:** resolve WebKit compat with inline workers by deferring blob URL revocation ([#​20460](https://redirect.github.com/vitejs/vite/issues/20460)) ([8033e5b](https://redirect.github.com/vitejs/vite/commit/8033e5bf8d3ff43995d0620490ed8739c59171dd)) ##### Performance Improvements - **client:** reduce reload debounce ([#​20429](https://redirect.github.com/vitejs/vite/issues/20429)) ([22ad43b](https://redirect.github.com/vitejs/vite/commit/22ad43b4bf2435efe78a65b84e8469b23521900a)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20536](https://redirect.github.com/vitejs/vite/issues/20536)) ([8be2787](https://redirect.github.com/vitejs/vite/commit/8be278748a92b128c49a24619d8d537dd2b08ceb)) - **deps:** update dependency parse5 to v8 ([#​20490](https://redirect.github.com/vitejs/vite/issues/20490)) ([744582d](https://redirect.github.com/vitejs/vite/commit/744582d0187c50045fb6cf229e3fab13093af08e)) - format ([f20addc](https://redirect.github.com/vitejs/vite/commit/f20addc5363058f5fd797e5bc71fab3877ed0a76)) - stablize `cssScopeTo` ([#​19592](https://redirect.github.com/vitejs/vite/issues/19592)) ([ced1343](https://redirect.github.com/vitejs/vite/commit/ced13433fb71e2101850a4da1b0ef70cbc38b804)) ##### Code Refactoring - use hook filters in the worker plugin ([#​20527](https://redirect.github.com/vitejs/vite/issues/20527)) ([958cdf2](https://redirect.github.com/vitejs/vite/commit/958cdf24f882be6953ca20912dd30c84213b069b)) - extract prepareOutDir as a plugin ([#​20373](https://redirect.github.com/vitejs/vite/issues/20373)) ([2c4af1f](https://redirect.github.com/vitejs/vite/commit/2c4af1f90b3ac98df6f4585a329528e6bd850462)) - extract resolve rollup options ([#​20375](https://redirect.github.com/vitejs/vite/issues/20375)) ([61a9778](https://redirect.github.com/vitejs/vite/commit/61a97780e6c54adb87345cb8c1f5f0d8e9ca5c05)) - rewrite openchrome.applescript to JXA ([#​20424](https://redirect.github.com/vitejs/vite/issues/20424)) ([7979f9d](https://redirect.github.com/vitejs/vite/commit/7979f9da555aa16bd221b32ea78ce8cb5292fac4)) - use `http-proxy-3` ([#​20402](https://redirect.github.com/vitejs/vite/issues/20402)) ([26d9872](https://redirect.github.com/vitejs/vite/commit/26d987232aad389733a7635b92122bb1d78dfcad)) - use hook filters in internal plugins ([#​20358](https://redirect.github.com/vitejs/vite/issues/20358)) ([f19c4d7](https://redirect.github.com/vitejs/vite/commit/f19c4d72de142814994e30120aa4ad57552cb874)) - use hook filters in internal resolve plugin ([#​20480](https://redirect.github.com/vitejs/vite/issues/20480)) ([acd2a13](https://redirect.github.com/vitejs/vite/commit/acd2a13c2d80e8c5c721bcf9738dfc03346cbfe1)) ##### Tests - detect ts support via `process.features` ([#​20544](https://redirect.github.com/vitejs/vite/issues/20544)) ([856d3f0](https://redirect.github.com/vitejs/vite/commit/856d3f06e6889979f630c8453fa385f01d8adaba)) - fix unimportant errors in test-unit ([#​20545](https://redirect.github.com/vitejs/vite/issues/20545)) ([1f23554](https://redirect.github.com/vitejs/vite/commit/1f235545b14a51d41b19a49da4a7e3a8e8eb5d10)) ##### Beta Changelogs ##### [7.1.0-beta.1](https://redirect.github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1) (2025-08-05) See [7.1.0-beta.1 changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md) ##### [7.1.0-beta.0](https://redirect.github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0) (2025-07-30) See [7.1.0-beta.0 changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md) ### [`v7.0.5`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-705-2025-07-17-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.4...v7.0.5) ##### Bug Fixes - **deps:** update all non-major dependencies ([#​20406](https://redirect.github.com/vitejs/vite/issues/20406)) ([1a1cc8a](https://redirect.github.com/vitejs/vite/commit/1a1cc8a435a21996255b3e5cc75ed4680de2a7f3)) - remove special handling for `Accept: text/html` ([#​20376](https://redirect.github.com/vitejs/vite/issues/20376)) ([c9614b9](https://redirect.github.com/vitejs/vite/commit/c9614b9c378be4a32e84f37be71a8becce52af7b)) - watch assets referenced by `new URL(, import.meta.url)` ([#​20382](https://redirect.github.com/vitejs/vite/issues/20382)) ([6bc8bf6](https://redirect.github.com/vitejs/vite/commit/6bc8bf634d4a2c9915da9813963dd80a4186daeb)) ##### Miscellaneous Chores - **deps:** update dependency rolldown to ^1.0.0-beta.27 ([#​20405](https://redirect.github.com/vitejs/vite/issues/20405)) ([1165667](https://redirect.github.com/vitejs/vite/commit/1165667b271fb1fb76584278e72a85d564c9bb09)) ##### Code Refactoring - use `foo.endsWith("bar")` instead of `/bar$/.test(foo)` ([#​20413](https://redirect.github.com/vitejs/vite/issues/20413)) ([862e192](https://redirect.github.com/vitejs/vite/commit/862e192d21f66039635a998724bdc6b94fd293a0)) ### [`v7.0.4`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-704-2025-07-10-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.3...v7.0.4) ##### Bug Fixes - allow resolving bare specifiers to relative paths for entries ([#​20379](https://redirect.github.com/vitejs/vite/issues/20379)) ([324669c](https://redirect.github.com/vitejs/vite/commit/324669c2d84966a822b1b2c134c9830a90bed271)) ##### Build System - remove `@oxc-project/runtime` devDep ([#​20389](https://redirect.github.com/vitejs/vite/issues/20389)) ([5e29602](https://redirect.github.com/vitejs/vite/commit/5e29602f6fe4bf28f6e7c869a214dee6957f855c)) ### [`v7.0.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-703-2025-07-08-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.2...v7.0.3) ##### Bug Fixes - **client:** protect against window being defined but addEv undefined ([#​20359](https://redirect.github.com/vitejs/vite/issues/20359)) ([31d1467](https://redirect.github.com/vitejs/vite/commit/31d1467cf0da1e1dca623e6df0d345b30fae0c3d)) - **define:** replace optional values ([#​20338](https://redirect.github.com/vitejs/vite/issues/20338)) ([9465ae1](https://redirect.github.com/vitejs/vite/commit/9465ae1378b456e08659a22286bee6bce8edeedc)) - **deps:** update all non-major dependencies ([#​20366](https://redirect.github.com/vitejs/vite/issues/20366)) ([43ac73d](https://redirect.github.com/vitejs/vite/commit/43ac73da27b3907c701e95e6a7d28fde659729ec)) ##### Miscellaneous Chores - **deps:** update dependency dotenv to v17 ([#​20325](https://redirect.github.com/vitejs/vite/issues/20325)) ([45040d4](https://redirect.github.com/vitejs/vite/commit/45040d48076302eeb101f8d07bbcd04758fde8a4)) - **deps:** update dependency rolldown to ^1.0.0-beta.24 ([#​20365](https://redirect.github.com/vitejs/vite/issues/20365)) ([5ab25e7](https://redirect.github.com/vitejs/vite/commit/5ab25e73a2ea2a2e2c0469350288a183dfb57030)) - use `n/prefer-node-protocol` rule ([#​20368](https://redirect.github.com/vitejs/vite/issues/20368)) ([38bb268](https://redirect.github.com/vitejs/vite/commit/38bb268cde15541321f36016e77d61eecb707298)) ##### Code Refactoring - minor changes to reduce diff between normal Vite and rolldown-vite ([#​20354](https://redirect.github.com/vitejs/vite/issues/20354)) ([2e8050e](https://redirect.github.com/vitejs/vite/commit/2e8050e4cd8835673baf07375b7db35128144222)) ### [`v7.0.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-702-2025-07-04-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.1...v7.0.2) ##### Bug Fixes - **css:** resolve relative paths in sass, revert [#​20300](https://redirect.github.com/vitejs/vite/issues/20300) ([#​20349](https://redirect.github.com/vitejs/vite/issues/20349)) ([db8bd41](https://redirect.github.com/vitejs/vite/commit/db8bd412a8b783fe8e9f82d1a822b0534abbf5a3)) ### [`v7.0.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-701-2025-07-03-small) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v7.0.0...v7.0.1) ##### Bug Fixes - **css:** skip resolving resolved paths in sass ([#​20300](https://redirect.github.com/vitejs/vite/issues/20300)) ([ac528a4](https://redirect.github.com/vitejs/vite/commit/ac528a44c384fefb6f10c3f531df93b5ac39324c)) - **deps:** update all non-major dependencies ([#​20324](https://redirect.github.com/vitejs/vite/issues/20324)) ([3e81af3](https://redirect.github.com/vitejs/vite/commit/3e81af38a80c7617aba6bf3300d8b4267570f9cf)) - **types:** add a global interface for Worker ([#​20243](https://redirect.github.com/vitejs/vite/issues/20243)) ([37bdfc1](https://redirect.github.com/vitejs/vite/commit/37bdfc18f4c5bed053a38c5d717df33036acdd62)) ##### Miscellaneous Chores - **deps:** update rolldown-related dependencies ([#​20323](https://redirect.github.com/vitejs/vite/issues/20323)) ([30d2f1b](https://redirect.github.com/vitejs/vite/commit/30d2f1b38c72387ffdca3ee4746730959a020b59)) - fix typos and grammatical errors across documentation and comments ([#​20337](https://redirect.github.com/vitejs/vite/issues/20337)) ([c1c951d](https://redirect.github.com/vitejs/vite/commit/c1c951dcc32ec9f133b03ebbceddd749fc14f1e9)) - group commits by category in changelog ([#​20310](https://redirect.github.com/vitejs/vite/issues/20310)) ([41e83f6](https://redirect.github.com/vitejs/vite/commit/41e83f62b1adb65f5af4c1ec006de1c845437edc)) - rearrange 7.0 changelog ([#​20280](https://redirect.github.com/vitejs/vite/issues/20280)) ([eafd28a](https://redirect.github.com/vitejs/vite/commit/eafd28ac88d5908cbc3e0a047ed7a12094386436)) ### [`v7.0.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#700-2025-06-24) [Compare Source](https://redirect.github.com/vitejs/vite/compare/v6.4.1...v7.0.0)  Today, we're excited to announce the release of the next Vite major: - **[Vite 7.0 announcement blog post](https://vite.dev/blog/announcing-vite7.html)** - [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/)) - [Migration Guide](https://vite.dev/guide/migration.html) ##### ⚠ BREAKING CHANGES - **ssr:** don't access `Object` variable in ssr transformed code ([#​19996](https://redirect.github.com/vitejs/vite/issues/19996)) - remove `experimental.skipSsrTransform` option ([#​20038](https://redirect.github.com/vitejs/vite/issues/20038)) - remove `HotBroadcaster` ([#​19988](https://redirect.github.com/vitejs/vite/issues/19988)) - **css:** always use sass compiler API ([#​19978](https://redirect.github.com/vitejs/vite/issues/19978)) - bump `build.target` and name it `baseline-widely-available` ([#​20007](https://redirect.github.com/vitejs/vite/issues/20007)) - bump required node version to 20.19+, 22.12+ and remove cjs build ([#​20032](https://redirect.github.com/vitejs/vite/issues/20032)) - **css:** remove sass legacy API support ([#​19977](https://redirect.github.com/vitejs/vite/issues/19977)) - remove deprecated `HotBroadcaster` related types ([#​19987](https://redirect.github.com/vitejs/vite/issues/19987)) - remove deprecated no-op type only properties ([#​19985](https://redirect.github.com/vitejs/vite/issues/19985)) - remove node 18 support ([#​19972](https://redirect.github.com/vitejs/vite/issues/19972)) - remove deprecated hook-level `enforce`/`transform` from `transformIndexHtml` hook ([#​19349](https://redirect.github.com/vitejs/vite/issues/19349)) - remove deprecated splitVendorChunkPlugin ([#​19255](https://redirect.github.com/vitejs/vite/issues/19255)) ##### Features - **types:** use terser types from terser package ([#​20274](https://redirect.github.com/vitejs/vite/issues/20274)) ([a5799fa](https://redirect.github.com/vitejs/vite/commit/a5799fa74c6190ecbb2da3d280136ff32463afc6)) - apply some middlewares before `configurePreviewServer` hook ([#​20224](https://redirect.github.com/vitejs/vite/issues/20224)) ([b989c42](https://redirect.github.com/vitejs/vite/commit/b989c42cf84378e6cb93970de739941f0d56d6f6)) - apply some middlewares before `configureServer` hook ([#​20222](https://redirect.github.com/vitejs/vite/issues/20222)) ([f5cc4c0](https://redirect.github.com/vitejs/vite/commit/f5cc4c0ded337670b439e51bc95f173e2b5cf9ad)) - add base option to import.meta.glob ([#​20163](https://redirect.github.com/vitejs/vite/issues/20163)) ([253d6c6](https://redirect.github.com/vitejs/vite/commit/253d6c6df2ebe3c4a88dabb6cec000128681561f)) - add `this.meta.viteVersion` ([#​20088](https://redirect.github.com/vitejs/vite/issues/20088)) ([f55bf41](https://redirect.github.com/vitejs/vite/commit/f55bf41e91f8dfe829a46e58f0035b19c8ab6a25)) - allow passing down resolved config to vite's `createServer` ([#​19894](https://redirect.github.com/vitejs/vite/issues/19894)) ([c1ae9bd](https://redirect.github.com/vitejs/vite/commit/c1ae9bd4a0542b4703ae7766ad61d072e8b833bd)) - buildApp hook ([#​19971](https://redirect.github.com/vitejs/vite/issues/19971)) ([5da659d](https://redirect.github.com/vitejs/vite/commit/5da659de902f0a2d6d8beefbf269128383b63887)) - **build:** provide names for asset entrypoints ([#​19912](https://redirect.github.com/vitejs/vite/issues/19912)) ([c4e01dc](https://redirect.github.com/vitejs/vite/commit/c4e01dc5ab0f1708383c39d28ce62e12b8f374fc)) - bump `build.target` and name it `baseline-widely-available` ([#​20007](https://redirect.github.com/vitejs/vite/issues/20007)) ([4a8aa82](https://redirect.github.com/vitejs/vite/commit/4a8aa82556eb2b9e54673a6aac77873e0eb27fa9)) - **client:** support opening fileURL in editor ([#​20040](https://redirect.github.com/vitejs/vite/issues/20040)) ([1bde4d2](https://redirect.github.com/vitejs/vite/commit/1bde4d25243cd9beaadb01413e896fef562626ef)) - make PluginContext available for Vite-specific hooks ([#​19936](https://redirect.github.com/vitejs/vite/issues/19936)) ([7063839](https://redirect.github.com/vitejs/vite/commit/7063839d47dfd4ac6be1247ba68e414ffe287b00)) - resolve environments plugins at config time ([#​20120](https://redirect.github.com/vitejs/vite/issues/20120)) ([f6a28d5](https://redirect.github.com/vitejs/vite/commit/f6a28d5f792ba5cc4dc236e3e6edd05199cabcc8)) - stabilize `css.preprocessorMaxWorkers` and default to `true` ([#​19992](https://redirect.github.com/vitejs/vite/issues/19992)) ([70aee13](https://redirect.github.com/vitejs/vite/commit/70aee139ea802478bad56e5e441f187140bcf0cc)) - stabilize `optimizeDeps.noDiscovery` ([#​19984](https://redirect.github.com/vitejs/vite/issues/19984)) ([6d2dcb4](https://redirect.github.com/vitejs/vite/commit/6d2dcb494db9f40565f11b50bdbb8c1b7245697d)) ##### Bug Fixes - **deps:** update all non-major dependencies ([#​20271](https://redirect.github.com/vitejs/vite/issues/20271)) ([6b64d63](https://redirect.github.com/vitejs/vite/commit/6b64d63d700154de2c00270 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), 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:eyJjcmVhdGVkSW5WZXIiOiI0MS4xNDMuMSIsInVwZGF0ZWRJblZlciI6IjQxLjE0My4xIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> |
||
|
|
e4f9d42990 |
fix(core): can not scroll all page list in MacOS 26 (#13763)
Close https://github.com/toeverything/AFFiNE/issues/13754 #### PR Dependency Tree * **PR #13763** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated page layout sizing to no longer force full-height on the docs body, allowing height to adapt to content. * Improves natural scrolling and reduces layout constraints in the workspace “All” page. * Enhances responsiveness across varying screen sizes by relying on content and container sizing rules. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
a35332634a |
fix(core): correct doc icon padding in editor header (#13721)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Refined vertical spacing in the document icon picker header, reducing excess top padding and setting a consistent bottom padding for a cleaner, tighter layout. * Improves visual alignment and readability without altering functionality—interactions and behavior remain unchanged. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
d80ca57e94 |
fix(core): change doc icon layout to avoid incorrect color caused by the transform (#13719)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated document title styling for improved readability (larger font, increased line height, heavier weight). * Refined spacing so titles align correctly when a document icon is present (no extra top padding). * Improved emoji rendering by using a consistent font and removing an unnecessary visual artifact. * Simplified title container behavior to ensure stable, predictable alignment without placeholder-based shifts. * **Chores** * Minor UI cleanup and consistency adjustments for the icon/title area. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 --> |
||
|
|
26fbde6b62 |
fix(core): quick search modal on mobile device (#13694)
When searching on a mobile device, the search modal is wider than the screen, making it hard to use <img width="345" height="454" alt="Screenshot 2025-10-04 at 17 43 54" src="https://github.com/user-attachments/assets/10594459-86c5-470b-a22f-578363694383" /> Now with the fix applied, it is usable <img width="350" height="454" alt="Screenshot 2025-10-04 at 17 44 14" src="https://github.com/user-attachments/assets/eb783f5b-e3b6-4b7d-8f31-0d876911d95f" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Style** - Improved mobile responsiveness of the Quick Search modal. On screens 520px wide or smaller, the modal content now adapts its width instead of enforcing a minimum, reducing overflow and improving readability on small devices. - No visual or behavioral changes on larger screens; existing layouts and interactions remain unchanged. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
072b5b22df |
fix(core): display affine icon in lit correctly (#13708)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - New Features - Added an alternative icon rendering option for document icons, delivering crisper visuals and consistent emoji/icon display. - Style - Improved icon alignment and sizing within grouped icon buttons for more consistent centering and appearance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Wu Yue <akumatus@gmail.com> |
||
|
|
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 --> |
||
|
|
856b69e1f6 |
fix(core): optimize settings dialog's right-side content scroll position (#13236)
In the settings dialog, when switching between different setting items, the right-side content retains the previous scroll position. I think it would be better for the right side to return to the top every time a switch is made, so I submitted this PR. **before** https://github.com/user-attachments/assets/a2d10601-6173-41d3-8d68-6fbccc62aaa7 **after** https://github.com/user-attachments/assets/f240348b-e131-4703-8232-1a07e924162d <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Ensured the settings dialog always scrolls to the top when the settings state updates, improving user experience when navigating settings. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com> |
||
|
|
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. [#​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. [#​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. [#​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. [#​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`. [#​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'`. [#​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. [#​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. [#​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). [#​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. [#​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. [#​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`. [#​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. [#​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. [#​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. [#​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`. [#​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> |
||
|
|
03ef4625bc |
feat(core): handle AI subscription for pro models (#13682)
<img width="576" height="251" alt="截屏2025-09-30 14 55 20" src="https://github.com/user-attachments/assets/947a4ab3-8b34-434d-94a6-afb5dad3d32c" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added “Subscribe to AI” action across chat experiences (panel, content, composer, input, playground, peek view) that launches an in-app checkout flow. - Chat content now refreshes subscription status when opened; desktop chat pages wire the subscription action for seamless checkout. - **Style** - Polished hover state for the subscription icon in chat preferences. <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
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 --> |