Skip to content

Add optional FDC3 version property to AppD record - #1965

Open
julianna-ciq wants to merge 5 commits into
finos:mainfrom
InteropIO:appd-fdc3-version-range
Open

Add optional FDC3 version property to AppD record#1965
julianna-ciq wants to merge 5 commits into
finos:mainfrom
InteropIO:appd-fdc3-version-range

Conversation

@julianna-ciq

Copy link
Copy Markdown
Contributor

Summary

  • add AppD fdc3Version metadata as an npm-style semver range
  • filter web Desktop Agent AppD records by compatibility with the agent FDC3 version
  • add focused coverage for compatible, incompatible, invalid, and unversioned AppD records

Fixes #1871

Verification

  • npx.cmd tsc -p toolbox/fdc3-for-web/fdc3-web-impl/tsconfig.json --noEmit
  • npm.cmd test --workspace toolbox/fdc3-for-web/fdc3-web-impl -- BasicDirectory reaches compile, then stops because vitest is not installed in the local checkout

@julianna-ciq
julianna-ciq requested a review from a team as a code owner July 8, 2026 14:37
@netlify

netlify Bot commented Jul 8, 2026

Copy link
Copy Markdown

Deploy Preview for fdc3 ready!

Name Link
🔨 Latest commit 0b983fe
🔍 Latest deploy log https://app.netlify.com/projects/fdc3/deploys/6a7650ebc18e5f0009bea32a
😎 Deploy Preview https://deploy-preview-1965.preview-fdc3.finos.org
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@julianna-ciq julianna-ciq changed the title Add AppD FDC3 version range metadata [DRAFT] Add optional FDC3 version property to AppD record Jul 8, 2026
@kriswest

Copy link
Copy Markdown
Contributor

picked up some conflicts and is failing out of the website build for some reason - needs investigation

@julianna-ciq

Copy link
Copy Markdown
Contributor Author

@kriswest I think Netlify is failing because .npmrc has a min-release-age = 7 rule, but dependency fast-uri@3.1.4 is only 3 days old. I think we'll need to downgrade fast-uri to 3.1.2 if we want to merge anything in the next 4 days

@kriswest

Copy link
Copy Markdown
Contributor

Hmm, dependabot is supposed to have the same setting:

default-days: 7

and it proposed that update. I guess its not applying that config to the website folder?? Would also explain why its not grouping updates for the website.

I'll raise something to try and do that downgrade and fix the dependabot config.

@kriswest

Copy link
Copy Markdown
Contributor

@julianna-ciq This should fix it, could you take a look: #2007
If happy go ahead and merge it, then rebase here

},
"fdc3Version": {
"type": "string",
"format": "semver-range",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Do you know what version of the json schema specification this is supported in? Can we get that added to the description.

If its not been adopted we can do this with a regex over a string type. Theres a regex for semver in here somewhere: semver/semver.org#431

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't see it in 2020-12: https://www.learnjsonschema.com/2020-12/format-annotation/format/

maybe a hallucination?

@codecov-commenter

codecov-commenter commented Aug 5, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 61.90476% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 95.27%. Comparing base (ed9ce71) to head (0b983fe).
⚠️ Report is 26 commits behind head on main.

Files with missing lines Patch % Lines
...-web/fdc3-web-impl/src/directory/BasicDirectory.ts 61.90% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1965      +/-   ##
==========================================
- Coverage   95.40%   95.27%   -0.13%     
==========================================
  Files          85       85              
  Lines        6718     6737      +19     
  Branches      899      986      +87     
==========================================
+ Hits         6409     6419      +10     
- Misses        309      318       +9     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@kriswest

kriswest commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Is this still a draft? can you change title if not and I'll review

@julianna-ciq julianna-ciq changed the title [DRAFT] Add optional FDC3 version property to AppD record Add optional FDC3 version property to AppD record Aug 12, 2026

@kriswest kriswest left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The regex for validation needs testing and needs a few tweaks - we should lose the v1 appD spec at the same time

"type": "string",
"description": "Version of the application. This allows multiple app versions to be defined using the same app name. This can be a triplet but can also include things like 1.2.5 (BETA)"
},
"fdc3Version": {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This shouldn't be getting added to the v1 app spec. However, we could also remove that entirely as its overdue to go along with the deprecated routes.

Comment on lines +24 to +25
const range = semver.validRange(appFdc3Version);
return range != null && semver.satisfies(fdc3Version, range);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This isn't using the regex defined in the App Directory schema and probably should be...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can we validate using teh schema OR at least the regex from the schema

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.

App Directory does not contain information about the version of FDC3 that the application requires

3 participants