@noya-app/noya-multiplayer-react 0.1.50 → 0.1.51

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.
package/dist/index.d.mts CHANGED
@@ -56,7 +56,7 @@ declare function useMultiplayerState<S, M extends object = object, E extends obj
56
56
  assetManager: _noya_app_state_manager.AssetManager;
57
57
  aiManager: _noya_app_state_manager.AIManager;
58
58
  rpcManager: _noya_app_state_manager.RPCManager;
59
- workflowManager: _noya_app_state_manager.WorkflowManager;
59
+ pipelineManager: _noya_app_state_manager.PipelineManager;
60
60
  secretManager: _noya_app_state_manager.SecretManager;
61
61
  menuItemsManager: _noya_app_state_manager.MenuManager<MenuT>;
62
62
  createAsset: (options: _noya_app_state_manager.CreateAssetOptions | Uint8Array | File | Blob) => Promise<_noya_app_state_manager.Asset>;
@@ -251,7 +251,7 @@ declare function useOutputTransforms(): ({
251
251
  })[];
252
252
  declare function useIOManager(): _noya_app_state_manager.IOManager;
253
253
  declare function useIsInitialized(): boolean;
254
- declare function useWorkflowManager(): _noya_app_state_manager.WorkflowManager;
254
+ declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
255
255
  declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
256
256
  declare function useConnectedUsersManager(): ConnectedUsersManager | undefined;
257
257
  declare const AnyEphemeralUserDataManagerContext: React.Context<EphemeralUserDataManager<object> | undefined>;
@@ -327,9 +327,7 @@ declare class WebSocketConnection<State> {
327
327
  private url;
328
328
  private options;
329
329
  private ws;
330
- private pingCount;
331
- private pendingPingId?;
332
- private intervalId?;
330
+ private closedForever;
333
331
  constructor(url: URL, options?: ConnectionOptions<State>);
334
332
  connect(): Promise<void>;
335
333
  private handleOpen;
@@ -341,4 +339,4 @@ declare class WebSocketConnection<State> {
341
339
  removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
342
340
  }
343
341
 
344
- export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType, useWorkflowManager };
342
+ export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType };
package/dist/index.d.ts CHANGED
@@ -56,7 +56,7 @@ declare function useMultiplayerState<S, M extends object = object, E extends obj
56
56
  assetManager: _noya_app_state_manager.AssetManager;
57
57
  aiManager: _noya_app_state_manager.AIManager;
58
58
  rpcManager: _noya_app_state_manager.RPCManager;
59
- workflowManager: _noya_app_state_manager.WorkflowManager;
59
+ pipelineManager: _noya_app_state_manager.PipelineManager;
60
60
  secretManager: _noya_app_state_manager.SecretManager;
61
61
  menuItemsManager: _noya_app_state_manager.MenuManager<MenuT>;
62
62
  createAsset: (options: _noya_app_state_manager.CreateAssetOptions | Uint8Array | File | Blob) => Promise<_noya_app_state_manager.Asset>;
@@ -251,7 +251,7 @@ declare function useOutputTransforms(): ({
251
251
  })[];
252
252
  declare function useIOManager(): _noya_app_state_manager.IOManager;
253
253
  declare function useIsInitialized(): boolean;
254
- declare function useWorkflowManager(): _noya_app_state_manager.WorkflowManager;
254
+ declare function usePipelineManager(): _noya_app_state_manager.PipelineManager;
255
255
  declare const ConnectedUsersContext: React.Context<ConnectedUsersManager | undefined>;
256
256
  declare function useConnectedUsersManager(): ConnectedUsersManager | undefined;
257
257
  declare const AnyEphemeralUserDataManagerContext: React.Context<EphemeralUserDataManager<object> | undefined>;
@@ -327,9 +327,7 @@ declare class WebSocketConnection<State> {
327
327
  private url;
328
328
  private options;
329
329
  private ws;
330
- private pingCount;
331
- private pendingPingId?;
332
- private intervalId?;
330
+ private closedForever;
333
331
  constructor(url: URL, options?: ConnectionOptions<State>);
334
332
  connect(): Promise<void>;
335
333
  private handleOpen;
@@ -341,4 +339,4 @@ declare class WebSocketConnection<State> {
341
339
  removeListener(listener: (state: ReconnectingWebSocketState) => void): void;
342
340
  }
343
341
 
344
- export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType, useWorkflowManager };
342
+ export { AnyEphemeralUserDataManagerContext, type AppData, type AppTheme, type AppViewType, ConnectedUsersContext, type ConnectionEvent, type ConnectionOptions, FallbackUntilInitialized, type GetAppDataOptions, type RenderUserPointer, type RenderUserPointerProps, StateInspector, type StateInspectorAnchor, type StateInspectorOptions, type UseMultiplayerStateOptions, type UseNoyaStateOptions, type UseNoyaStateResult, type UserPointerData, UserPointersOverlay, type UserPointersOverlayProps, WebSocketConnection, createDefaultAppData, createNoyaContext, enforceSchema, getAppData, parseAppDataParameter, useAIManager, useAnyEphemeralUserData, useAnyNoyaManager, useAnyNoyaStateContext, useAsset, useAssetManager, useAssets, useColorScheme, useConnectedUsersManager, useCurrentUserId, useIOManager, useInputs, useIsInitialized, useManagedHistory, useManagedState, useMultiplayerState, useNoyaState, useObservable, useOutputTransforms, usePipelineManager, useSecret, useSecretManager, useSecrets, useSyncStateManager, useViewType };
package/dist/index.js CHANGED
@@ -944,12 +944,12 @@ __export(src_exports, {
944
944
  useNoyaState: () => useNoyaState,
945
945
  useObservable: () => useObservable,
946
946
  useOutputTransforms: () => useOutputTransforms,
947
+ usePipelineManager: () => usePipelineManager,
947
948
  useSecret: () => useSecret,
948
949
  useSecretManager: () => useSecretManager,
949
950
  useSecrets: () => useSecrets,
950
951
  useSyncStateManager: () => useSyncStateManager,
951
- useViewType: () => useViewType,
952
- useWorkflowManager: () => useWorkflowManager
952
+ useViewType: () => useViewType
953
953
  });
