Skip to content

Conversation

Lakr233
Copy link
Collaborator

@Lakr233 Lakr233 commented Sep 18, 2025

Summary by CodeRabbit

  • New Features

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

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

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

    • Added iOS Swift code style and architecture guidelines.
  • Chores

    • Updated Xcode project format and repository ignore rules.

Copy link
Contributor

coderabbitai bot commented Sep 18, 2025

Walkthrough

Adds in-repo Then DSL and removes external Then dependency; introduces a new AffineResources Swift package for colors/icons and updates related UIKit/SwiftUI extensions to use it; updates package pins (MarkdownView 3.4.2), project settings, and GraphQL schema config parameter naming; adds iOS Swift coding guidelines doc.

Changes

Cohort / File(s) Summary
Documentation
packages/frontend/apps/ios/AGENTS.md
New Swift code style and architecture guidelines document.
Dependency updates
.../App.xcworkspace/xcshareddata/swiftpm/Package.resolved
Bump MarkdownView to 3.4.2; remove Then pin.
Intelligents package manifest
.../Packages/Intelligents/Package.swift
Add local AffineResources dependency; remove Then; adjust URLs; update MarkdownView to 3.4.2; add resources to target.
Project configuration
.../App/App.xcodeproj/project.pbxproj
Update objectVersion to 77; add AffineResources to project groups; minor build phase fields.
New AffineResources package
.../Packages/AffineResources/.gitignore, .../Packages/AffineResources/Package.swift, .../Packages/AffineResources/Sources/AffineResources/AffineResources.swift
New SPM package exposing color/icon assets via AffineColors and AffineIcons.
Theme bridging (SwiftUI/UIKit)
.../Intelligents/Sources/Intelligents/Extension/Color+Affine.swift, .../Extension/Image+Affine.swift, .../Extension/UIColor+Affine.swift, .../Extension/UIImage+Affine.swift
Route color/image access through AffineResources for SwiftUI Color/Image and UIKit UIColor/UIImage.
In-repo Then DSL
.../Intelligents/Sources/Intelligents/Extension/Then.swift
Add public Then protocol and with/do/then helpers; conform common types and NSObject.
Remove external Then imports
.../Interface/Controller/AttachmentManagementController/AttachmentManagementController.swift, .../MainViewController/MainViewController.swift, .../View/ChatCell/AssistantMessageCell.swift, .../ChatBaseCell.swift, .../ErrorCell.swift, .../LoadingCell.swift, .../SystemMessageCell.swift, .../UserMessageCell.swift, .../View/DocumentPickerView/DocumentPickerView.swift, .../DocumentTableViewCell.swift, .../FileAttachmentHeaderView.swift, .../ImageAttachmentBar.swift, .../InputBox/InputBox.swift, .../InputBoxFunctionBar.swift, .../IntelligentsButton.swift, .../MainHeaderView.swift
Delete import Then lines; continued usage relies on new in-repo Then extension.
GraphQL schema config
.../AffineGraphQL/Sources/Schema/SchemaConfiguration.swift
Rename internal parameter to type and make return nil explicit in cacheKeyInfo(for:object:).

Sequence Diagram(s)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • EYHN
  • forehalo
  • darkskygit

Poem

I thump my paws—new colors bloom,
Icons hop from a tidy room.
Then I whisper, “then,” in code,
No more carts from distant road.
Bundles packed, the carrots bright,
Swiftly styled, we ship tonight. 🥕✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title "chore: fix building the app" is concise and accurately captures the PR’s primary intent—restoring a working build—which aligns with substantial changes in the diff (adding AffineResources, inlining/replacing Then, updating package manifests and the Xcode project). It clearly signals the change’s scope without extraneous detail.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch affine-intelligent-build-fix-1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

codecov bot commented Sep 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 56.72%. Comparing base (ee77c54) to head (6312727).
⚠️ Report is 1 commits behind head on canary.

Additional details and impacted files
@@            Coverage Diff             @@
##           canary   #13606      +/-   ##
==========================================
- Coverage   57.29%   56.72%   -0.57%     
==========================================
  Files        2721     2721              
  Lines      135590   135590              
  Branches    20885    20779     -106     
==========================================
- Hits        77689    76917     -772     
- Misses      56233    57002     +769     
- Partials     1668     1671       +3     
Flag Coverage Δ
server-test 77.81% <ø> (-1.26%) ⬇️
unittest 32.04% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/SchemaConfiguration.swift (1)

