Skip to content

Releases: morganstanley/fdc3-web

v0.11.0

17 Feb 10:51
c9241a5

Choose a tag to compare

updated dependency versions to be version ranges

v0.11.0

13 Feb 09:17
cd6f75c

Choose a tag to compare

What's Changed

  • remove unsafe deps by @Roaders in #286
  • make appDirectoryRecord optional in ISelectApplicationStrategy calls by @Roaders in #288
  • implement app resolution that support fully qualified and unqualified app ids by @Roaders in #287

Full Changelog: v0.10.0...v0.11.0

v0.10.0

02 Feb 15:34
294ac33

Choose a tag to compare

Breaking

  • IOpenApplicationStrategy.open() and IOpenApplicationStrategy.canOpen() now take a single parameter argument rather than multiple parameters

was:

export type OpenApplicationStrategyParams = {
    appDirectoryRecord: Omit<AppDirectoryApplication, 'hostManifests'>;
    agent: DesktopAgent;
    manifest?: unknown;
};

canOpen(params: OpenApplicationStrategyParams, context?: Context): Promise<boolean>;

open(params: OpenApplicationStrategyParams, appReadyPromise: Promise<FullyQualifiedAppIdentifier>, context?: Context): Promise<string>;

now:

export type OpenApplicationStrategyParams = {
    appDirectoryRecord: Omit<AppDirectoryApplication, 'hostManifests'>;
    agent: DesktopAgent;
    /**
     * manifest from the app directory record identified by the strategy's manifestKey
     */
    manifest?: unknown;
    context?: Context;
};

export type OpenApplicationStrategyResolverParams = OpenApplicationStrategyParams & {
    appReadyPromise: Promise<FullyQualifiedAppIdentifier>;
};

canOpen(params: OpenApplicationStrategyParams): Promise<boolean>;


open(params: OpenApplicationStrategyResolverParams): Promise<string>;

Added

  • appReadyPromise property added to IOpenApplicationStrategy.open() function. This promise resolves when the application that is being opened is ready and has had an instanceId assigned
  • Singleton app support added. If an application is marked as a singleton it will not appear in the New Instance section of the app resolver if an instance already exists. This means that the user cannot open more than one instance of an app using the app resolver as a result of a raiseIntent or raiseIntentForContext call. Add an entry to hostManifests within your app directory record to enable this:
{
   "title": "My App",
   "appId": "my-app",
   "type": "web",
   "details": {
       "url": "http://localhost:4302/app-b.html"
   },
   "hostManifests": {
       "MorganStanley.fdc3-web": {
           "singleton": true
       }
   }
}
  • applicationStrategies parameter in RootDesktopAgentFactoryParams now accepts (IOpenApplicationStrategy | ISelectApplicationStrategy)[] instead of just IOpenApplicationStrategy[]
  • ISelectApplicationStrategy - new interface for selecting/focusing existing application instances. This allows strategies to restore minimised windows or bring windows to the front. Define strategies with canSelectApp() and selectApp() methods:
export interface ISelectApplicationStrategy {
   manifestKey?: string;
   canSelectApp(params: SelectApplicationStrategyParams): Promise<boolean>;
   selectApp(params: SelectApplicationStrategyParams): Promise<void>;
}

Changed

  • IAppResolver implementations no longer have to return an FullyQualifiedAppIdentifier. Instead they can just return an AppIdentifier. If a non-qualified identifier is returned the Desktop Agent will handle the responsibility of opening a new instance of that app.

v0.9.1

24 Nov 16:10
e40820f

Choose a tag to compare

What's Changed

  • chore(deps): bump glob by @dependabot[bot] in #249
  • chore(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in #248
  • ensure that if we are re-adding the same app directory we do not lose the registered instances by @Roaders in #250

Full Changelog: v0.9.0...v0.9.1

v0.9.0

13 Nov 11:47
4db9a26

Choose a tag to compare

Merge pull request #247 from Roaders/main

update LocalAppDirectory to now require full AppDirectoryApplication objects

v0.8.1

29 Oct 16:03
f142490

Choose a tag to compare

support adding multiple apps to directory with AsyncIterator

v0.8.0

29 Oct 11:57
a37964e

Choose a tag to compare

Support app directory updates after creation of Desktop Agent

v0.7.0

22 Oct 09:30
14e370f

Choose a tag to compare

Support finer grained url validation for opened apps
Changed local repo definition so that host for app directory is specified separately.

v0.6.0

08 Oct 12:23
324f851

Choose a tag to compare

Support passing context object to IAppOpenStrategy

v0.5.0

06 Oct 09:36
a38b746

Choose a tag to compare

What's Changed

  • Support locally defined app directories passed into root agent by @Roaders in #229

Full Changelog: v0.4.0...v0.5.0