Skip to content

docs: add FDC3 v3 web guidance for route-scoped identity, context-only apps, and private context types - #1969

Open
robmoffat with Copilot wants to merge 11 commits into
mainfrom
copilot/fdc3-v3-alpha-feedback-implementation
Open

docs: add FDC3 v3 web guidance for route-scoped identity, context-only apps, and private context types#1969
robmoffat with Copilot wants to merge 11 commits into
mainfrom
copilot/fdc3-v3-alpha-feedback-implementation

Conversation

Copilot AI commented Jul 9, 2026

Copy link
Copy Markdown

Addresses three documentation gaps surfaced by implementer feedback (TraderX + Sail v3) when hosting multiple FDC3 apps on a single origin.

Changes

Route-scoped web app identity (supported-platforms.md, GetAgent.md)

  • New "Multiple FDC3 Apps on a Single Origin" section: register each path-differentiated route as a separate AppD record; pass a stable identityUrl matching that record's details.url when calling getAgent() (e.g. for SPAs that have already navigated before getAgent() is called)
  • Tips/cautions on URL stability and one-time tokens

Application interop metadata (app-directory/overview.md)

  • Replaced a verbose "Context-only Apps" section with a focused paragraph describing the purpose of the interop field in AppD records — intent resolution, catalog discovery, and channel interaction documentation — with links to both the rendered App Directory specification and the raw OpenAPI schema

Private/proprietary context types (context/spec.md)

  • New "Private and Proprietary Context Types" section: naming conventions (reverse-domain or org abbreviation), id-vs-custom-fields guidance, privacy considerations for User Channel broadcasts, alternatives for richer point-to-point data sharing, and AppD declaration notes

Related Issue

Resolves #1943

Contributor License Agreement

  • 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: If a change was made to the FDC3 Standard, was an issue linked above?
  • CHANGELOG: Is a CHANGELOG.md entry included?
  • API changes: Does this PR include changes to any of the FDC3 APIs (DesktopAgent, Channel, PrivateChannel, Listener, Bridging)?
    • Docs & Sources: If yes, were both documentation (/docs) and sources updated?

      JSDoc comments on interfaces and types should be matched to the main documentation in /docs
    • Conformance tests: If yes, are conformance test definitions (/toolbox/fdc3-conformance) still correct and complete?

      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
    • Schemas: If yes, were changes applied to the Bridging and FDC3 for Web protocol schemas?

      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
      • If yes, was code generation (npm run build) run and the results checked in?

        Generated code will be found at /src/api/BrowserTypes.ts and/or /src/bridging/BridgingTypes.ts
  • Context types: Were new Context type schemas created or modified in this PR?
    • Were the field type conventions adhered to?
    • Was the BaseContext schema applied via allOf (as it is in existing types)?
    • Was a title and description provided for all properties defined in the schema?
    • Was at least one example provided?
    • Was code generation (npm run build) run and the results checked in?

      Generated code will be found at /src/context/ContextTypes.ts
  • Intents: Were new Intents created in this PR?

@netlify

netlify Bot commented Jul 9, 2026

Copy link
Copy Markdown

Deploy Preview for fdc3 ready!

Name Link
🔨 Latest commit 78265d2
🔍 Latest deploy log https://app.netlify.com/projects/fdc3/deploys/6a74d66a80b4330008b7da1b
😎 Deploy Preview https://deploy-preview-1969.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.

Copilot AI changed the title [WIP] Add route-scoped identity and custom context guidance for FDC3 v3 docs: add FDC3 v3 web guidance for route-scoped identity, context-only apps, and private context types Jul 9, 2026
Copilot AI requested a review from robmoffat July 9, 2026 14:21
robmoffat added 5 commits July 9, 2026 15:36
Removed code example and simplified explanation for multiple FDC3-enabled applications on the same origin.
Removed section on multiple FDC3 apps on a single origin, including examples and usage notes regarding identity validation.
Removed privacy considerations and guidelines for context objects in User Channels. Updated conventions for context types and identifiers.
Updated the documentation to clarify naming conventions and the structure of private context types. Added sections on 'name' and 'id' properties, and emphasized avoiding union types in schemas.
Comment thread website/docs/app-directory/overview.md Outdated
The specification does not define or make mandatory any authorizations or roles that a provider or enterprise can define.

A key concept in the App Directory is how applications are identified and referenced across different environments. Application identifiers are used both to uniquely describe apps within a directory and, in some cases, to locate the directory instance that hosts an application’s record.
### Context-only Apps

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Instead of this whole section on context only apps, instead please provide a single paragraph description of the purpose of the interop section of the AppD record, along with a link to the specification of this.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@copilot please address the above comment

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Done — replaced the entire "Context-only Apps" section with a single ### Application \interop` Metadata` paragraph that describes the field's purpose and links to the App Directory specification. Commit: the latest push.

@codecov-commenter

codecov-commenter commented Jul 9, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.32%. Comparing base (97a4c85) to head (48923c5).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1969   +/-   ##
=======================================
  Coverage   95.32%   95.32%           
=======================================
  Files          85       85           
  Lines        6690     6690           
  Branches      932      895   -37     
=======================================
  Hits         6377     6377           
  Misses        313      313           

☔ 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.

Copilot AI changed the title docs: add FDC3 v3 web guidance for route-scoped identity, context-only apps, and private context types docs: add FDC3 v3 web guidance for route-scoped identity, interop metadata, and private context types Jul 9, 2026
Copilot AI requested a review from robmoffat July 9, 2026 14:50
Copilot AI changed the title docs: add FDC3 v3 web guidance for route-scoped identity, interop metadata, and private context types docs: add FDC3 v3 web guidance for route-scoped identity, context-only apps, and private context types Jul 9, 2026
@robmoffat
robmoffat marked this pull request as ready for review July 9, 2026 14:54
@robmoffat
robmoffat requested a review from a team as a code owner July 9, 2026 14:54

@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.

Needs one paragraph restoring, then this should be good to merge


:::

Finally, if there is still no Desktop Agent available, or an issue prevents connection to it, the `getAgent()` function will reject its promise with a message from the [`AgentError`](./Errors#agenterror) enumeration.

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 should not be removed when making the addition...

Comment thread website/docs/api/ref/GetAgent.md

@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.

LGTM - can another @finos/fdc3-maintainers team member review and merge, as I have last push on this after committing a suggestion.

@kriswest
kriswest requested a review from a team August 7, 2026 13:44
@kriswest

kriswest commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Not sure why test check is stuck...

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.

FDC3 v3 alpha web implementer feedback: route-scoped identity, context-only apps, and custom context guidance

4 participants