Skip to content

Java Implementation of FDC3 3.0 - #8

Open
robmoffat wants to merge 90 commits into
mainfrom
robs-java-implementation
Open

Java Implementation of FDC3 3.0#8
robmoffat wants to merge 90 commits into
mainfrom
robs-java-implementation

Conversation

@robmoffat

@robmoffat robmoffat commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

This pull request introduces several improvements to the project's GitHub configuration and repository hygiene in order to make it follow the FINOS Project Blueprint. The main changes include the addition of standardized GitHub issue and pull request templates, the setup of automated workflows for CI, code analysis, and dependency updates, as well as updates to repository ownership and contribution guidelines. These changes aim to enhance project maintainability, streamline contributions, and improve security and automation.

Repository automation and CI/CD enhancements:

  • Added multiple GitHub Actions workflows for CI, including Maven build, test coverage reporting, CodeQL static analysis, and OSSF Scorecard supply-chain security analysis (.github/workflows/maven-build.yml, .github/workflows/coverage.yml, .github/workflows/codeql.yml, .github/workflows/scorecard.yml). [1] [2] [3] [4]
  • Introduced Dependabot configuration to automate dependency and GitHub Actions updates (.github/dependabot.yml).

Java Implementation

This also includes a complete implementation of FDC3 Java API, complete with WSCP (Web Socket Communication Protocol) as added in FDC3 3.0. See the README.md for more details and the project structure.

At a high level, the Java additions provide a complete native-client implementation of the FDC3 3.0 API. The PR adds Java interfaces for the standard FDC3 surface, schema/context bindings for the 3.0 model, a GetAgent bootstrap layer that connects to a desktop agent over WebSocket using WSCP, and a DesktopAgentProxy that maps the Java API onto DACP message flows for channels, context sharing, intents, app discovery, and app launch. It also includes an example Swing application showing how a Java desktop app can pair with a desktop agent, connect, join channels, and receive or broadcast FDC3 context.

Critically, it re-uses the feature-file tests from the main FDC3 project, and makes use of https://github.com/finos/cucumber-testing-steps to demonstrate parity with the Typescript implementation offered there.

Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Signed-off-by: Rob Moffat <rob@kite9.com>
Copilot AI and others added 2 commits September 7, 2026 13:48
Co-authored-by: robmoffat <568673+robmoffat@users.noreply.github.com>
Co-authored-by: robmoffat <568673+robmoffat@users.noreply.github.com>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@codecov-commenter

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

There are confirmed runtime and API-contract/documentation issues (HTML className misuse, missing DOM element usage, misleading Javadoc contracts, and a non-daemon test scheduler that may hang CI) that should be corrected before approval.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This pull request updates the repository to align with FINOS Project Blueprint automation/hygiene and introduces a Java implementation of the FDC3 3.0 API (including WSCP-related schemas, proxy/test support, and example utilities).

Changes:

  • Add/refresh FDC3 3.0 Java API surface types (listeners/handlers, metadata/security structures, UI resolution hooks).
  • Add a large set of 3.0.0 schema artifacts (bridging + API message schemas) and supporting scripts/tests.
  • Add repository hygiene/automation assets (GitHub Actions CI, Dependabot, CODEOWNERS, issue/PR templates, security docs).
