diff --git a/app/cmd/app/app.go b/app/cmd/app/app.go index ef282fd0..d09e04b5 100644 --- a/app/cmd/app/app.go +++ b/app/cmd/app/app.go @@ -397,8 +397,8 @@ func checkUserLoggedIn(uiServerPort int) bool { // handleConnectURLScheme fetches the connect URL and opens it in the browser func handleConnectURLScheme() { if checkUserLoggedIn(uiServerPort) { - slog.Info("user is already logged in, opening settings instead") - sendUIRequestMessage("/") + slog.Info("user is already logged in, opening app instead") + showWindow(wv.webview.Window()) return } @@ -466,6 +466,8 @@ func handleURLSchemeInCurrentInstance(urlSchemeRequest string) { if isConnect { handleConnectURLScheme() } else { - sendUIRequestMessage("/") + if wv.webview != nil { + showWindow(wv.webview.Window()) + } } } diff --git a/app/cmd/app/app_darwin.m b/app/cmd/app/app_darwin.m index 4e1d52f7..a983a2f0 100644 --- a/app/cmd/app/app_darwin.m +++ b/app/cmd/app/app_darwin.m @@ -24,27 +24,14 @@ bool firstTimeRun,startHidden; // Set in run before initialization for (NSURL *url in urls) { if ([url.scheme isEqualToString:@"ollama"]) { NSString *path = url.path; - if (!path || [path isEqualToString:@""]) { - // For URLs like ollama://settings (without triple slash), - // the "settings" part is parsed as the host, not the path. - // We need to convert it to a path by prepending "/" - if (url.host && ![url.host isEqualToString:@""]) { - path = [@"/" stringByAppendingString:url.host]; - } else { - path = @"/"; - } - } - - if ([path isEqualToString:@"/connect"] || [url.host isEqualToString:@"connect"]) { + + if (path && ([path isEqualToString:@"/connect"] || [url.host isEqualToString:@"connect"])) { // Special case: handle connect by opening browser instead of app handleConnectURL(); } else { // Set app to be active and visible [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]; [NSApp activateIgnoringOtherApps:YES]; - - // Open the path with the UI - [self uiRequest:path]; } break; diff --git a/app/cmd/app/app_windows.go b/app/cmd/app/app_windows.go index 8a487640..b563d409 100644 --- a/app/cmd/app/app_windows.go +++ b/app/cmd/app/app_windows.go @@ -147,7 +147,9 @@ func handleURLSchemeRequest(urlScheme string) { if isConnect { handleConnectURLScheme() } else { - sendUIRequestMessage("/") + if wv.webview != nil { + showWindow(wv.webview.Window()) + } } }