ReviewOS

craft-native/craft

fix(ios): deliver custom-scheme deep links on cold start

#198
Closed glennmichael123 opened this 9 days ago ·
9 days ago

Reproduction: generate and compile an iOS app with enableDeepLinks true and the wildloop URL scheme. Install it in an iOS Simulator, terminate it, then run xcrun simctl openurl DEVICE_ID wildloop://record. Expected: the app opens its record route. Actual: the app launches successfully but stays on Feed. This occurs with a bundled STX build after more than 20 seconds of hydration. Verified: generated Info.plist registers wildloop; generated config enables deep links; the SwiftUI entry point contains an onOpenURL handler that calls DeepLinkManager; the bundled application subscribes through @stacksjs/mobile and maps wildloop://record to /record; the mobile runtime normalizes the native URL result before the app callback. This appears to be a Craft iOS cold-start handoff problem where the URL does not reach the SwiftUI listener or its pending URL is dropped before the JavaScript bridge is ready. Environment: Xcode 17, iOS Simulator 26.5, iPhone 17, Craft revision 4fe86f0.

Sign in to comment on this issue.