Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
af0434c
Added 2.2 event handling, fixed typos
robmoffat Dec 10, 2025
2213a36
Added cucumber testing support for Java
robmoffat Dec 10, 2025
23c000a
Added implementation of fdc3-agent-proxy
robmoffat Dec 10, 2025
ac24faf
Generating java DTOs in fdc3-context and fdc3-schema
robmoffat Dec 10, 2025
29e7d9b
Fixed type generation
robmoffat Dec 12, 2025
4882f08
quiet the output
robmoffat Dec 12, 2025
15dad56
moving packages / names
robmoffat Dec 12, 2025
2d6d514
Renamed packages
robmoffat Dec 12, 2025
e5c69b5
removed hand-written contexts
robmoffat Dec 12, 2025
4a32703
Working on unit tests for context objects
robmoffat Dec 12, 2025
64cfc01
fixing context issue still
robmoffat Dec 12, 2025
34cbf72
simplifying standards package
robmoffat Dec 12, 2025
9c57b92
removed unused known issue
robmoffat Dec 12, 2025
823664d
Starting to use new schema classes in proxy implementation
robmoffat Dec 12, 2025
e619101
createMeta refactor
robmoffat Dec 12, 2025
b1b184a
Tests compiling
robmoffat Dec 15, 2025
62dfdc0
tidying up use of ObjectMapper
robmoffat Dec 15, 2025
e23929c
Using spring to run cucumber to fix PropsWorld creation issue
robmoffat Dec 15, 2025
3fd1c60
Loading schemas
robmoffat Dec 15, 2025
ef68f8b
broadcast test working
robmoffat Dec 15, 2025
1a287c0
Fixed event / context handlers in tests
robmoffat Dec 15, 2025
1760a6a
Added AbstractListener
robmoffat Dec 15, 2025
0f294f6
Using correct feature files
robmoffat Dec 15, 2025
dcc0230
Better logging
robmoffat Dec 15, 2025
a6a9bbb
Fixing various null handling issues which caused schema mismatches
robmoffat Dec 16, 2025
09a7e6c
mixin generator
robmoffat Dec 16, 2025
aa17e8d
51 failing tests
robmoffat Dec 17, 2025
d90422d
Work in progress fixing tests
robmoffat Dec 17, 2025
2b467f3
Removed duplicate classes
robmoffat Dec 17, 2025
a628951
Removed duplicate appIdentifier class
robmoffat Dec 19, 2025
f29f395
fixing compiler warnings
robmoffat Dec 19, 2025
76283d5
Intent Results
robmoffat Dec 19, 2025
c1e7176
Now throws error if trying to track the wrong event type
robmoffat Dec 19, 2025
49e6472
fixed metadata channel query
robmoffat Dec 19, 2025
069b7b7
Fixing Created enum for event type, fixed event handlers.
robmoffat Dec 19, 2025
8c894e1
Adding missing user channel support
robmoffat Dec 22, 2025
b797089
Fixed issue with find method.
robmoffat Dec 22, 2025
d4f38b1
fixed deprecated private channel tests
robmoffat Dec 22, 2025
dac4a1a
Fixed remaining deprecated private channel tests
robmoffat Dec 22, 2025
114359d
Fixing more tests
robmoffat Dec 22, 2025
fa91bb3
Adding deprecated methods, fixed channel changed issue
robmoffat Dec 22, 2025
709bd5f
Fixed issue around non-existent channels
robmoffat Dec 22, 2025
62fe98f
All tests passing
robmoffat Dec 22, 2025
1232111
Added GetAgent
robmoffat Jan 9, 2026
46e7292
Added getAgent tests
robmoffat Jan 9, 2026
09c2f6c
Updated readme
robmoffat Jan 9, 2026
ac207f2
Removed copyright in headers
robmoffat Jan 9, 2026
8746e9a
Allowed config using system properties
robmoffat Jan 9, 2026
0518151
Added example Java app
robmoffat Jan 12, 2026
fe582e7
Added dialog for FDC3 url
robmoffat Jan 19, 2026
7725b25
Added reconnection logic
robmoffat Jan 20, 2026
ed6a1a8
Added memaid in readme
robmoffat Mar 16, 2026
4e3bef5
Updated diagram
robmoffat Mar 16, 2026
32e5511
Updating to FDC3 2.2.3 and standard cucumber steps
robmoffat May 21, 2026
a832fb1
fixed package names
robmoffat May 21, 2026
d4324ca
checking in features
robmoffat May 21, 2026
641af6c
Committing some changes
robmoffat May 21, 2026
c5a42f4
pushing code - 60+ tests working
robmoffat May 21, 2026
05c1f37
Added the schemas from 3.0.0 into temp-schemas
robmoffat Jun 5, 2026
8d0595c
Provided local schema compile option
robmoffat Jun 5, 2026
359b1a0
updated features, committed some good changes
robmoffat Jun 5, 2026
b1f5c4b
updated schema
robmoffat Jun 5, 2026
4dffb00
All proxy tests working
robmoffat Jun 7, 2026
da556ea
Fixed FDC3Event construction
robmoffat Jun 7, 2026
750946c
FIxed all tests, now 3.0.0 / WSCP compatible.
robmoffat Jun 8, 2026
aadd33f
Updated to use WSCP later draft
robmoffat Jun 20, 2026
d9ce487
added tesla broadcast button
robmoffat Jun 20, 2026
b11693f
Added url launcher stuff
robmoffat Jun 20, 2026
765e092
protocol handlers working on mac
robmoffat Jun 20, 2026
268ed16
Added materials to cover finos standard project blueprint
robmoffat Sep 2, 2026
39b9ac6
Updating to work with FDC3 3.0
robmoffat Sep 2, 2026
bef427d
removed deprecated methods to be consistent with FDC3 3.0
robmoffat Sep 2, 2026
dce7648
Using cucumber-testing-steps
robmoffat Sep 2, 2026
c6f9aa1
adding coverage
robmoffat Sep 2, 2026
7cbb7fe
fixing jacoco again
robmoffat Sep 2, 2026
91d3d19
fixing event types
robmoffat Sep 7, 2026
1c21b8d
fix: pin setup-java action to valid release commit
Copilot Sep 7, 2026
90f83ab
fix: upgrade jackson 2.16.1 to 2.18.8
Copilot Sep 7, 2026
1c8464e
Made private channel disconnect async
robmoffat Sep 7, 2026
90b079f
Removed J21 specific method call
robmoffat Sep 7, 2026
c77db9a
Updating to use J17, since we are using this for testing.
robmoffat Sep 7, 2026
53b6188
improving implementation around close/disconnect - fixing race
robmoffat Sep 7, 2026
3f43421
Clarify return value in chooseIntent method documentation
robmoffat Sep 7, 2026
6207687
Change scheduler to single-threaded with daemon thread
robmoffat Sep 7, 2026
8565c8e
improved javadoc concordant with copilot review
robmoffat Sep 7, 2026
5818a40
Removed the 'unused' folder, as we now have a WSCP example in the fdc…
robmoffat Sep 7, 2026
26005a5
Update launch.json to modify VM arguments
robmoffat Sep 7, 2026
ed9970d
Switching to download contexts and schemas from npm instead of having…
robmoffat Sep 7, 2026
3b879b9
Matching Typescript message authenticity
robmoffat Sep 7, 2026
44ecfba
Trying to align security fields and objects with typescript
robmoffat Sep 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# fdc3-maintainers will be default reviewers for everything in the repo unless a later match takes precedence
* @finos/fdc3-maintainers

