Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FDC3 for Web Browsers Discussion group 16th January 2025 #1496

Open
7 of 9 tasks
kriswest opened this issue Jan 16, 2025 · 10 comments
Open
7 of 9 tasks

FDC3 for Web Browsers Discussion group 16th January 2025 #1496

kriswest opened this issue Jan 16, 2025 · 10 comments
Labels

Comments

@kriswest
Copy link
Contributor

kriswest commented Jan 16, 2025

Group overview

Group convened to work on proposals to enable FDC3 use in a web browser, without the use of a browser extension.

The main proposal is now part of the current draft of FDC3 2.2 on the mina branch of the FDC3 repo and website (main/unreleased version), see:

Open Pull Requests:

Relevant issue tags

Current open issues that relate to the above concepts with the label:
image

Meeting Date

Thursday 16th January 2025 - 11am (US eastern timezone EST) / 4pm (London, GMT)

Zoom info

  • Join Zoom Meeting
  • Meeting ID: 969 4029 4948
  • Passcode: 636931
  • Dial-in:
    Country International Dial-in Toll-free Dial-in
    US +1 929 205 6099 (New York) 877 853 5247
    UK +44 330 088 5830 0800 031 5717
    France +33 1 8699 5831 0 800 940 415
    Find your local number https://zoom.us/u/ad2WVnBzb8

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

  • A Discussion Group has no direct decision-making power regarding the FDC3 standard - rather it is intended that anything they propose or work on will result in proposals (via Github issues and PRs) for the Standards Working Group participants to consider and vote on for inclusion in the standard.

Participation Requirements

Note: Meeting participants are expected to accept the terms of the FDC3 license (Community Specification License), understand the governance process and have a CLA in place.

Please click the following links at the start of the meeting if you have not done so previously.

Tracking Attendance

Note: Meeting participants are expected to add a comment to this GitHub issue in order that we can track attendance of FDC3 project meetings. Please do this at the start of the meeting.

Agenda

Minutes

  • Update on the current status of implementation
    • Nominally complete, with alpha release from PR branch on NPM for testing
      • Not tagged as latest (as it is a pre-release) hence use semver string "^2.2.2-alpha.3"
      • Can and should be tested in both FDC3 for Web scenarios and traditional container-injected implementations - should not cause any breaking changes.
    • Code reviews by @julianna-ciq and @kriswest - now open for review by others, which would be much appreciated
    • Readmes added to the main projects and the demo/reference implementation.
    • Close to 500 tests implemented to ensure correct behaviour
    • Reference implementation is passing all 2.0 conformance tests
    • Next steps are to:
      • Merge the additional PRs agreed (debug logs, cusotmizing timeouts, FDC3 workbench update)
      • Collect reviews from maintainers, merge into main branch and perform beta release to NPM
      • FDC3 Standards Working Group to vote to adopt 2.2.0 release and re-release to NPM as 2.2.0
    • Timeline is dependent on the work of volunteers/maintainers - aim to do so as quickly as possible!
    • @robmoffat is working on getting Sail working with the alpha release.
    • interop.io and Morgan Stanley are also actively working on and testing implementations.
  • Updating SessionStorage data format to additionally scope data #1442
    • Re-reviewed changes in this PR
    • Asked for and received consent from group to merge, pending editorial approval from @novavi (received during meeting).
  • Match event listener names to event type names in fdc3 for web schemas #1459
    • Briefly re-reviewed changes in this PR
    • Asked for and received consent from group to merge, pending editorial approval from @novavi (received during meeting).
  • Allow apps to control FDC3 for Web JS console logging #1495
    • PR covers both additions to standard and implementation to support this
    • Intended to help with debugging DA integrations with FDC3 for the Web
    • A minor correction to docs example was made during the meeting
    • Proposed and received consent for review by @robmoffat of implementation and @novavi for editorial before merging into the main PR
  • FDC3 for Web Browsers Discussion group 16th January 2025 #1496
    • PR still in draft while additional test cases are added, otherwise complete
    • Extends default timeouts (necessary to comply with standard which requires DAs to allow at least 15seconds for apps to launch and add listeners, and applies no upper bound. Hence, timeout for API calls that launch apps (open, raiseIntent, raiseIntentForContext extended to 100s by default, 10s for other API calls)
    • Custom timeout values can be set by DA by passing them in the WCP3Handshake message during the connection flow.
      • These are then passed to handlers and listeners in fdc3-agent-proxy that implement the timeouts via the wait and exchange functions
    • There remains the question of what to do when API calls timeout - FDC3 uses standardized errors but doesn't have ones appropriate for timeouts in all APIs (OpenError.AppTimeout and ResolveError.IntentDeliveryFailed relate to the app being started rather than communication with the Desktop Agent).
      • @kriswest proposed to create a new error (in all necessary error enumerations) to use on timeout and that this is needed in 2.2.0
        • There is a similar issue No defined behaviour when incorrect arguments are passed to API calls #1490 relating to the passing of invalid arguments to an API call, which is also not covered and needs to be in future - however, this is not as urgent/needed as one for timeouts.
          • This will need to be covered in the conformance tests - where a timeout error does not need to be (handled in the getAgent implementation and should be covered in its own tests)
        • Consent was asked for and received for creating new timeout errors to use
    • Consent was asked for and received for merging the PR after proposed additions

Action Items

Untracked attendees

Full name Affiliation GitHub username
@novavi
Copy link

novavi commented Jan 16, 2025

Derek Novavi / S&P Global

@Davidhanson90
Copy link

David Hanson - Morgan Stanley 🚀

@Roaders
Copy link
Contributor

Roaders commented Jan 16, 2025

Giles Roadnight - Morgan Stanley

@kriswest
Copy link
Contributor Author

Kris West / interop.io 🚀

@julianna-ciq
Copy link
Contributor

Julianna Langston / interop.io

@paulgoldsmith
Copy link

Paul Goldsmith / Morgan Stanley

@pvoznyuk
Copy link

Pavlo Vozniuk / RBC CM 🦁

@kemerava
Copy link
Contributor

Elizabeth Kemerava / BlackRock

@robmoffat
Copy link
Member

Rob Moffat /Rob Moffat / FINOS 💥

@Lecss
Copy link

Lecss commented Jan 16, 2025

Alex Dumitru / Citi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

10 participants