11-14: Signature/return clarity: LGTM.

No functional change; safe default. Consider implementing cache keys (e.g., using “id” fields) later for normalized caching.

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Then.swift (1)

23-23: Remove stray/deceptive comment.

“this package uses swift version 5.0 which is currently broken” is misleading here.

Apply this diff:

-// this package uses swift version 5.0 which is currently broken
+
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 8964686 and e531e2d.

⛔ Files ignored due to path filters (1)
  • packages/frontend/apps/ios/App/Podfile.lock is excluded by !**/*.lock
📒 Files selected for processing (24)
  • packages/frontend/apps/ios/AGENTS.md (1 hunks)
  • packages/frontend/apps/ios/App/App.xcworkspace/xcshareddata/swiftpm/Package.resolved (1 hunks)
  • packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars/JSON.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars/JSONObject.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/SchemaConfiguration.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Package.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Then.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/Controller/AttachmentManagementController/AttachmentManagementController.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/Controller/MainViewController/MainViewController.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/AssistantMessageCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/ChatBaseCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/ErrorCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/LoadingCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/SystemMessageCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/UserMessageCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/DocumentPickerView/DocumentPickerView.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/DocumentPickerView/DocumentTableViewCell.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/FileAttachmentHeader/FileAttachmentHeaderView.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ImageAttachmentBar/ImageAttachmentBar.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/InputBox/InputBox.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/InputBox/InputBoxFunctionBar.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/IntelligentsButton/IntelligentsButton.swift (0 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/MainHeaderView/MainHeaderView.swift (0 hunks)
  • packages/frontend/apps/ios/apollo-codegen-chore.sh (1 hunks)
💤 Files with no reviewable changes (16)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/InputBox/InputBox.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/IntelligentsButton/IntelligentsButton.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ImageAttachmentBar/ImageAttachmentBar.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/LoadingCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/Controller/MainViewController/MainViewController.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/FileAttachmentHeader/FileAttachmentHeaderView.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/MainHeaderView/MainHeaderView.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/AssistantMessageCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/UserMessageCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/ErrorCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/DocumentPickerView/DocumentTableViewCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/ChatBaseCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/InputBox/InputBoxFunctionBar.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/DocumentPickerView/DocumentPickerView.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/View/ChatCell/SystemMessageCell.swift
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Interface/Controller/AttachmentManagementController/AttachmentManagementController.swift
🧰 Additional context used
🧬 Code graph analysis (1)
packages/frontend/apps/ios/apollo-codegen-chore.sh (1)
tools/utils/src/path.ts (2)
  • rm (51-53)
  • mkdir (55-57)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (47)
  • GitHub Check: Run native tests
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: Build AFFiNE native (x86_64-pc-windows-msvc)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: y-octo binding test on x86_64-pc-windows-msvc
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: y-octo binding test on x86_64-apple-darwin
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: loom thread test
  • GitHub Check: fuzzing
  • GitHub Check: E2E Test (7)
  • GitHub Check: Build @affine/electron renderer
  • GitHub Check: Build AFFiNE native (aarch64-pc-windows-msvc)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, chromium)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: Build AFFiNE native (aarch64-apple-darwin)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, firefox)
  • GitHub Check: Analyze (typescript, blocksuite)
  • GitHub Check: Analyze (javascript, affine)
  • GitHub Check: Analyze (javascript, blocksuite)
  • GitHub Check: Analyze (typescript, affine)
  • GitHub Check: Typecheck
  • GitHub Check: Lint
🔇 Additional comments (7)
packages/frontend/apps/ios/AGENTS.md (1)

1-58: Style guide addition: LGTM.

Concise and actionable; no blocking issues.

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Then.swift (2)

1-22: License header inclusion: LGTM.

MIT header retained; attribution intact.

Confirm inclusion in third‑party notices if the app ships with aggregated licenses.


35-77: API surface mirrors the original Then semantics: good.

with, do, then are @inlinable, rethrows, and cover value/reference types. Nice.

packages/frontend/apps/ios/App/App.xcworkspace/xcshareddata/swiftpm/Package.resolved (1)

44-45: Approve: MarkdownView pin bump verified — manifests align; Then removed.
Package.resolved lists version 3.4.2 and the package manifest uses .package(url: "https://github.com/Lakr233/MarkdownView.git", from: "3.4.2"); no import Then occurrences found under packages/frontend/apps/ios/App/Packages/Intelligents.

packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars/JSONObject.swift (1)

10-11: Replace JSONObject = String with ApolloAPI.JSONValue (or document stringified JSON)

String misrepresents JSON objects; use ApolloAPI.JSONValue to preserve real object/array types. If the API actually returns stringified JSON, keep String but add a schema-level note and code comment.

File: packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars/JSONObject.swift (lines 10–11)

Apply this diff:

-import ApolloAPI
+import ApolloAPI

 /// The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
-public typealias JSONObject = String
+public typealias JSONObject = ApolloAPI.JSONValue
packages/frontend/apps/ios/App/Packages/Intelligents/Package.swift (1)

18-24: Dependency URL switches and removal of Then: LGTM. Sanity checks: no remaining references to Then in packages/frontend/apps/ios/App/Packages/Intelligents; Recouse/EventSource exports the "EventSource" product (package dependency resolves). (github.com)

packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars/JSON.swift (1)

10-11: Replace JSON scalar alias with ApolloAPI.JSONValue

Mapping the GraphQL JSON scalar to String will fail for object/array responses; use a structured type instead.

File: packages/frontend/apps/ios/App/Packages/AffineGraphQL/Sources/Schema/CustomScalars/JSON.swift (lines 10-11)

Apply this diff:

-import ApolloAPI
+import ApolloAPI

 /// The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
-public typealias JSON = String
+public typealias JSON = ApolloAPI.JSONValue

Sandbox could not locate App/Packages/AffineGraphQL (rg returned "No such file or directory"); manually run rg -nP --type=swift ':\s*JSON\b|\.JSON\b' and confirm there are no String-only usages before merging.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (5)
packages/frontend/apps/ios/App/App.xcodeproj/project.pbxproj (2)

410-410: Align iOS deployment targets (project 17.6 vs target 16.0).

Project-level IPHONEOS_DEPLOYMENT_TARGET is 17.6 while the target uses 16.0. This inconsistency can cause build warnings and unexpected SDK selection during dependency builds. Recommend aligning the project level to 16.0.

Apply:

-        IPHONEOS_DEPLOYMENT_TARGET = 17.6;
+        IPHONEOS_DEPLOYMENT_TARGET = 16.0;

Also applies to: 466-466


295-301: Remove empty inputPaths/outputPaths in “[CP] Embed Pods Frameworks”.

Empty arrays are unnecessary and may confuse build caching. Let CocoaPods manage file lists via inputFileListPaths/outputFileListPaths.

-            inputPaths = (
-            );
+            /* inputPaths intentionally omitted; CocoaPods uses file lists */
...
-            outputPaths = (
-            );
+            /* outputPaths intentionally omitted; CocoaPods uses file lists */
packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/AffineResources.swift (1)