# Any changes to this CODEOWNERS file should be reviewed by finos-admins
/.github/CODEOWNERS @finos/finos-admins
44 changes: 0 additions & 44 deletions .github/CONTRIBUTING.md

This file was deleted.

24 changes: 0 additions & 24 deletions .github/ISSUE_TEMPLATE/Bug_report.md

This file was deleted.

17 changes: 0 additions & 17 deletions .github/ISSUE_TEMPLATE/Feature_request.md

This file was deleted.

11 changes: 0 additions & 11 deletions .github/ISSUE_TEMPLATE/Support_question.md

This file was deleted.

30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/Vote.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
name: "[VOTE]"
about: Vote on a project matter
title: "[VOTE] "
labels: vote
---

## Vote Description

<!-- Describe what is being voted on -->

## Binding Voters

<!-- List maintainers who have the right to a binding vote (see MAINTAINERS.md) -->

## Vote

Please react to this issue:

- 👍 Approve
- 👎 Deny
- 👀 Abstain

## Result

<!-- To be completed by the person casting the vote when the vote closes -->

- Total votes:
- Binding votes (Approve, Deny, Abstained):
- Result:
55 changes: 55 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: 🐛 Bug Report
description: If something isn't working as expected 🤔
title: "[Bug] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug! Please fill out the form below.
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: Please provide clear steps to reproduce the issue
placeholder: |
1. Step 1 description
2. Step 2 description
3. Step 3 description
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Result
description: What did you expect to happen?
placeholder: Description of what you expected to see...
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Result
description: What actually happened? Include full exceptions (entire stack trace, including "caused by" entries), log entries, screenshots, etc.
placeholder: What actually happened...
validations:
required: true
- type: textarea
id: environment
attributes:
label: Environment
description: Version and build of the project, OS and runtime versions, virtualised environment (if any), etc.
placeholder: |
- Project version:
- OS:
- Java version:
- Desktop Agent:
- Other relevant details:
validations:
required: true
- type: textarea
id: context
attributes:
label: Additional Context
description: Add any other context about the problem here. If applicable, add screenshots to help explain.
placeholder: Any additional information that might be helpful...
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: 🚀 Feature Request
description: I have a suggestion (and may want to implement it 🙂)!
title: "[Feature] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Please resist the temptation to describe your request in terms of a solution. Job Story form ("When [triggering condition], I want to [motivation/goal], so I can [outcome].") can help ensure you're expressing a problem statement.
- type: textarea
id: problem
attributes:
label: Description of Problem
description: What *problem* are you trying to solve that the project doesn't currently solve?
placeholder: |
When [triggering condition], I want to [motivation/goal], so I can [outcome].
Describe the problem clearly...
validations:
required: true
- type: textarea
id: solutions
attributes:
label: Potential Solutions
description: Clearly and concisely describe what you want to happen. Add any considered drawbacks. If you've considered alternatives, clearly and concisely describe those too.
placeholder: |
Proposed solution:
- Description
- Benefits
- Drawbacks
Alternatives considered:
- Alternative 1
- Alternative 2
validations:
required: true
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/support_question.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: 🤗 Support Question
description: If you have a question about configuration, usage, etc. 💬
title: "[Support] "
labels: ["question", "support"]
body:
- type: markdown
attributes:
value: |
Please search existing issues since someone might have already asked something similar.
- type: textarea
id: question
attributes:
label: Support Question
description: Ask your question here. Be as specific as possible.
placeholder: What would you like to know?
validations:
required: true
27 changes: 27 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
version: 2

