All checks were successful
CI / build-and-deploy (push) Successful in 28s
- bookmarkOnscreen(_:) publishes the viewed bookmark as the on-screen entity (NSUserActivity.appEntityIdentifier) so Siri can resolve "this" / "summarize this one"; applied to the BrowserView sheets in BookmarksView and SearchView - Add MarksTests (XCTest) covering entity mapping, EntityIdentifier, IntentRouter, and the real perform() of SearchMarksIntent and OpenBookmarkIntent; wired into the Marks scheme test phase Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
20 lines
883 B
Swift
20 lines
883 B
Swift
import SwiftUI
|
|
import AppIntents
|
|
|
|
extension View {
|
|
/// Marks `bookmark` as the on-screen entity via an `NSUserActivity`, so
|
|
/// Siri / Apple Intelligence can resolve references like "summarize this"
|
|
/// or "open this one" while the bookmark is being viewed.
|
|
///
|
|
/// iOS 26.0 ships no SwiftUI `.appEntityIdentifier` modifier, so this uses
|
|
/// the supported path: the standard `.userActivity` modifier plus
|
|
/// `NSUserActivity.appEntityIdentifier` (from `AppEntityAnnotatable`).
|
|
func bookmarkOnscreen(_ bookmark: Bookmark) -> some View {
|
|
userActivity("com.magicive.marks.viewBookmark", element: bookmark.id) { id, activity in
|
|
activity.title = bookmark.displayTitle
|
|
activity.appEntityIdentifier = EntityIdentifier(for: BookmarkEntity.self, identifier: id)
|
|
activity.isEligibleForSearch = true
|
|
}
|
|
}
|
|
}
|