29-31: Optional: assert in DEBUG when assets are missing.

Returning .clear/empty UIImage hides missing assets. Add a DEBUG assert to surface mistakes early while keeping safe fallbacks in Release.

   public var uiColor: UIColor {
-    UIColor(named: rawValue, in: .module, compatibleWith: nil) ?? .clear
+    if let c = UIColor(named: rawValue, in: .module, compatibleWith: nil) { return c }
+    assertionFailure("AffineColors: missing color asset '\(rawValue)'")
+    return .clear
   }
...
   public var uiImage: UIImage {
-    UIImage(named: rawValue, in: .module, compatibleWith: nil) ?? UIImage()
+    if let img = UIImage(named: rawValue, in: .module, compatibleWith: nil) { return img }
+    assertionFailure("AffineIcons: missing image asset '\(rawValue)'")
+    return UIImage()
   }

Also applies to: 59-62

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/UIImage+Affine.swift (1)

4-94: Optional: add a generic accessor to avoid future boilerplate.

A single helper keeps call sites terse for new icons.

// Utility accessor (can live alongside the static icon vars)
extension UIImage {
  static func affine(_ icon: AffineIcons) -> UIImage { icon.uiImage }
}
packages/frontend/apps/ios/App/Packages/AffineResources/Package.swift (1)

6-23: Declare platforms to match the app target