updates:
# Maven dependencies
- package-ecosystem: "maven"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 10
commit-message:
prefix: "chore(deps)"
include: "scope"

# GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
groups:
actions-minor-and-patch:
update-types:
- "minor"
- "patch"
open-pull-requests-limit: 10
commit-message:
prefix: "ci(deps)"
include: "scope"
22 changes: 22 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Describe your change

<!--- Describe your change here -->

### Related Issue

<!--- This project prefers to accept pull requests related to open issues -->
<!--- If suggesting a new feature or change, please discuss it in an issue first -->
<!--- Please [link to the issue here](https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/linking-a-pull-request-to-an-issue) by writing "resolves #123" here: -->

## Contributor License Agreement

<!--- All contributions to FINOS projects must be made under an active contributor license agreement. This will be checked by the EasyCLA tool (https://easycla.lfx.linuxfoundation.org/) that runs automatically on every PR. If you've not contributed before, look for a comment on your PR shortly after it is raised and follow the instructions to establish a CLA or have it acknowledged by the EasyCLA tool. -->

- [ ] I acknowledge that a contributor license agreement is required and that I have one in place or will seek to put one in place ASAP.

## Review Checklist

- [ ] **Issue**: Is an issue linked above (if applicable)?
- [ ] **Build**: Does `mvn clean install` pass locally?
- [ ] **License**: Do new source files include the Apache 2.0 license header?
- [ ] **NOTICE**: If new third-party dependencies were added, is [NOTICE](../NOTICE) updated?
59 changes: 59 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Static code analysis

on:
push:
branches: [main]
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
schedule:
# Run every day at 5am and 5pm UTC
- cron: "0 5,17 * * *"

permissions: read-all

jobs:
analyze:
name: CodeQL analysis
runs-on: ubuntu-latest
permissions:
security-events: write

strategy:
fail-fast: false
matrix:
language: [java-kotlin, actions]

steps:
- name: Harden runner
uses: step-security/harden-runner@05e31511f85b41b11d1cf0ef85d0992719546e2c # v2.21.0
with:
egress-policy: audit

- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

- name: Set up JDK 17
if: matrix.language == 'java-kotlin'
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
with:
distribution: temurin
java-version: "17"
cache: maven

- name: Set up Node.js
if: matrix.language == 'java-kotlin'
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: "20"

- name: Initialize CodeQL
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
with:
languages: ${{ matrix.language }}

- name: Autobuild
if: matrix.language == 'java-kotlin'
uses: github/codeql-action/autobuild@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7

- name: Analyze
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4.37.7
Loading
Loading