Add getAgent opt-in flags for own broadcasts and self intent resolution - #1984
Open
Roaders wants to merge 1 commit into
Open
Add getAgent opt-in flags for own broadcasts and self intent resolution#1984Roaders wants to merge 1 commit into
Roaders wants to merge 1 commit into
Conversation
✅ Deploy Preview for fdc3 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Roaders
commented
Jul 15, 2026
| .map(listener => ({ appId: listener.appId, instanceId: listener.instanceId, state: State.Connected })) | ||
| .filter(appRegistration => allIntents.every(intent => intent.appId !== appRegistration.appId)); // filter out apps that have intents registered in the directory | ||
|
|
||
| const runningApps: AppRegistration[] = [...runningDirectoryApps, ...appRegistrations].filter( |
Contributor
Author
Contributor
Author
There was a problem hiding this comment.
should we add a conformance test that ensures that an app will return a result rather than select itself as an intent target?
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1984 +/- ##
==========================================
- Coverage 95.11% 95.10% -0.01%
==========================================
Files 73 73
Lines 4196 4212 +16
Branches 581 602 +21
==========================================
+ Hits 3991 4006 +15
- Misses 205 206 +1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Roaders
force-pushed
the
feature/self-interaction-flags
branch
from
July 23, 2026 07:50
62b8197 to
a10da25
Compare
Implements #1751 and #1860 by adding two optional booleans to GetAgentParams: - receiveOwnBroadcasts: when set, the Desktop Agent delivers an app's own broadcasts back to it. Defaults to false (current behaviour). - resolveOwnIntents: when set, the raising app's own instance is considered when resolving an intent it raised. Defaults to false (current behaviour); other instances of the same app remain eligible either way. The flags travel on the WCP4ValidateAppIdentity handshake message and are stored per-instance by the reference Desktop Agent (each instance of an app may connect with different getAgent options). BroadcastHandler makes its self-delivery filter conditional on receiveOwnBroadcasts; IntentHandler excludes the raising instance (by instanceId) unless resolveOwnIntents is set, dropping any AppIntent left with no resolvers so a self-only intent yields NoAppsFound. Updates the API spec, getAgent, broadcast, Channel and raiseIntent/ raiseIntentForContext documentation (including net-new intent self-resolution wording), regenerates schema types, and adds conformance/BDD tests.
Roaders
force-pushed
the
feature/self-interaction-flags
branch
from
August 20, 2026 13:29
a10da25 to
6acc383
Compare
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Implements #1751 and #1860 by adding two optional booleans to GetAgentParams:
The flags travel on the WCP4ValidateAppIdentity handshake message and are stored per-instance by the reference Desktop Agent (each instance of an app may connect with different getAgent options). BroadcastHandler makes its self-delivery filter conditional on receiveOwnBroadcasts; IntentHandler excludes the raising instance (by instanceId) unless resolveOwnIntents is set, dropping any AppIntent left with no resolvers so a self-only intent yields NoAppsFound.
Updates the API spec, getAgent, broadcast, Channel and raiseIntent/ raiseIntentForContext documentation (including net-new intent self-resolution wording), regenerates schema types, and adds conformance/BDD tests.
Related Issue
fixes #1751
fixes #1860
Contributor License Agreement
Review Checklist
DesktopAgent,Channel,PrivateChannel,Listener,Bridging)?JSDoc comments on interfaces and types should be matched to the main documentation in /docs
Conformance test definitions should cover all required aspects of an FDC3 Desktop Agent implementation, which are usually marked with a MUST keyword, and optional features (SHOULD or MAY) where the format of those features is defined
The Web Connection protocol and Desktop Agent Communication Protocol schemas must be able to support all necessary aspects of the Desktop Agent API, while Bridging must support those aspects necessary for Desktop Agents to communicate with each other
npm run build) run and the results checked in?Generated code will be found at
/src/api/BrowserTypes.tsand/or/src/bridging/BridgingTypes.tsBaseContextschema applied viaallOf(as it is in existing types)?titleanddescriptionprovided for all properties defined in the schema?npm run build) run and the results checked in?Generated code will be found at
/src/context/ContextTypes.ts