File summaries
File Description
unused/openfin-fdc3-adapter/src/main/java/org/finos/fdc3/adapter/openfin/OpenFinIntentListenerAdapter.java Update package/imports to org.finos namespace.
unused/openfin-fdc3-adapter/src/main/java/org/finos/fdc3/adapter/openfin/OpenFinFDC3Config.java Update package to org.finos namespace.
unused/openfin-fdc3-adapter/src/main/java/org/finos/fdc3/adapter/openfin/OpenFinContextListenerAdapter.java Update package/imports to org.finos namespace.
unused/openfin-fdc3-adapter/src/main/java/org/finos/fdc3/adapter/openfin/OpenFinChannelDisplayMetadata.java Update package/imports and implemented interface namespace.
unused/openfin-fdc3-adapter/src/main/java/org/finos/fdc3/adapter/openfin/OpenFinChannel.java Update package/imports to org.finos namespace.
unused/openfin-fdc3-adapter/pom.xml Switch groupId to org.finos... and bump compiler level to Java 17.
unused/fdcreceiver-react-trade-app/src/index.js Add React demo app entry point.
unused/fdcreceiver-react-trade-app/src/data/initialDetails.js Add demo data loader using axios.
unused/fdcreceiver-react-trade-app/src/components/SearchList.js Add demo UI component.
unused/fdcreceiver-react-trade-app/src/components/Scroll.js Add demo UI component.
unused/fdcreceiver-react-trade-app/src/App.js Add demo app root component.
unused/fdcreceiver-react-trade-app/public/robots.txt Add CRA robots.txt.
unused/fdcreceiver-react-trade-app/public/manifest.json Add CRA manifest.
unused/fdcreceiver-react-trade-app/package.json Add demo app dependencies/scripts.
unused/fdc3container/server.js Add simple Express static server for demo container.
unused/fdc3container/sender.json Add OpenFin config for sender demo.
unused/fdc3container/receiver/style.css Add receiver demo styling.
unused/fdc3container/receiver/receiver.js Add receiver demo logic (context/intent listeners).
unused/fdc3container/receiver.json Add OpenFin config for receiver demo.
unused/fdc3container/receiver.html Add receiver demo HTML page.
unused/fdc3container/package.json Add demo container scripts/deps.
unused/client/src/main/java/org/finos/fdc3/client/utils/SwingUtils.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/utils/StringUtilities.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/utils/SampleDataLoaderUtil.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/utils/JSONAdapterUtil.java Update generated package namespace string to org.finos....
unused/client/src/main/java/org/finos/fdc3/client/publisher/OrderMessagePublisher.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/model/SnPTableModel.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/model/OrderTableModel.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/model/IncomingDataTableModel.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/launcher/FDC3JavaAPIDemoApplication.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/handler/SystemChannelHandler.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/handler/DataLoadHandler.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/data/SnPData.java Update package to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/data/OrderData.java Update package to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/data/IncomingData.java Update package to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/AppUI.java Update package/imports to org.finos namespace.
unused/client/src/main/java/org/finos/fdc3/client/AppGUIException.java Update package to org.finos namespace.
unused/client/pom.xml Switch groupId to org.finos..., bump Java to 17, update shaded main class.
TODO.md Add short TODO note for feature file publishing.
SECURITY.md Add FINOS security reporting policy doc.
NOTICE Update copyright year range.
fdc3api/src/main/java/com/finos/fdc3/api/types/AppIdentifier.java Remove old com.finos API type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/metadata/DisplayMetadata.java Remove old com.finos API type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/metadata/ContextMetadata.java Remove old com.finos API type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/TimeRange.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/Position.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/Portfolio.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/Organization.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/InstrumentList.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/Instrument.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/Email.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/ContextContants.java Remove old com.finos constants class (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/ContactList.java Remove old com.finos context type (deleted).
fdc3api/src/main/java/com/finos/fdc3/api/context/Contact.java Remove old com.finos context type (deleted).
fdc3-standard/src/main/java/org/finos/fdc3/api/ui/IntentResolver.java Add UI abstraction for resolving intents when multiple apps are available.
fdc3-standard/src/main/java/org/finos/fdc3/api/ui/Connectable.java Add connection lifecycle interface for UI components/support objects.
fdc3-standard/src/main/java/org/finos/fdc3/api/types/Listener.java Move to org.finos and make unsubscribe async (CompletionStage).
fdc3-standard/src/main/java/org/finos/fdc3/api/types/IntentResult.java Move to org.finos namespace (marker interface).
fdc3-standard/src/main/java/org/finos/fdc3/api/types/IntentHandler.java Move to org.finos and update handler return type/contract.
fdc3-standard/src/main/java/org/finos/fdc3/api/types/EventHandler.java Replace prior incorrect content with event handler functional interface.
fdc3-standard/src/main/java/org/finos/fdc3/api/types/ContextWithMetadata.java Add DTO to carry context plus metadata.
fdc3-standard/src/main/java/org/finos/fdc3/api/types/ContextHandler.java Move to org.finos namespace.
fdc3-standard/src/main/java/org/finos/fdc3/api/metadata/SecurityMetadata.java Add security metadata interface (signature/anti-replay/etc).
fdc3-standard/src/main/java/org/finos/fdc3/api/metadata/IntentResolution.java Move to org.finos and add result metadata accessor.
fdc3-standard/src/main/java/org/finos/fdc3/api/metadata/DetachedSignature.java Add detached signature model.
fdc3-standard/src/main/java/org/finos/fdc3/api/metadata/DesktopAgentProvidableContextMetadata.java Replace prior incorrect content with DA-provided metadata fields.
fdc3-standard/src/main/java/org/finos/fdc3/api/metadata/AppProvidableContextMetadata.java Replace prior incorrect content with app-provided metadata fields.
fdc3-standard/src/main/java/org/finos/fdc3/api/errors/ResultError.java Move to org.finos namespace.
fdc3-standard/src/main/java/org/finos/fdc3/api/errors/ResolveError.java Move to org.finos and extend error set for 3.0 behaviors.
fdc3-standard/src/main/java/org/finos/fdc3/api/errors/OpenError.java Move to org.finos namespace.
fdc3-standard/src/main/java/org/finos/fdc3/api/errors/FDC3ConnectionException.java Move to org.finos namespace.
fdc3-standard/src/main/java/org/finos/fdc3/api/errors/CloseError.java Replace prior incorrect content with CloseError enum.
fdc3-standard/src/main/java/org/finos/fdc3/api/errors/ChannelError.java Move to org.finos and extend error set for 3.0 behaviors.
fdc3-schema/src/main/schemas-temp/README.md Add note about temporary schema staging.
fdc3-schema/src/main/schemas-temp/3.0.0/bridgingAsyncAPI/README.md Add AsyncAPI notes and generation examples.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentResultBridgeResponse.schema.json Add bridging schema for raiseIntent result success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentResultBridgeErrorResponse.schema.json Add bridging schema for raiseIntent result error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentResultAgentResponse.schema.json Add agent schema for raiseIntent result success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentBridgeResponse.schema.json Add bridging schema for raiseIntent success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentBridgeRequest.schema.json Add bridging schema for raiseIntent request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentBridgeErrorResponse.schema.json Add bridging schema for raiseIntent error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentAgentResponse.schema.json Add agent schema for raiseIntent success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/raiseIntentAgentErrorResponse.schema.json Add agent schema for raiseIntent error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/privateChannelOnUnsubscribeBridgeRequest.schema.json Add bridging schema for private channel unsubscribe request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/privateChannelOnDisconnectBridgeRequest.schema.json Add bridging schema for private channel disconnect request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/privateChannelOnAddContextListenerBridgeRequest.schema.json Add bridging schema for private channel add-context-listener request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/privateChannelEventListenerRemovedBridgeRequest.schema.json Add bridging schema for private channel event listener removed request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/privateChannelEventListenerAddedBridgeRequest.schema.json Add bridging schema for private channel event listener added request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/privateChannelBroadcastBridgeRequest.schema.json Add bridging schema for private channel broadcast request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/openBridgeResponse.schema.json Add bridging schema for open response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/openBridgeRequest.schema.json Add bridging schema for open request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/openBridgeErrorResponse.schema.json Add bridging schema for open error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/openAgentResponse.schema.json Add agent schema for open success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/openAgentErrorResponse.schema.json Add agent schema for open error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/getAppMetadataBridgeResponse.schema.json Add bridging schema for getAppMetadata response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/getAppMetadataBridgeRequest.schema.json Add bridging schema for getAppMetadata request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/getAppMetadataBridgeErrorResponse.schema.json Add bridging schema for getAppMetadata error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/getAppMetadataAgentResponse.schema.json Add agent schema for getAppMetadata success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/getAppMetadataAgentErrorResponse.schema.json Add agent schema for getAppMetadata error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentsByContextBridgeResponse.schema.json Add bridging schema for findIntentsByContext response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentsByContextBridgeRequest.schema.json Add bridging schema for findIntentsByContext request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentsByContextBridgeErrorResponse.schema.json Add bridging schema for findIntentsByContext error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentsByContextAgentResponse.schema.json Add agent schema for findIntentsByContext success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentsByContextAgentRequest.schema.json Add agent schema for findIntentsByContext request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentsByContextAgentErrorResponse.schema.json Add agent schema for findIntentsByContext error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentBridgeResponse.schema.json Add bridging schema for findIntent response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentBridgeRequest.schema.json Add bridging schema for findIntent request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentBridgeErrorResponse.schema.json Add bridging schema for findIntent error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentAgentResponse.schema.json Add agent schema for findIntent success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentAgentRequest.schema.json Add agent schema for findIntent request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findIntentAgentErrorResponse.schema.json Add agent schema for findIntent error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findInstancesBridgeResponse.schema.json Add bridging schema for findInstances response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findInstancesBridgeRequest.schema.json Add bridging schema for findInstances request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findInstancesBridgeErrorResponse.schema.json Add bridging schema for findInstances error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findInstancesAgentResponse.schema.json Add agent schema for findInstances success response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/findInstancesAgentErrorResponse.schema.json Add agent schema for findInstances error response.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/broadcastBridgeRequest.schema.json Add bridging schema for broadcast request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/broadcastAgentRequest.schema.json Add agent schema for broadcast request.
fdc3-schema/src/main/schemas-temp/3.0.0/bridging/agentErrorResponse.schema.json Add common agent error response envelope.
fdc3-schema/src/main/schemas-temp/3.0.0/api/WSCPGoodbye.schema.json Add WSCP disconnect goodbye message schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/WSCPConnectFailed.schema.json Add WSCP connect-failed message schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/WCP6Goodbye.schema.json Add WCP6 disconnect goodbye message schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/WCP5ValidateAppIdentityFailedResponse.schema.json Add WCP5 identity validation failure schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/privateChannelUnsubscribeEventListenerResponse.schema.json Add private channel unsubscribe event listener response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/privateChannelUnsubscribeEventListenerRequest.schema.json Add private channel unsubscribe event listener request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/privateChannelOnDisconnectEvent.schema.json Add private channel disconnect event schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/privateChannelDisconnectRequest.schema.json Add private channel disconnect request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/leaveCurrentChannelRequest.schema.json Add leave-current-channel request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/joinUserChannelRequest.schema.json Add join-user-channel request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/intentResultResponse.schema.json Add intent-result response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/intentListenerUnsubscribeResponse.schema.json Add intent listener unsubscribe response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/intentListenerUnsubscribeRequest.schema.json Add intent listener unsubscribe request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/heartbeatEvent.schema.json Add heartbeat event schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/heartbeatAcknowledgmentRequest.schema.json Add heartbeat acknowledgement request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/getUserChannelsRequest.schema.json Add get-user-channels request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/getOrCreateChannelRequest.schema.json Add get-or-create-channel request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/getInfoRequest.schema.json Add getInfo request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/getCurrentChannelRequest.schema.json Add getCurrentChannel request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/getAppMetadataRequest.schema.json Add getAppMetadata request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/findInstancesRequest.schema.json Add findInstances request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/fdc3UserInterfaceMessage.schema.json Add UI-frame message envelope schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/fdc3UserInterfaceHandshake.schema.json Add UI-frame handshake schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/fdc3UserInterfaceChannelSelected.schema.json Add UI-frame channel-selected schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/eventListenerUnsubscribeResponse.schema.json Add event listener unsubscribe response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/eventListenerUnsubscribeRequest.schema.json Add event listener unsubscribe request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/createPrivateChannelRequest.schema.json Add create-private-channel request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/contextListenerUnsubscribeResponse.schema.json Add context listener unsubscribe response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/contextListenerUnsubscribeRequest.schema.json Add context listener unsubscribe request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/closeRequest.schema.json Add close request schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/clearContextResponse.schema.json Add clear-context response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/broadcastResponse.schema.json Add broadcast response schema.
fdc3-schema/src/main/schemas-temp/3.0.0/api/addIntentListenerRequest.schema.json Add add-intent-listener request schema.
fdc3-get-agent/src/test/java/org/finos/fdc3/getagent/TestSpringConfig.java Add Spring config for Cucumber tests.
fdc3-get-agent/src/test/java/org/finos/fdc3/getagent/RunCucumberTest.java Add JUnit Platform suite runner for Cucumber.
fdc3-get-agent/src/test/java/org/finos/fdc3/getagent/CucumberSpringConfiguration.java Fix/replace Cucumber Spring configuration entry point.
fdc3-example-app/scripts/windows/register-protocol.reg Add Windows protocol registration template.
fdc3-example-app/scripts/windows/register-protocol.ps1 Add PowerShell protocol registration helper.
fdc3-example-app/scripts/macos/launch.sh Add deprecated macOS launcher stub pointing to jpackage workflow.
fdc3-example-app/scripts/macos/install-app.sh Add macOS install/launch helper for jpackage output.
fdc3-context/src/schemas-temp/3.0.0/context/security.userRequest.schema.json Add security userRequest context schema.
fdc3-context/src/schemas-temp/3.0.0/context/security.user.schema.json Add security user context schema.
fdc3-context/src/schemas-temp/3.0.0/context/security.symmetricKeyRequest.schema.json Add security symmetricKeyRequest context schema.
fdc3-context/src/schemas-temp/3.0.0/context/nothing.schema.json Add fdc3.nothing context schema.
fdc3-context/src/schemas-temp/3.0.0/context/currency.schema.json Add currency context schema.
fdc3-context/src/schemas-temp/3.0.0/context/contact.schema.json Add contact context schema.
fdc3-context/scripts/fix-context-imports.sh Add post-processing script for generated Java context output.
fdc3-agent-proxy/src/test/resources/temporary-features/utils.feature Add temporary feature coverage for utility behavior.
fdc3-agent-proxy/src/test/resources/temporary-features/user-channel-selector.feature Add temporary features for channel selector flows.
fdc3-agent-proxy/src/test/resources/temporary-features/README.md Note that features should come from upstream package when exported.
fdc3-agent-proxy/src/test/resources/temporary-features/heartbeat.feature Add heartbeat behavior features.
fdc3-agent-proxy/src/test/resources/temporary-features/close.feature Add close behavior features.
fdc3-agent-proxy/src/test/resources/temporary-features/app-metadata.feature Add app metadata/info/instances behavior features.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/UnsubscribeListenersResponse.java Add auto-response for unsubscribe request types in tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/ResponseSupport.java Add shared response meta + async scheduling utilities for tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/DisconnectPrivateChannelResponse.java Add auto-response for private channel disconnect in tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/CreatePrivateChannelResponse.java Add auto-response for private channel creation in tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/CloseResponse.java Add auto-response for close requests in tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/AutomaticResponse.java Add response handler interface for test messaging.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/responses/AddEventListenerResponse.java Add auto-response for addEventListener requests in tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/support/ParseAntiReplayClaims.java Add helper to parse anti-replay claim string in tests.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/steps/SchemaSteps.java Add Cucumber glue to load/register schema matchers.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/CucumberSpringConfiguration.java Fix/replace proxy module Cucumber Spring configuration entry point.
fdc3-agent-proxy/src/test/java/org/finos/fdc3/proxy/CucumberHooks.java Add/replace Cucumber hooks for per-scenario setup/logging.
fdc3-agent-proxy/src/main/java/org/finos/fdc3/proxy/heartbeat/HeartbeatSupport.java Fix/replace heartbeat support abstraction (now Connectable).
fdc3-agent-proxy/src/main/java/org/finos/fdc3/proxy/channels/UserChannelContextListener.java Add interface for listeners that track current user channel membership.
CODE_OF_CONDUCT.md Update project name in Code of Conduct stub.
.vscode/settings.json Add VS Code Java formatting disable settings.
.vscode/launch.json Add VS Code launch/attach configurations for debugging.
.gitignore Add Maven/Eclipse/workspace ignores.
.github/workflows/maven-build.yml Add CI workflow for build/test on JDK 17 + Node 20.
.github/pull_request_template.md Add FINOS-style PR template and checklist.
.github/ISSUE_TEMPLATE/Vote.md Add vote issue template.
.github/ISSUE_TEMPLATE/support_question.yml Add structured support question issue form.
.github/ISSUE_TEMPLATE/Support_question.md Remove legacy markdown support template.
.github/ISSUE_TEMPLATE/feature_request.yml Add structured feature request issue form.
.github/ISSUE_TEMPLATE/Feature_request.md Remove legacy markdown feature request template.
.github/ISSUE_TEMPLATE/bug_report.yml Add structured bug report issue form.
.github/ISSUE_TEMPLATE/Bug_report.md Remove legacy markdown bug report template.
.github/dependabot.yml Add Dependabot config for Maven + GitHub Actions updates.
.github/CODEOWNERS Add CODEOWNERS defaults and admin override for CODEOWNERS itself.
Review details
  • Files reviewed: 197/451 changed files
  • Comments generated: 3
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread fdc3-standard/src/main/java/org/finos/fdc3/api/types/IntentHandler.java Outdated
robmoffat and others added 3 commits September 7, 2026 16:28
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Rob Moffat <rob.moffat@finos.org>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Rob Moffat <rob.moffat@finos.org>
…3-example-app folder that works with FDC3 3.0

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The PR introduces broad API/schema and automation changes and includes verified runtime/config defects (e.g., receiver UI bugs and a Scorecard token configuration risk) that require fixes and human validation.

Review details

Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

.github/workflows/scorecard.yml:41

  • repo_token is set to secrets.SCORECARD_TOKEN, which typically won’t be available for PRs from forks (and may not be configured at all), causing this workflow to fail. Unless you specifically need a PAT, prefer the built-in GITHUB_TOKEN for running Scorecard with publish_results: false.
  • Files reviewed: 190/452 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Security metadata is incompatible with its schema, new security contexts are not fully integrated, and committed debug configuration exposes session-specific connection data.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Review details
  • Files reviewed: 190/452 changed files
  • Comments generated: 5
  • Review effort level: Balanced

Comment thread fdc3-context/src/schemas-temp/3.0.0/context/security.user.schema.json Outdated
Comment thread fdc3-context/src/schemas-temp/3.0.0/context/security.userRequest.schema.json Outdated
Comment thread fdc3-standard/src/main/java/org/finos/fdc3/api/metadata/SecurityMetadata.java Outdated
Comment thread .vscode/launch.json Outdated
robmoffat and others added 4 commits September 7, 2026 17:16
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Rob Moffat <rob.moffat@finos.org>
… a local copy. Corrected interfaces for MessageAuthenticity.
@robmoffat
robmoffat requested a balanced review from Copilot September 7, 2026 17:11

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants