@dxos/client-services 0.4.7-main.e015b9e → 0.4.7-main.e5c4f14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/lib/browser/{chunk-M3HBHYHU.mjs → chunk-LI6HSB3L.mjs} +206 -139
  2. package/dist/lib/browser/chunk-LI6HSB3L.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +2 -2
  4. package/dist/lib/browser/index.mjs.map +1 -1
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/packlets/testing/index.mjs +1 -1
  7. package/dist/lib/node/{chunk-UPGNRF2T.cjs → chunk-EQSVNVMB.cjs} +197 -130
  8. package/dist/lib/node/chunk-EQSVNVMB.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +38 -38
  10. package/dist/lib/node/index.cjs.map +1 -1
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/packlets/testing/index.cjs +8 -8
  13. package/dist/types/src/packlets/devices/devices-service.d.ts +1 -1
  14. package/dist/types/src/packlets/devices/devices-service.d.ts.map +1 -1
  15. package/dist/types/src/packlets/identity/identity-manager.d.ts +8 -2
  16. package/dist/types/src/packlets/identity/identity-manager.d.ts.map +1 -1
  17. package/dist/types/src/packlets/identity/identity.d.ts +5 -1
  18. package/dist/types/src/packlets/identity/identity.d.ts.map +1 -1
  19. package/dist/types/src/packlets/services/service-context.d.ts +5 -3
  20. package/dist/types/src/packlets/services/service-context.d.ts.map +1 -1
  21. package/dist/types/src/packlets/services/service-host.d.ts +4 -2
  22. package/dist/types/src/packlets/services/service-host.d.ts.map +1 -1
  23. package/dist/types/src/packlets/spaces/data-space-manager.d.ts +7 -1
  24. package/dist/types/src/packlets/spaces/data-space-manager.d.ts.map +1 -1
  25. package/dist/types/src/packlets/spaces/spaces-service.d.ts.map +1 -1
  26. package/dist/types/src/version.d.ts +1 -1
  27. package/package.json +35 -35
  28. package/src/packlets/devices/devices-service.test.ts +8 -4
  29. package/src/packlets/devices/devices-service.ts +47 -11
  30. package/src/packlets/identity/identity-manager.ts +48 -6
  31. package/src/packlets/identity/identity.ts +9 -1
  32. package/src/packlets/services/service-context.ts +17 -3
  33. package/src/packlets/services/service-host.ts +8 -3
  34. package/src/packlets/spaces/data-space-manager.ts +18 -3
  35. package/src/packlets/spaces/spaces-service.ts +1 -3
  36. package/src/packlets/vault/shared-worker-connection.ts +1 -1
  37. package/src/version.ts +1 -1
  38. package/dist/lib/browser/chunk-M3HBHYHU.mjs.map +0 -7
  39. package/dist/lib/node/chunk-UPGNRF2T.cjs.map +0 -7
@@ -8,7 +8,7 @@ import { type Config } from '@dxos/config';
8
8
  import { Context } from '@dxos/context';
9
9
  import { DocumentModel } from '@dxos/document-model';
10
10
  import { DataServiceImpl } from '@dxos/echo-pipeline';
11
- import { type TypedObject, base, getRawDoc, type SpaceDoc } from '@dxos/echo-schema';
11
+ import { type TypedObject, getRawDoc, type SpaceDoc, getAutomergeObjectCore } from '@dxos/echo-schema';
12
12
  import { invariant } from '@dxos/invariant';
13
13
  import { PublicKey } from '@dxos/keys';
14
14
  import { log } from '@dxos/log';
@@ -24,7 +24,7 @@ import { assignDeep } from '@dxos/util';
24
24
  import { WebsocketRpcClient } from '@dxos/websocket-rpc';
25
25
 
26
26
  import { createDiagnostics } from './diagnostics';
27
- import { ServiceContext } from './service-context';
27
+ import { ServiceContext, type ServiceContextRuntimeParams } from './service-context';
28
28
  import { ServiceRegistry } from './service-registry';
29
29
  import { DevicesServiceImpl } from '../devices';
30
30
  import { DevtoolsServiceImpl, DevtoolsHostEvents } from '../devtools';
@@ -54,6 +54,7 @@ export type ClientServicesHostParams = {
54
54
  storage?: Storage;
55
55
  lockKey?: string;
56
56
  callbacks?: ClientServicesHostCallbacks;
57
+ runtimeParams?: ServiceContextRuntimeParams;
57
58
  };
58
59
 
59
60
  export type ClientServicesHostCallbacks = {
@@ -88,6 +89,7 @@ export class ClientServicesHost {
88
89
  private _devtoolsProxy?: WebsocketRpcClient<{}, ClientServices>;
89
90
 
90
91
  private _serviceContext!: ServiceContext;
92
+ private readonly _runtimeParams?: ServiceContextRuntimeParams;
91
93
 
92
94
  @Trace.info()
93
95
  private _opening = false;
@@ -104,10 +106,12 @@ export class ClientServicesHost {
104
106
  // TODO(wittjosiah): Turn this on by default.
105
107
  lockKey,
106
108
  callbacks,
109
+ runtimeParams,
107
110
  }: ClientServicesHostParams = {}) {
108
111
  this._storage = storage;
109
112
  this._modelFactory = modelFactory;
110
113
  this._callbacks = callbacks;
114
+ this._runtimeParams = runtimeParams;
111
115
 
112
116
  if (config) {
113
117
  this.initialize({ config, transportFactory, signalManager });
@@ -239,6 +243,7 @@ export class ClientServicesHost {
239
243
  this._networkManager,
240
244
  this._signalManager,
241
245
  this._modelFactory,
246
+ this._runtimeParams,
242
247
  );
243
248
 
244
249
  this._serviceRegistry.setServices({
@@ -352,7 +357,7 @@ export class ClientServicesHost {
352
357
  await document.whenReady();
353
358
 
354
359
  document.change((doc: SpaceDoc) => {
355
- assignDeep(doc, ['objects', obj[base]._id], getRawDoc(obj).handle.docSync());
360
+ assignDeep(doc, ['objects', getAutomergeObjectCore(obj).id], getRawDoc(obj).handle.docSync());
356
361
  });
357
362
 
358
363
  return identity;
@@ -59,6 +59,11 @@ export type AcceptSpaceOptions = {
59
59
  dataTimeframe?: Timeframe;
60
60
  };
61
61
 
62
+ export type DataSpaceManagerRuntimeParams = {
63
+ spaceMemberPresenceAnnounceInterval?: number;
64
+ spaceMemberPresenceOfflineTimeout?: number;
65
+ };
66
+
62
67
  @trackLeaks('open', 'close')
63
68
  export class DataSpaceManager {
64
69
  private readonly _ctx = new Context();
@@ -69,6 +74,8 @@ export class DataSpaceManager {
69
74
 
70
75
  private _isOpen = false;
71
76
  private readonly _instanceId = PublicKey.random().toHex();
77
+ private readonly _spaceMemberPresenceAnnounceInterval: number;
78
+ private readonly _spaceMemberPresenceOfflineTimeout: number;
72
79
 
73
80
  constructor(
74
81
  private readonly _spaceManager: SpaceManager,
@@ -78,7 +85,15 @@ export class DataSpaceManager {
78
85
  private readonly _signingContext: SigningContext,
79
86
  private readonly _feedStore: FeedStore<FeedMessage>,
80
87
  private readonly _automergeHost: AutomergeHost,
81
- ) {}
88
+ params?: DataSpaceManagerRuntimeParams,
89
+ ) {
90
+ const {
91
+ spaceMemberPresenceAnnounceInterval = PRESENCE_ANNOUNCE_INTERVAL,
92
+ spaceMemberPresenceOfflineTimeout = PRESENCE_OFFLINE_TIMEOUT,
93
+ } = params ?? {};
94
+ this._spaceMemberPresenceAnnounceInterval = spaceMemberPresenceAnnounceInterval;
95
+ this._spaceMemberPresenceOfflineTimeout = spaceMemberPresenceOfflineTimeout;
96
+ }
82
97
 
83
98
  // TODO(burdon): Remove.
84
99
  get spaces() {
@@ -204,8 +219,8 @@ export class DataSpaceManager {
204
219
  localPeerId: this._signingContext.deviceKey,
205
220
  });
206
221
  const presence = new Presence({
207
- announceInterval: PRESENCE_ANNOUNCE_INTERVAL,
208
- offlineTimeout: PRESENCE_OFFLINE_TIMEOUT, // TODO(burdon): Config.
222
+ announceInterval: this._spaceMemberPresenceAnnounceInterval,
223
+ offlineTimeout: this._spaceMemberPresenceOfflineTimeout,
209
224
  identityKey: this._signingContext.identityKey,
210
225
  gossip,
211
226
  });
@@ -215,9 +215,7 @@ export class SpacesServiceImpl implements SpacesService {
215
215
  return {
216
216
  identity: {
217
217
  identityKey: member.key,
218
- profile: {
219
- displayName: member.profile?.displayName,
220
- },
218
+ profile: member.profile ?? {},
221
219
  },
222
220
  presence: member.removed
223
221
  ? SpaceMember.PresenceState.REMOVED
@@ -76,7 +76,7 @@ export class SharedWorkerConnection {
76
76
  BridgeService: this._transportService,
77
77
  },
78
78
  port: this._systemPort,
79
- timeout: 200,
79
+ timeout: 30_000,
80
80
  });
81
81
 
82
82
  let lockKey: string | undefined;
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const DXOS_VERSION = "0.4.7-main.e015b9e";
1
+ export const DXOS_VERSION = "0.4.7-main.e5c4f14";