From bd924d59f3914938284ef5afa496ceec89f3d72e Mon Sep 17 00:00:00 2001 From: Patrick Lenz Date: Wed, 29 Jul 2026 08:07:09 +0200 Subject: [PATCH] fix(desktop): allow mentioning invocable external relay agents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Attested agents without a local managed-agent record were hard-dropped from mention candidates, so externally-hosted agents (relay directory, kind:10100) could not be mentioned by anyone — including their owner. Accept agents present in mentionableAgentPubkeys alongside managed ones. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01TS2Hjgy6RXd6TeaVi5oTLw Signed-off-by: Patrick Lenz --- .../features/agents/lib/agentAutocompleteEligibility.ts | 8 +++++++- desktop/src/features/messages/lib/useMentions.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/desktop/src/features/agents/lib/agentAutocompleteEligibility.ts b/desktop/src/features/agents/lib/agentAutocompleteEligibility.ts index e4afe7fea4..6763cbb7d5 100644 --- a/desktop/src/features/agents/lib/agentAutocompleteEligibility.ts +++ b/desktop/src/features/agents/lib/agentAutocompleteEligibility.ts @@ -57,10 +57,16 @@ export function getMentionableAgentPubkeys({ export function isAgentIdentityInManagedList( candidate: { isAgent?: boolean; pubkey: string }, managedAgentPubkeys: ReadonlySet, + mentionableAgentPubkeys?: ReadonlySet, ) { + const pubkey = normalizePubkey(candidate.pubkey); return ( candidate.isAgent !== true || - managedAgentPubkeys.has(normalizePubkey(candidate.pubkey)) + managedAgentPubkeys.has(pubkey) || + // Externally-hosted agents (relay directory, kind:10100) that are + // invocable for the current user are legitimate mention targets even + // though no local managed-agent record exists for them. + (mentionableAgentPubkeys?.has(pubkey) ?? false) ); } diff --git a/desktop/src/features/messages/lib/useMentions.ts b/desktop/src/features/messages/lib/useMentions.ts index 0c73b75339..bd944e141f 100644 --- a/desktop/src/features/messages/lib/useMentions.ts +++ b/desktop/src/features/messages/lib/useMentions.ts @@ -246,7 +246,13 @@ export function useMentions( if (isArchivedDiscovery(pubkey)) { return; } - if (!isAgentIdentityInManagedList(candidate, managedAgentPubkeys)) { + if ( + !isAgentIdentityInManagedList( + candidate, + managedAgentPubkeys, + mentionableAgentPubkeys, + ) + ) { return; } if (