Lock the package to the supported iOS version to prevent accidental use on older SDKs. Confirmed: packages/frontend/apps/ios/App/Packages/Intelligents/Package.swift references .package(path: "../AffineResources") and the target depends on "AffineResources".

 let package = Package(
   name: "AffineResources",
+  platforms: [
+    .iOS(.v16)
+  ],
   products: [
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between e531e2d and 2fd837d.

⛔ Files ignored due to path filters (18)
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/ArrowDown.imageset/More Options Icon.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/ArrowUpBig.imageset/ArrowUpBig.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Box.imageset/Left icon-5.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Broom.imageset/Broom.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Bubble.imageset/Bubble.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Calendar.imageset/Left icon-1.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Camera.imageset/Camera.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/CheckCircle.imageset/Left icon.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Close.imageset/Close.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Image.imageset/Image.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/More.imageset/More Options Icon-1.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Page.imageset/Page.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Plus.imageset/Plus.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Settings.imageset/Settings.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Think.imageset/icon-2.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Tools.imageset/icon.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Upload.imageset/Upload.pdf is excluded by !**/*.pdf
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/Resources/Icons.xcassets/Web.imageset/icon-1.pdf is excluded by !**/*.pdf
📒 Files selected for processing (9)
  • packages/frontend/apps/ios/App/App.xcodeproj/project.pbxproj (4 hunks)
  • packages/frontend/apps/ios/App/Packages/AffineResources/.gitignore (1 hunks)
  • packages/frontend/apps/ios/App/Packages/AffineResources/Package.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/AffineResources.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Package.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Color+Affine.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Image+Affine.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/UIColor+Affine.swift (1 hunks)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/UIImage+Affine.swift (1 hunks)
✅ Files skipped from review due to trivial changes (1)
  • packages/frontend/apps/ios/App/Packages/AffineResources/.gitignore
🚧 Files skipped from review as they are similar to previous changes (1)
  • packages/frontend/apps/ios/App/Packages/Intelligents/Package.swift
🧰 Additional context used
🧬 Code graph analysis (3)
packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/AffineResources.swift (3)
packages/frontend/core/src/blocksuite/database-block/properties/file/style.css.ts (1)
  • iconPrimary (5-7)
packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/license/upload-license-modal.css.ts (1)
  • textLink (30-37)
packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/theme/Colors.kt (1)
  • textPrimary (7-29)
packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/UIColor+Affine.swift (2)
packages/frontend/core/src/blocksuite/database-block/properties/file/style.css.ts (1)
  • iconPrimary (5-7)
packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/theme/Colors.kt (1)
  • textPrimary (7-29)
packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Color+Affine.swift (3)
packages/frontend/core/src/blocksuite/database-block/properties/file/style.css.ts (1)
  • iconPrimary (5-7)
packages/frontend/core/src/desktop/dialogs/setting/workspace-setting/license/upload-license-modal.css.ts (1)
  • textLink (30-37)
packages/frontend/apps/android/App/app/src/main/java/app/affine/pro/theme/Colors.kt (1)
  • textPrimary (7-29)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (660)
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
  • GitHub Check: Desktop Test (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop bundle check (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, arm64, aarch64-apple-darwin, true)
  • GitHub Check: Desktop Test (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (windows-latest, windows, x64, x86_64-pc-windows-msvc, true)
  • GitHub Check: Desktop bundle check (macos-latest, macos, x64, x86_64-apple-darwin, false)
  • GitHub Check: Desktop Test (ubuntu-latest, linux, x64, x86_64-unknown-linux-gnu, true)
  • GitHub Check: Cloud E2E Test 2/10
  • GitHub Check: Cloud E2E Test 8/10
  • GitHub Check: Cloud E2E Test 9/10
  • GitHub Check: Cloud Desktop E2E Test
  • GitHub Check: Cloud E2E Test 10/10
  • GitHub Check: Server Test (4, 8)
  • GitHub Check: Server Test (0, 8)
  • GitHub Check: Cloud E2E Test 7/10
  • GitHub Check: Cloud E2E Test 5/10
  • GitHub Check: Cloud E2E Test 6/10
  • GitHub Check: Server Test (2, 8)
  • GitHub Check: Server Test (3, 8)
  • GitHub Check: Server Test (7, 8)
  • GitHub Check: Cloud E2E Test 3/10
  • GitHub Check: Cloud E2E Test 4/10
  • GitHub Check: Cloud E2E Test 1/10
  • GitHub Check: Server Test (5, 8)
  • GitHub Check: Server Test (6, 8)
  • GitHub Check: Server Test (1, 8)
  • GitHub Check: Server E2E Test
  • GitHub Check: Server Test with Elasticsearch
  • GitHub Check: Check Git Status
  • GitHub Check: Unit Test (2)
  • GitHub Check: Unit Test (5)
  • GitHub Check: Unit Test (4)
  • GitHub Check: Unit Test (3)
  • GitHub Check: Unit Test (1)
  • GitHub Check: y-octo binding test on aarch64-pc-windows-msvc
  • GitHub Check: fuzzing
  • GitHub Check: E2E BlockSuite Test (9)
  • GitHub Check: E2E BlockSuite Test (2)
  • GitHub Check: E2E BlockSuite Test (4)
  • GitHub Check: E2E BlockSuite Test (10)
  • GitHub Check: E2E BlockSuite Test (6)
  • GitHub Check: E2E BlockSuite Test (7)
  • GitHub Check: E2E BlockSuite Test (5)
  • GitHub Check: E2E BlockSuite Test (8)
  • GitHub Check: E2E BlockSuite Test (1)
  • GitHub Check: E2E Test (9)
  • GitHub Check: E2E Test (7)
  • GitHub Check: E2E BlockSuite Test (3)
  • GitHub Check: E2E Test (3)
  • GitHub Check: E2E Mobile Test (4)
  • GitHub Check: E2E Mobile Test (5)
  • GitHub Check: E2E Test (10)
  • GitHub Check: E2E Test (1)
  • GitHub Check: E2E Test (5)
  • GitHub Check: E2E Test (6)
  • GitHub Check: E2E Test (8)
  • GitHub Check: E2E Mobile Test (3)
  • GitHub Check: E2E Test (4)
  • GitHub Check: E2E Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (2, firefox)
  • GitHub Check: E2E Mobile Test (1)
  • GitHub Check: E2E Mobile Test (2)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, webkit)
  • GitHub Check: E2E BlockSuite Cross Browser Test (1, chromium)
  • GitHub Check: Lint
🔇 Additional comments (6)
packages/frontend/apps/ios/App/App.xcodeproj/project.pbxproj (1)

6-6: Xcode project format bumped to 77 — confirm CI Xcode toolchain.

objectVersion/preferredProjectObjectVersion = 77 typically requires recent Xcode (15.3/15.4+). Please confirm CI/build agents are on a compatible Xcode to avoid serialization errors.

Also applies to: 242-243

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/UIImage+Affine.swift (1)

1-94: LGTM — centralized via AffineIcons.uiImage.

This removes bundle-resolution duplication and standardizes asset lookup.

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/UIColor+Affine.swift (1)

1-79: LGTM — UIColor now sourced from AffineColors.uiColor.

Consistent, dynamic color resolution via asset catalog.

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Color+Affine.swift (1)

1-79: LGTM — SwiftUI Color accessors are clean and consistent.

Matches the UIColor surface; names align with the design tokens.

packages/frontend/apps/ios/App/Packages/Intelligents/Sources/Intelligents/Extension/Image+Affine.swift (1)

1-94: LGTM — SwiftUI Image access centralized via AffineIcons.image.

Keeps SwiftUI usage aligned with UIImage extension.

packages/frontend/apps/ios/App/Packages/AffineResources/Sources/AffineResources/AffineResources.swift (1)

7-23: AffineColors and AffineIcons match xcassets — no missing or extra assets.
All enum cases are present in Colors.xcassets and Icons.xcassets; no discrepancies found.

@EYHN EYHN enabled auto-merge September 18, 2025 11:39
@EYHN EYHN added this pull request to the merge queue Sep 19, 2025
Merged via the queue into canary with commit 1f22838 Sep 19, 2025
211 of 213 checks passed
@EYHN EYHN deleted the affine-intelligent-build-fix-1 branch September 19, 2025 06:32
github-merge-queue bot pushed a commit that referenced this pull request Sep 19, 2025
Requires #13606 to be merged.

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

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

- Documentation
  - Added Swift Code Style Guidelines.

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

---------

Co-authored-by: DarkSky <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants