@virtualdisplay.io/client 3.4.0 → 3.4.1

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.
@@ -396,7 +396,6 @@ class IframeBuilder {
396
396
  height: "100%",
397
397
  border: "none"
398
398
  });
399
- iframe.setAttribute("allowfullscreen", "true");
400
399
  iframe.setAttribute("allow", "xr-spatial-tracking; fullscreen");
401
400
  iframe.addEventListener("load", () => {
402
401
  logger.info("Virtualdisplay iframe loaded");
@@ -7061,8 +7060,19 @@ class EventBus {
7061
7060
  this.listeners.set(event, handlers);
7062
7061
  }
7063
7062
  emit(event, payload) {
7064
- this.listeners.get(event)?.forEach((listener) => listener(payload));
7063
+ const handlers = this.listeners.get(event);
7064
+ if (handlers === void 0 || handlers.length === 0) {
7065
+ return;
7066
+ }
7067
+ const handlersCopy = [...handlers];
7068
+ handlersCopy.forEach((listener) => {
7069
+ listener(payload);
7070
+ });
7065
7071
  }
7072
+ /**
7073
+ * Register a listener that will be called only once
7074
+ * The listener is automatically removed after the first call
7075
+ */
7066
7076
  once(event, listener) {
7067
7077
  const onceWrapper = (payload) => {
7068
7078
  this.off(event, onceWrapper);
@@ -7070,6 +7080,9 @@ class EventBus {
7070
7080
  };
7071
7081
  this.on(event, onceWrapper);
7072
7082
  }
7083
+ /**
7084
+ * Remove a specific listener for an event
7085
+ */
7073
7086
  off(event, listener) {
7074
7087
  const handlers = this.listeners.get(event);
7075
7088
  if (handlers === void 0) {
@@ -7094,16 +7107,11 @@ class MessageHandler {
7094
7107
  }
7095
7108
  setIframe(iframe) {
7096
7109
  this.iframe = iframe;
7097
- logger.debug("Message handler configured with iframe", {
7098
- src: iframe.src,
7099
- loaded: iframe.contentWindow !== null
7100
- });
7101
7110
  }
7102
7111
  destroy() {
7103
7112
  window.removeEventListener("message", this.handleWindowMessage);
7104
7113
  this.queue.length = 0;
7105
7114
  this.isReady = false;
7106
- logger.debug("Message handler destroyed");
7107
7115
  }
7108
7116
  queueOrSend(message) {
7109
7117
  if (!this.isReady) {
@@ -7128,7 +7136,7 @@ class MessageHandler {
7128
7136
  payload: message
7129
7137
  });
7130
7138
  this.iframe.contentWindow.postMessage(message, targetOrigin);
7131
- logger.info("Message sent to server", message);
7139
+ logger.debug("Message sent to server", message);
7132
7140
  }
7133
7141
  canSend() {
7134
7142
  return this.iframe?.contentWindow !== null && this.iframe?.contentWindow !== void 0;
@@ -7156,7 +7164,6 @@ class MessageHandler {
7156
7164
  };
7157
7165
  setupIncomingMessages() {
7158
7166
  window.addEventListener("message", this.handleWindowMessage);
7159
- logger.debug("Message handler started listening");
7160
7167
  }
7161
7168
  setupOutgoingMessages() {
7162
7169
  const outgoingEvents = [
@@ -7374,7 +7381,6 @@ class VirtualdisplayViewerService {
7374
7381
  config.loadingIndicatorEnabled = false;
7375
7382
  }
7376
7383
  if (Object.keys(config).length > 0) {
7377
- logger.debug("Sending initial UI configuration", config);
7378
7384
  this.sendUIConfig(config);
7379
7385
  }
7380
7386
  }
@@ -7437,7 +7443,6 @@ class VirtualdisplayViewerService {
7437
7443
  type: MESSAGE_TYPES.CONFIG,
7438
7444
  config
7439
7445
  };
7440
- logger.debug("Emitting CONFIG message", message);
7441
7446
  this.eventBus.emit(EVENT_NAMES.CONFIG_MESSAGE, { message });
7442
7447
  }
7443
7448
  }