954
954
  module.exports = __toCommonJS(src_exports);
955
955
  __reExport(src_exports, require("@noya-app/state-manager"), module.exports);
@@ -2230,7 +2230,7 @@ function useMultiplayerState(initialState, options) {
2230
2230
  assetManager: noyaManager.assetManager,
2231
2231
  aiManager: noyaManager.aiManager,
2232
2232
  rpcManager: noyaManager.rpcManager,
2233
- workflowManager: noyaManager.workflowManager,
2233
+ pipelineManager: noyaManager.pipelineManager,
2234
2234
  secretManager: noyaManager.secretManager,
2235
2235
  menuItemsManager: noyaManager.menuManager,
2236
2236
  createAsset: noyaManager.assetManager.create,
@@ -5170,9 +5170,9 @@ function useIsInitialized() {
5170
5170
  );
5171
5171
  return useObservable(isInitializedObservable);
5172
5172
  }
5173
- function useWorkflowManager() {
5173
+ function usePipelineManager() {
5174
5174
  const { noyaManager } = useAnyNoyaStateContext();
5175
- return noyaManager.workflowManager;
5175
+ return noyaManager.pipelineManager;
5176
5176
  }
5177
5177
  var ConnectedUsersContext = (0, import_react8.createContext)(void 0);
5178
5178
  function useConnectedUsersManager() {
@@ -5365,32 +5365,13 @@ var WebSocketConnection = class {
5365
5365
  });
5366
5366
  }
5367
5367
  ws;
5368
- pingCount = 0;
5369
- pendingPingId;
5370
- intervalId;
5368
+ closedForever = false;
5371
5369
  async connect() {
5370
+ if (this.closedForever) return;
5372
5371
  this.ws.connect(this.url.toString());
5373
- this.intervalId = setInterval(() => {
5374
- if (this.ws.state !== "OPEN") return;
5375
- if (this.pendingPingId) {
5376
- this.ws.close();
5377
- return;
5378
- }
5379
- const pingId = (this.pingCount++).toString();
5380
- const message = {
5381
- type: "ping",
5382
- id: pingId
5383
- };
5384
- this.pendingPingId = message.id;
5385
- this.options.onConnectionEvent?.({
5386
- type: "send",
5387
- message
5388
- });
5389
- this.ws.send(JSON.stringify(message));
5390
- }, 1e4);
5391
5372
  }
5392
5373
  handleOpen = () => {
5393
- this.pendingPingId = void 0;
5374
+ if (this.closedForever) return;
5394
5375
  if (this.options.debug) {
5395
5376
  console.info("ws connected");
5396
5377
  }
@@ -5400,6 +5381,7 @@ var WebSocketConnection = class {
5400
5381
  });
5401
5382
  };
5402
5383
  handleMessage = (event) => {
5384
+ if (this.closedForever) return;
5403
5385
  if (this.options.debug) {
5404
5386
  console.info("ws receiving message ", event.data);
5405
5387
  }
@@ -5408,12 +5390,9 @@ var WebSocketConnection = class {
5408
5390
  type: "receive",
5409
5391
  message: parsed
5410
5392
  });
5411
- if (parsed.type === "pong" && parsed.id === this.pendingPingId) {
5412
- this.pendingPingId = void 0;
5413
- }
5414
5393
  };
5415
5394
  handleClose = () => {
5416
- this.pendingPingId = void 0;
5395
+ if (this.closedForever) return;
5417
5396
  if (this.options.debug) {
5418
5397
  console.info("ws disconnected");
5419
5398
  }
@@ -5423,6 +5402,7 @@ var WebSocketConnection = class {
5423
5402
  });
5424
5403
  };
5425
5404
  send(message) {
5405
+ if (this.closedForever) return;
5426
5406
  if (this.options.debug) {
5427
5407
  console.info("ws sending message", message);
5428
5408
  }
@@ -5433,10 +5413,12 @@ var WebSocketConnection = class {
5433
5413
  this.ws.send(JSON.stringify(message));
5434
5414
  }
5435
5415
  close() {
5436
- if (this.intervalId) {
5437
- clearInterval(this.intervalId);
5438
- }
5416
+ if (this.closedForever) return;
5417
+ this.closedForever = true;
5439
5418
  this.ws.shutdown();
5419
+ this.ws.listeners.forEach((listener) => {
5420
+ this.ws.removeListener(listener);
5421
+ });
5440
5422
  }
5441
5423
  addListener(listener) {
5442
5424
  return this.ws.addListener(listener);
@@ -5477,12 +5459,12 @@ var WebSocketConnection = class {
5477
5459
  useNoyaState,
5478
5460
  useObservable,
5479
5461
  useOutputTransforms,
5462
+ usePipelineManager,
5480
5463
  useSecret,
5481
5464
  useSecretManager,
5482
5465
  useSecrets,
5483
5466
  useSyncStateManager,
5484
5467
  useViewType,
5485
- useWorkflowManager,
5486
5468
  ...require("@noya-app/state-manager")
5487
5469
  });
5488
5470
  //# sourceMappingURL=index.js.map