From 313e69e483fd99bc7feaf050ababd92f8a6b975d Mon Sep 17 00:00:00 2001 From: Scott Hanselman Date: Mon, 16 Mar 2026 21:56:52 -0700 Subject: [PATCH] fix(winui): guard missing SendMessage deep link handler (#49) Add null check on actions.SendMessage before invoking in the agent deep link path. Removes null-forgiving operator that would throw NullReferenceException inside Task.Run if the handler wasn't wired. Adds warning log for diagnosability. Fixes #47 Based on PR #48 by @Alix-007, adapted for current codebase. --- src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs b/src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs index 0129c37..f9ffa85 100644 --- a/src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs +++ b/src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs @@ -80,13 +80,13 @@ public static class DeepLinkHandler case "agent": var agentMessage = OpenClaw.Shared.DeepLinkParser.GetQueryParam(query, "message"); - if (!string.IsNullOrEmpty(agentMessage)) + if (!string.IsNullOrEmpty(agentMessage) && actions.SendMessage != null) { _ = Task.Run(async () => { try { - await actions.SendMessage!(agentMessage); + await actions.SendMessage(agentMessage); Logger.Info($"Sent message via deep link: {agentMessage}"); } catch (Exception ex) @@ -95,6 +95,10 @@ public static class DeepLinkHandler } }); } + else if (!string.IsNullOrEmpty(agentMessage)) + { + Logger.Warn("Deep link: agent message received but SendMessage handler is not registered"); + } break; default: