From ca65280f75e2fa5dc298f384c978b43bdc005d91 Mon Sep 17 00:00:00 2001 From: Nathan Vander Wilt Date: Fri, 27 Jan 2023 10:52:51 -0800 Subject: [PATCH] fix: inconsistent w3ui custom URL handling this is one way of resolving issue #344, where a custom server URL is used only for the individual HTTP requests and not for the corresponding WebSocket connection --- packages/access-client/src/agent.js | 2 +- packages/access-client/src/types.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/access-client/src/agent.js b/packages/access-client/src/agent.js index e6e939ca9..57ef5b3fa 100644 --- a/packages/access-client/src/agent.js +++ b/packages/access-client/src/agent.js @@ -79,7 +79,7 @@ export class Agent { * @param {import('./types').AgentOptions} [options] */ constructor(data, options = {}) { - this.url = options.url ?? new URL(HOST) + this.url = options.connection?.url ?? options.url ?? new URL(HOST) this.connection = options.connection ?? connection({ diff --git a/packages/access-client/src/types.ts b/packages/access-client/src/types.ts index 3b39b360b..f71804c83 100644 --- a/packages/access-client/src/types.ts +++ b/packages/access-client/src/types.ts @@ -165,9 +165,14 @@ export interface SpaceMeta { * Agent class types */ +// w3ui's keyring providers pass custom URL via this object +interface _AgentConnection extends ConnectionView { + url?: URL +} + export interface AgentOptions { url?: URL - connection?: ConnectionView + connection?: _AgentConnection servicePrincipal?: Principal }