fix: better support 1.2 DAs by not requiring appMetadata in getInfo responses#1550
fix: better support 1.2 DAs by not requiring appMetadata in getInfo responses#1550
Conversation
✅ Deploy Preview for fdc3 ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
@himanksegar PR with a fix raised. |
|
@john-ciq You should be able to test this fix from url: https://deploy-preview-1550--fdc3.netlify.app/toolbox/fdc3-workbench (or thereabouts) - I can't due to a corporate firewall, which also covers @himanksegar. Could you give it a go in a 1.2 DA and see if it resolves the issue? |
The link you provided works. Two notes:
|
|
@john-ciq Thank you for testing
I know why that is and will fix that.
I don't think its expected. The behaviour it should be using depends on the version of the workbench thats selected. It comes in 1.2 and 2.0+ flavours and should be automatically selecting the right one... you can force it to one or the other in UI: If running on a 1.2 agent it needs to use the |
|
@john-ciq I figured out why the channels issue was occurring - the version switch isn't switching that behaviour anymore. I found a better way to make it backwards compatible and it should work now - if you can retest, please do. |
|
@kriswest I still see the error getting channels and also the context schema fails during parse. Please double check the URL I tested with to make sure I have it correct: 20250327.1647Z.mov |
|
@john-ciq looks like the URL it's trying to load has updated, so you must be on the new build. Can you load this directly https://fdc3.finos.org/schemas/next/context/context.schema.json ? |
Yes, that URL loads. I suspect that the code which parses the schema is at fault. I haven't decompiled it, but the error indicates that Buffer is not defined. I think this needs to be polyfilled since Buffer is a node object. |
|
I can replicate the user channels issue in the FDC3 for Web demo AND the failure to download the context schema (which does exist at the correct URL). These appear to be new issues that need resolving before release. |
1 similar comment
…b.com/finos/FDC3 into 1549-workbench-stopped-working-in-1.2
|
Asked @robmoffat to re-approve this PR after we got it retested and some small fixes in the workbench pushed. |


Describe your change
The recent update to the FDC3 Workbench for FDC3 for the web has caused it to stop working with DAs still running FDC3 1.2. This is due to the assumption that the
appMetadataelement ofImplementationMetadatawill be returned by a call togetInfo().ImplementationMetadatain 1.2: https://fdc3.finos.org/docs/1.2/api/ref/Metadata#implementationmetadataImplementationMetadatain 2.0: https://fdc3.finos.org/docs/2.0/api/ref/Metadata#implementationmetadatagetAgentcode that assumes it exists (inDesktopAgentPreloadLoader):FDC3/packages/fdc3-get-agent/src/strategies/DesktopAgentPreloadLoader.ts
Lines 53 to 55 in 1dc61f4
A fix for this should be possible as in 1.2 we only have preload DAs and they don't support any of the features that rely on the stored data (such as recovering the same instanceId - generally managing that themselves by tracking the window)
Related Issue
resolves #1549
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