From 51b2eb0e6296734960f37cebd40fee34a1f261f9 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Thu, 14 May 2026 13:18:55 -0500 Subject: feat: add App Intents for Hutch navigation - add read-only App Intents for core Hutch workflows - route intents through the existing Hutch navigation/deep-link model - expose Work Queue, Recent Activity, System Status, pinned resources, projects, failed builds, assigned tickets, saved searches, and search where supported - keep App Intents non-mutating for the initial implementation - preserve existing widget, Safari extension, and hutch:// routing behavior References: https://todo.sr.ht/~ccleberg/hutch/71 --- HutchTests/DeepLinkTests.swift | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'HutchTests/DeepLinkTests.swift') diff --git a/HutchTests/DeepLinkTests.swift b/HutchTests/DeepLinkTests.swift index 500c4cd..d62cfef 100644 --- a/HutchTests/DeepLinkTests.swift +++ b/HutchTests/DeepLinkTests.swift @@ -88,6 +88,14 @@ struct DeepLinkTests { #expect(link == .lookup) } + @Test + func parsesRouteBackedNavigationLinks() { + #expect(DeepLink(url: HutchRoute.workQueue(scope: .assigned).url) == .workQueue(scope: .assigned)) + #expect(DeepLink(url: HutchRoute.failedBuilds.url) == .failedBuilds) + #expect(DeepLink(url: HutchRoute.search(query: "patch queue").url) == .search(query: "patch queue")) + #expect(DeepLink(url: HutchRoute.projectDashboard(id: "project-1", title: "Hutch").url) == .projectDashboard(id: "project-1", title: "Hutch")) + } + @Test func parsesUserProfileLink() { let link = DeepLink(url: HutchDeepLinkURL.userProfile) -- cgit v1.2.3