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 Implementation #1309

Open
wants to merge 794 commits into
base: main
Choose a base branch
from
Open

FDC3 For Web Browsers Implementation #1309

wants to merge 794 commits into from

Conversation

robmoffat
Copy link
Member

@robmoffat robmoffat commented Aug 5, 2024

Implementation PR for FDC3 for the Web (#896)

This PR primarily implements the getAgent() function (in the fdc3-get-agent package) as defined by the FDC3 Web Connection Protocol (WCP) and a DesktopAgentProxy (in the fdc3-agent-proxy package) that it uses to implement communication with browser-based Desktop Agents via the FDC3 Desktop Agent Communication Protocol (DACP).

Additionally, the FDC3 repository is refactored to be a monorepo supported by npm workspaces. The existing repository was split into fdc3-context (context type definitions), fdc3-schems (bridging and DACP protocol messages) and fdc3-standard (existing API TypeScript definitions, Intents and App Directory) packages. A testing package was added with tooling used in multiple packages for testing.

These packages are rolled up for release on NPM by an fdc3 package (publishing to the existing @finos/fdc3 NPM package). Previous releases provided both ES6 and CommonJs modules within a single package - this release will only provide ES6, with a separate fdc3-commonjs module provided for backwards compatibility (will release at @finos/fdc3-commonjs).

Finally, a reference implementation, demo for FDC3 in a Web Browser and reference channel selector and intent resolver UIs (that can be injected into an app by getAgent) are provided in the toolbox/fdc3-for-web package.

@julianna-ciq
Copy link
Contributor

@robmoffat Please see #1405 for build fixes

Copy link
Contributor

@julianna-ciq julianna-ciq left a comment

Choose a reason for hiding this comment

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

Reviewing the addon and fdc3-agent-proxy package. More reviews to come...

package.json Outdated Show resolved Hide resolved
package.json Show resolved Hide resolved
packages/addon/index.html Outdated Show resolved Hide resolved
packages/addon/package.json Outdated Show resolved Hide resolved
packages/addon/src/intent_resolver.ts Outdated Show resolved Hide resolved
Then "{result}" is an error with message "TargetAppUnavailable"

Scenario: void is returned in the result
Given Raise Intent will return no result
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Given Raise Intent will return no result
Given Raise Intent returns no result

| OrderFood | fdc3.instrument | AAPL | chipShop | c1 | raiseIntentRequest |

Scenario: Context Data is returned in the result
Given Raise Intent will return a context of "{instrumentContext}"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Given Raise Intent will return a context of "{instrumentContext}"
Given Raise Intent returns a context of "{instrumentContext}"

| OrderFood | fdc3.instrument | AAPL | raiseIntentRequest |

Scenario: App Channel is returned in the result
Given Raise Intent will return an app channel
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Given Raise Intent will return an app channel
Given Raise Intent returns an app channel

| OrderFood | fdc3.instrument | AAPL | raiseIntentRequest |

Scenario: User Channel is returned in the result
Given Raise Intent will return a user channel
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Given Raise Intent will return a user channel
Given Raise Intent returns a user channel

| OrderFood | fdc3.instrument | AAPL | raiseIntentRequest |

Scenario: Private Channel is returned in the result
Given Raise Intent will return a private channel
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Given Raise Intent will return a private channel
Given Raise Intent returns a private channel

Copy link
Contributor

@julianna-ciq julianna-ciq left a comment

Choose a reason for hiding this comment

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

Reviews for the fdc3-get-agent package

packages/fdc3-context/package.json Outdated Show resolved Hide resolved
packages/fdc3-context/package.json Outdated Show resolved Hide resolved
packages/fdc3-get-agent/package.json Outdated Show resolved Hide resolved
packages/fdc3-get-agent/test/support/MockFDC3Server.ts Outdated Show resolved Hide resolved
Copy link
Contributor

@kriswest kriswest left a comment

Choose a reason for hiding this comment

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

Just starting a review - have only really got through addon

package.json Show resolved Hide resolved
package.json Show resolved Hide resolved
"packages/fdc3",
"toolbox/fdc3-for-web/demo",
"toolbox/fdc3-workbench"
],
"scripts": {
Copy link
Contributor

Choose a reason for hiding this comment

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

It'd also be useful to have some readme content on the scripts, both at this top-level and the individual scripts in each package. What do the merge, report and syncpack tasks actually achieve? Which scripts need running on a PR branch before creating a PR? (e.g. code generation after schema changes). How do you preview docs changes.

We were light on this content before this PR, but with the complexity it adds, guide content becomes more important IMHO

packages/README.md Outdated Show resolved Hide resolved
packages/addon/index.html Outdated Show resolved Hide resolved
@@ -0,0 +1,134 @@
import { IframeChannelsPayload, Channel } from "@kite9/fdc3-common";
Copy link
Contributor

Choose a reason for hiding this comment

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

Fix before merge

packages/addon/src/intent_resolver.ts Outdated Show resolved Hide resolved
packages/addon/src/main.ts Outdated Show resolved Hide resolved
packages/fdc3-agent-proxy/package.json Outdated Show resolved Hide resolved
packages/fdc3-agent-proxy/package.json Outdated Show resolved Hide resolved
@kriswest

This comment was marked as outdated.

@robmoffat

This comment was marked as outdated.

@kriswest

This comment was marked as outdated.

@finos finos deleted a comment from github-actions bot Nov 5, 2024
Copy link

github-actions bot commented Nov 5, 2024

Coverage Report

Commit: 3abc5cb
Base: main@4b74dec

Type Base This PR
Total Statements Coverage  97.32%  97.32% (+0%)
Total Branches Coverage  86.09%  86.09% (+0%)
Total Functions Coverage  98.07%  98.07% (+0%)
Total Lines Coverage  97.33%  97.33% (+0%)
Details (changed files)
FileStatementsBranchesFunctionsLines
packages/fdc3-agent-proxy/src/DesktopAgentProxy.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/index.ts 100% 100% 71.42% 100%
packages/fdc3-agent-proxy/src/util.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/apps/DefaultAppSupport.ts 86.36% 50% 100% 86.36%
packages/fdc3-agent-proxy/src/channels/DefaultChannel.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/channels/DefaultChannelSupport.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/channels/DefaultPrivateChannel.ts 97.29% 66.66% 100% 97.29%
packages/fdc3-agent-proxy/src/heartbeat/DefaultHeartbeatSupport.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/intents/DefaultIntentResolution.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/intents/DefaultIntentSupport.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/listeners/AbstractListener.ts 100% 60% 100% 100%
packages/fdc3-agent-proxy/src/listeners/DefaultContextListener.ts 100% 90% 100% 100%
packages/fdc3-agent-proxy/src/listeners/DefaultIntentListener.ts 100% 77.77% 100% 100%
packages/fdc3-agent-proxy/src/listeners/EventListener.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/listeners/HeartbeatListener.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/listeners/PrivateChannelEventListener.ts 93.18% 72.72% 100% 93.18%
packages/fdc3-agent-proxy/src/messaging/AbstractMessaging.ts 93.33% 100% 80% 93.33%
packages/fdc3-get-agent/src/index.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/messaging/MessagePortMessaging.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/messaging/message-port.ts 97.43% 93.33% 100% 97.43%
packages/fdc3-get-agent/src/sessionStorage/DesktopAgentDetails.ts 97.36% 89.47% 100% 97.36%
packages/fdc3-get-agent/src/strategies/DesktopAgentPreloadLoader.ts 100% 81.25% 100% 100%
packages/fdc3-get-agent/src/strategies/FailoverHandler.ts 100% 80% 100% 100%
packages/fdc3-get-agent/src/strategies/HelloHandler.ts 93.75% 75% 100% 93.75%
packages/fdc3-get-agent/src/strategies/IdentityValidationHandler.ts 95.65% 73.33% 100% 95.65%
packages/fdc3-get-agent/src/strategies/PostMessageLoader.ts 98.43% 85.71% 100% 98.41%
packages/fdc3-get-agent/src/strategies/getAgent.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/ui/AbstractUIComponent.ts 97.14% 71.42% 100% 97.01%
packages/fdc3-get-agent/src/ui/DefaultDesktopAgentChannelSelector.ts 100% 75% 100% 100%
packages/fdc3-get-agent/src/ui/DefaultDesktopAgentIntentResolver.ts 100% 90% 100% 100%
packages/fdc3-get-agent/src/ui/NullChannelSelector.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/ui/NullIntentResolver.ts 100% 100% 66.66% 100%
packages/fdc3-get-agent/src/util/Logger.ts 100% 73.33% 100% 100%
packages/fdc3-get-agent/src/util/Uuid.ts 100% 100% 100% 100%
packages/fdc3-standard/src/index.ts 100% 100% 0% 100%
packages/fdc3-standard/src/api/Errors.ts 100% 100% 100% 100%
packages/fdc3-standard/src/api/GetAgent.ts 100% 100% 100% 100%
packages/fdc3-standard/src/api/Methods.ts 94.04% 84.05% 96.29% 95%
packages/fdc3-standard/src/api/RecommendedChannels.ts 100% 100% 100% 100%
packages/fdc3-standard/src/context/ContextType.ts 100% 100% 100% 100%
packages/fdc3-standard/src/intents/Intents.ts 100% 100% 100% 100%
packages/fdc3-standard/src/internal/contextConfiguration.ts 100% 100% 100% 100%
packages/fdc3-standard/src/internal/intentConfiguration.ts 100% 100% 100% 100%
packages/fdc3-standard/src/internal/typeHelpers.ts 100% 100% 100% 100%
toolbox/fdc3-for-web/fdc3-web-impl/src/BasicFDC3Server.ts 100% 100% 100% 100%
toolbox/fdc3-for-web/fdc3-web-impl/src/ServerContext.ts 100% 100% 100% 100%
toolbox/fdc3-for-web/fdc3-web-impl/src/directory/BasicDirectory.ts 96.87% 84.21% 100% 96.55%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/BroadcastHandler.ts 96.38% 86.41% 100% 96.12%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/HeartbeatHandler.ts 88.23% 71.87% 86.66% 90%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/IntentHandler.ts 95.6% 86.56% 100% 95%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/OpenHandler.ts 97.14% 86.84% 100% 97.14%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/support.ts 100% 100% 100% 100%
Details (all files)
FileStatementsBranchesFunctionsLines
packages/fdc3-agent-proxy/src/DesktopAgentProxy.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/index.ts 100% 100% 71.42% 100%
packages/fdc3-agent-proxy/src/util.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/apps/DefaultAppSupport.ts 86.36% 50% 100% 86.36%
packages/fdc3-agent-proxy/src/channels/DefaultChannel.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/channels/DefaultChannelSupport.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/channels/DefaultPrivateChannel.ts 97.29% 66.66% 100% 97.29%
packages/fdc3-agent-proxy/src/heartbeat/DefaultHeartbeatSupport.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/intents/DefaultIntentResolution.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/intents/DefaultIntentSupport.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/listeners/AbstractListener.ts 100% 60% 100% 100%
packages/fdc3-agent-proxy/src/listeners/DefaultContextListener.ts 100% 90% 100% 100%
packages/fdc3-agent-proxy/src/listeners/DefaultIntentListener.ts 100% 77.77% 100% 100%
packages/fdc3-agent-proxy/src/listeners/EventListener.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/listeners/HeartbeatListener.ts 100% 100% 100% 100%
packages/fdc3-agent-proxy/src/listeners/PrivateChannelEventListener.ts 93.18% 72.72% 100% 93.18%
packages/fdc3-agent-proxy/src/messaging/AbstractMessaging.ts 93.33% 100% 80% 93.33%
packages/fdc3-get-agent/src/index.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/messaging/MessagePortMessaging.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/messaging/message-port.ts 97.43% 93.33% 100% 97.43%
packages/fdc3-get-agent/src/sessionStorage/DesktopAgentDetails.ts 97.36% 89.47% 100% 97.36%
packages/fdc3-get-agent/src/strategies/DesktopAgentPreloadLoader.ts 100% 81.25% 100% 100%
packages/fdc3-get-agent/src/strategies/FailoverHandler.ts 100% 80% 100% 100%
packages/fdc3-get-agent/src/strategies/HelloHandler.ts 93.75% 75% 100% 93.75%
packages/fdc3-get-agent/src/strategies/IdentityValidationHandler.ts 95.65% 73.33% 100% 95.65%
packages/fdc3-get-agent/src/strategies/PostMessageLoader.ts 98.43% 85.71% 100% 98.41%
packages/fdc3-get-agent/src/strategies/getAgent.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/ui/AbstractUIComponent.ts 97.14% 71.42% 100% 97.01%
packages/fdc3-get-agent/src/ui/DefaultDesktopAgentChannelSelector.ts 100% 75% 100% 100%
packages/fdc3-get-agent/src/ui/DefaultDesktopAgentIntentResolver.ts 100% 90% 100% 100%
packages/fdc3-get-agent/src/ui/NullChannelSelector.ts 100% 100% 100% 100%
packages/fdc3-get-agent/src/ui/NullIntentResolver.ts 100% 100% 66.66% 100%
packages/fdc3-get-agent/src/util/Logger.ts 100% 73.33% 100% 100%
packages/fdc3-get-agent/src/util/Uuid.ts 100% 100% 100% 100%
packages/fdc3-standard/src/index.ts 100% 100% 0% 100%
packages/fdc3-standard/src/api/Errors.ts 100% 100% 100% 100%
packages/fdc3-standard/src/api/GetAgent.ts 100% 100% 100% 100%
packages/fdc3-standard/src/api/Methods.ts 94.04% 84.05% 96.29% 95%
packages/fdc3-standard/src/api/RecommendedChannels.ts 100% 100% 100% 100%
packages/fdc3-standard/src/context/ContextType.ts 100% 100% 100% 100%
packages/fdc3-standard/src/intents/Intents.ts 100% 100% 100% 100%
packages/fdc3-standard/src/internal/contextConfiguration.ts 100% 100% 100% 100%
packages/fdc3-standard/src/internal/intentConfiguration.ts 100% 100% 100% 100%
packages/fdc3-standard/src/internal/typeHelpers.ts 100% 100% 100% 100%
toolbox/fdc3-for-web/fdc3-web-impl/src/BasicFDC3Server.ts 100% 100% 100% 100%
toolbox/fdc3-for-web/fdc3-web-impl/src/ServerContext.ts 100% 100% 100% 100%
toolbox/fdc3-for-web/fdc3-web-impl/src/directory/BasicDirectory.ts 96.87% 84.21% 100% 96.55%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/BroadcastHandler.ts 96.38% 86.41% 100% 96.12%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/HeartbeatHandler.ts 88.23% 71.87% 86.66% 90%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/IntentHandler.ts 95.6% 86.56% 100% 95%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/OpenHandler.ts 97.14% 86.84% 100% 97.14%
toolbox/fdc3-for-web/fdc3-web-impl/src/handlers/support.ts 100% 100% 100% 100%

Copy link

github-actions bot commented Nov 5, 2024

404 passed

toolbox/fdc3-for-web/demo/src/client/tsconfig.json.unused Outdated Show resolved Hide resolved
And "App1/a1" is opened with connection id "a1"
And "listenerApp/b1" is opened with connection id "b1"
And "listenerApp/b1" registers an intent listener for "returnBook"
# Scenario: Context Not Handled By App
Copy link
Contributor

Choose a reason for hiding this comment

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

These lines should be deleted.

Comment on lines 119 to 123
# Scenario: Raising An Invalid Intent (non existent intent but valid app)
# When "App1/a1" raises an intent for "nonExistentIntent" with contextType "fdc3.book" on app "listenerApp/b1"
# Then messaging will have outgoing posts
# | msg.payload.error | msg.type |
# | NoAppsFound | raiseIntentResponse |
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
# Scenario: Raising An Invalid Intent (non existent intent but valid app)
# When "App1/a1" raises an intent for "nonExistentIntent" with contextType "fdc3.book" on app "listenerApp/b1"
# Then messaging will have outgoing posts
# | msg.payload.error | msg.type |
# | NoAppsFound | raiseIntentResponse |

Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this? What does this file accomplish for the repo?

packages/fdc3-standard/src/api/Types.ts Outdated Show resolved Hide resolved
packages/fdc3-standard/src/ui/IntentResolver.ts Outdated Show resolved Hide resolved
packages/fdc3-standard/test/ContextTypes.test.ts Outdated Show resolved Hide resolved
packages/fdc3/src/index.ts Outdated Show resolved Hide resolved
packages/testing/src/agent/index.ts Outdated Show resolved Hide resolved
@robmoffat robmoffat changed the title FDC3 For Web Browsers Implementation DO NOT MERGE FDC3 For Web Browsers Implementation DO NOT MERGE OR REVIEW Nov 8, 2024
@robmoffat

This comment was marked as outdated.

This comment was marked as outdated.

@kriswest

This comment was marked as outdated.

This comment was marked as outdated.

@robmoffat

This comment was marked as outdated.

@robmoffat
Copy link
Member Author

#1197 is awaiting final reviews (as all comments raised are now resolved), hopefully at least two of @kemerava @bingenito @hughtroeger and/or @novavi will be able to sign that off soon so it can merge.

I pinged Derek about this today, fwiw.

@kriswest
Copy link
Contributor

kriswest commented Nov 8, 2024

But yes I agree - since this is the implementation of #1297 we can't close that until this is done.

At least it's helping me persuade myself to buy a bigger laptop (rendering the diff takes some doing) ;-)

It's also a huge contribution of work to the standard which will have a massive positive impact on it if you/we pull it off. Looking forward to helping get that done.

Copy link

github-actions bot commented Nov 8, 2024

416 passed

Copy link

github-actions bot commented Nov 8, 2024

418 passed, 2 failed

Test results:
  Send A Heartbeat: Heartbeats

expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array:  [{"meta": {"requestUuid": "37014bf5-08ec-472e-ac2c-265f66d0c21e"}, "payload": {"heartbeatEventUuid": "760ec27b-9c9f-492d-b5b3-36c2504cc680"}, "type": "heartbeatAcknowledgementRequest"}]
Error: expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array: [{"meta": {"requestUuid": "37014bf5-08ec-472e-ac2c-265f66d0c21e"}, "payload": {"heartbeatEventUuid": "760ec27b-9c9f-492d-b5b3-36c2504cc680"}, "type": "heartbeatAcknowledgementRequest"}]
at matchData (/home/runner/work/FDC3/FDC3/packages/testing/src/support/matching.ts:97:24)
at CustomWorld.<anonymous> (/home/runner/work/FDC3/FDC3/packages/fdc3-agent-proxy/test/step-definitions/channels.steps.ts:159:12)

  Send A Heartbeat: Heartbeats
expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array: [{"meta": {"requestUuid": "37014bf5-08ec-472e-ac2c-265f66d0c21e"}, "payload": {"heartbeatEventUuid": "760ec27b-9c9f-492d-b5b3-36c2504cc680"}, "type": "heartbeatAcknowledgementRequest"}]

Error: expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array: [{"meta": {"requestUuid": "37014bf5-08ec-472e-ac2c-265f66d0c21e"}, "payload": {"heartbeatEventUuid": "760ec27b-9c9f-492d-b5b3-36c2504cc680"}, "type": "heartbeatAcknowledgementRequest"}]
at matchData (/home/runner/work/FDC3/FDC3/packages/testing/src/support/matching.ts:97:24)
at CustomWorld.<anonymous> (/home/runner/work/FDC3/FDC3/packages/fdc3-agent-proxy/test/step-definitions/channels.steps.ts:159:12)

This test report was produced by the test-summary action.  Made with ❤️ in Cambridge.

Copy link

github-actions bot commented Nov 8, 2024

418 passed, 2 failed

Test results:
  Send A Heartbeat: Heartbeats

expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array:  [{"meta": {"requestUuid": "4a3d1723-14ab-448b-b669-d433116852d5"}, "payload": {"heartbeatEventUuid": "a9fa1eb5-b501-4a88-b390-398a9b00b1bb"}, "type": "heartbeatAcknowledgementRequest"}]
Error: expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array: [{"meta": {"requestUuid": "4a3d1723-14ab-448b-b669-d433116852d5"}, "payload": {"heartbeatEventUuid": "a9fa1eb5-b501-4a88-b390-398a9b00b1bb"}, "type": "heartbeatAcknowledgementRequest"}]
at matchData (/home/runner/work/FDC3/FDC3/packages/testing/src/support/matching.ts:97:24)
at CustomWorld.<anonymous> (/home/runner/work/FDC3/FDC3/packages/fdc3-agent-proxy/test/step-definitions/channels.steps.ts:159:12)

  Send A Heartbeat: Heartbeats
expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array: [{"meta": {"requestUuid": "4a3d1723-14ab-448b-b669-d433116852d5"}, "payload": {"heartbeatEventUuid": "a9fa1eb5-b501-4a88-b390-398a9b00b1bb"}, "type": "heartbeatAcknowledgementRequest"}]

Error: expect(received).toHaveLength(expected)

Expected length: 0
Received length: 1
Received array: [{"meta": {"requestUuid": "4a3d1723-14ab-448b-b669-d433116852d5"}, "payload": {"heartbeatEventUuid": "a9fa1eb5-b501-4a88-b390-398a9b00b1bb"}, "type": "heartbeatAcknowledgementRequest"}]
at matchData (/home/runner/work/FDC3/FDC3/packages/testing/src/support/matching.ts:97:24)
at CustomWorld.<anonymous> (/home/runner/work/FDC3/FDC3/packages/fdc3-agent-proxy/test/step-definitions/channels.steps.ts:159:12)

This test report was produced by the test-summary action.  Made with ❤️ in Cambridge.

Copy link

github-actions bot commented Nov 8, 2024

420 passed

2 similar comments
Copy link

github-actions bot commented Nov 8, 2024

420 passed

Copy link

github-actions bot commented Nov 8, 2024

420 passed

Copy link

494 passed

@robmoffat
Copy link
Member Author

@kriswest I think you're going to need to go through EasyCLA ⬆️

@kriswest
Copy link
Contributor

@robmoffat doh, I wonder why those commits are not tied to my github id :-( I'll work on this later on today 😭

@kriswest
Copy link
Contributor

/easycla

@kriswest
Copy link
Contributor

@robmoffat fixed the easycla problem - I had removed an old email from my github account. Commits stay associated with the github ID, but apparently EasyCLA's state is based on the email address!

Copy link

494 passed

Copy link

494 passed

At various times we've committed the generated source files with or without prettier reformatting them. Always apply prettier after generation to make them more stable.
Copy link

494 passed

@Roaders
Copy link
Contributor

Roaders commented Jan 17, 2025

Tested against our Desktop Agent using Workbench from PR #1485 (rebased onto branch fdc3-for-web-impl)

All workbench functionality successfully tested:

  • addContextListener
  • addIntentListener
  • broadcast
  • getCurrentChannel
  • getInfo
  • getOrCreateChannel
  • getUserChannels
  • joinUserChannel
  • leaveCurrentChannel
  • raiseIntent
  • raiseIntentForContext

raiseIntent / raiseIntentForContext tested without UI Iframes enabled in desktop agent. App Resolution was handled in container window.

Untested:

  • createPrivateChannel
  • findInstances
  • findIntent
  • findIntentsByContext
  • getAppMetadata
  • open

Copy link

494 passed

Copy link

494 passed

Copy link

494 passed

@robmoffat
Copy link
Member Author

robmoffat commented Jan 17, 2025

ok, I've tested UI hosted on the preview site. There's now a third option in the demo dropdown to allow you to choose which default UI you want to use:

Screenshot 2025-01-17 at 12 35 55

When we merge this PR, we need to change this one spot in util.ts:

  [UI.DEFAULT]: {
    /* REPLACE THESE  BEFORE RELEASE */
    intentResolverUrl: 'https://deploy-preview-1309--fdc3.netlify.app/toolbox/fdc3-reference-ui/intent_resolver.html',
    channelSelectorUrl: 'https://deploy-preview-1309--fdc3.netlify.app/toolbox/fdc3-reference-ui/channel_selector.html',
  },

these two URLs should be changed to the boolean value true.

julianna-ciq
julianna-ciq previously approved these changes Jan 21, 2025
Copy link

494 passed

Copy link

494 passed

@robmoffat
Copy link
Member Author

/netlify

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment