@haex-space/vault-sdk 3.2.0 → 3.2.2

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/svelte.mjs CHANGED
@@ -1840,6 +1840,10 @@ function parseTableName(fullTableName) {
1840
1840
 
1841
1841
  // src/client/init.ts
1842
1842
  var PORT_HANDSHAKE_TIMEOUT_MS = 1e4;
1843
+ function getCurrentWebviewLabel() {
1844
+ const internals = window.__TAURI_INTERNALS__;
1845
+ return internals?.metadata?.currentWebview?.label;
1846
+ }
1843
1847
  function isInIframe() {
1844
1848
  return window.self !== window.top;
1845
1849
  }
@@ -1868,6 +1872,13 @@ async function initNativeMode(ctx, log, onEvent, onContextChange) {
1868
1872
  }
1869
1873
  async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1870
1874
  const { listen } = getTauriEvent();
1875
+ const webviewLabel = getCurrentWebviewLabel();
1876
+ const listenOptions = webviewLabel ? { target: webviewLabel } : void 0;
1877
+ if (!webviewLabel) {
1878
+ log(
1879
+ "WARNING: could not read __TAURI_INTERNALS__.metadata.currentWebview.label \u2014 registering listeners without a target. Label-scoped emits from the host will not be delivered until the metadata is available."
1880
+ );
1881
+ }
1871
1882
  log("Setting up Tauri event listener for:", HAEXTENSION_EVENTS.CONTEXT_CHANGED);
1872
1883
  try {
1873
1884
  await listen(HAEXTENSION_EVENTS.CONTEXT_CHANGED, (event) => {
@@ -1885,7 +1896,7 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1885
1896
  } else {
1886
1897
  log("Event received but no context in payload:", event);
1887
1898
  }
1888
- });
1899
+ }, listenOptions);
1889
1900
  log("Context change listener registered successfully");
1890
1901
  } catch (error) {
1891
1902
  log("Failed to setup context change listener:", error);
@@ -1903,7 +1914,7 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1903
1914
  } else {
1904
1915
  log("External request event has no payload!");
1905
1916
  }
1906
- });
1917
+ }, listenOptions);
1907
1918
  log("External request listener registered successfully");
1908
1919
  } catch (error) {
1909
1920
  log("Failed to setup external request listener:", error);
@@ -1921,7 +1932,7 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1921
1932
  } else {
1922
1933
  log("AI action request event has no payload!");
1923
1934
  }
1924
- });
1935
+ }, listenOptions);
1925
1936
  log("AI action request listener registered successfully");
1926
1937
  } catch (error) {
1927
1938
  log("Failed to setup AI action request listener:", error);
@@ -1940,7 +1951,7 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1940
1951
  timestamp: Date.now()
1941
1952
  });
1942
1953
  }
1943
- });
1954
+ }, listenOptions);
1944
1955
  log("File change listener registered successfully");
1945
1956
  } catch (error) {
1946
1957
  log("Failed to setup file change listener:", error);
@@ -1957,14 +1968,14 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1957
1968
  timestamp: Date.now()
1958
1969
  });
1959
1970
  }
1960
- });
1971
+ }, listenOptions);
1961
1972
  log("Sync tables updated listener registered successfully");
1962
1973
  } catch (error) {
1963
1974
  log("Failed to setup sync tables updated listener:", error);
1964
1975
  }
1965
1976
  log("Setting up LocalSend event listeners");
1966
1977
  try {
1967
- await setupLocalSendEventListeners(log, onEvent);
1978
+ await setupLocalSendEventListeners(log, onEvent, listenOptions);
1968
1979
  log("LocalSend event listeners setup complete");
1969
1980
  } catch (error) {
1970
1981
  log("Failed to setup LocalSend event listeners:", error);
@@ -1981,7 +1992,7 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1981
1992
  data: payload.data
1982
1993
  });
1983
1994
  }
1984
- });
1995
+ }, listenOptions);
1985
1996
  log("Shell output listener registered");
1986
1997
  await listen(SHELL_EVENTS.EXIT, (event) => {
1987
1998
  if (event.payload) {
@@ -1993,13 +2004,13 @@ async function setupTauriEventListeners(ctx, log, onEvent, onContextChange) {
1993
2004
  exitCode: payload.exitCode
1994
2005
  });
1995
2006
  }
1996
- });
2007
+ }, listenOptions);
1997
2008
  log("Shell exit listener registered");
1998
2009
  } catch (error) {
1999
2010
  log("Failed to setup Shell event listeners:", error);
2000
2011
  }
2001
2012
  }
2002
- async function setupLocalSendEventListeners(log, onEvent) {
2013
+ async function setupLocalSendEventListeners(log, onEvent, listenOptions) {
2003
2014
  const { listen } = getTauriEvent();
2004
2015
  try {
2005
2016
  await listen(LOCALSEND_EVENTS.deviceDiscovered, (event) => {
@@ -2011,7 +2022,7 @@ async function setupLocalSendEventListeners(log, onEvent) {
2011
2022
  timestamp: Date.now()
2012
2023
  });
2013
2024
  }
2014
- });
2025
+ }, listenOptions);
2015
2026
  log("LocalSend device discovered listener registered");
2016
2027
  } catch (error) {
2017
2028
  log("Failed to setup LocalSend device discovered listener:", error);
@@ -2026,7 +2037,7 @@ async function setupLocalSendEventListeners(log, onEvent) {
2026
2037
  timestamp: Date.now()
2027
2038
  });
2028
2039
  }
2029
- });
2040
+ }, listenOptions);
2030
2041
  log("LocalSend device lost listener registered");
2031
2042
  } catch (error) {
2032
2043
  log("Failed to setup LocalSend device lost listener:", error);
@@ -2041,7 +2052,7 @@ async function setupLocalSendEventListeners(log, onEvent) {
2041
2052
  timestamp: Date.now()
2042
2053
  });
2043
2054
  }
2044
- });
2055
+ }, listenOptions);
2045
2056
  log("LocalSend transfer request listener registered");
2046
2057
  } catch (error) {
2047
2058
  log("Failed to setup LocalSend transfer request listener:", error);
@@ -2056,7 +2067,7 @@ async function setupLocalSendEventListeners(log, onEvent) {
2056
2067
  timestamp: Date.now()
2057
2068
  });
2058
2069
  }
2059
- });
2070
+ }, listenOptions);
2060
2071
  log("LocalSend transfer progress listener registered");
2061
2072
  } catch (error) {
2062
2073
  log("Failed to setup LocalSend transfer progress listener:", error);
@@ -2071,7 +2082,7 @@ async function setupLocalSendEventListeners(log, onEvent) {
2071
2082
  timestamp: Date.now()
2072
2083
  });
2073
2084
  }
2074
- });
2085
+ }, listenOptions);
2075
2086
  log("LocalSend transfer complete listener registered");
2076
2087
  } catch (error) {
2077
2088
  log("Failed to setup LocalSend transfer complete listener:", error);
@@ -2086,13 +2097,13 @@ async function setupLocalSendEventListeners(log, onEvent) {
2086
2097
  timestamp: Date.now()
2087
2098
  });
2088
2099
  }
2089
- });
2100
+ }, listenOptions);
2090
2101
  log("LocalSend transfer failed listener registered");
2091
2102
  } catch (error) {
2092
2103
  log("Failed to setup LocalSend transfer failed listener:", error);
2093
2104
  }
2094
2105
  }
2095
- async function initIframeMode(ctx, log, messageHandler, request) {
2106
+ async function initIframeMode(ctx, log, messageHandler) {
2096
2107
  if (!isInIframe()) {
2097
2108
  throw new HaexVaultSdkError("NOT_IN_IFRAME" /* NOT_IN_IFRAME */, "errors.not_in_iframe");
2098
2109
  }
@@ -2114,10 +2125,7 @@ async function initIframeMode(ctx, log, messageHandler, request) {
2114
2125
  log("Extension info loaded from manifest:", ctx.state.extensionInfo);
2115
2126
  }
2116
2127
  sendDebugInfo(ctx.config);
2117
- const context2 = await request(EXTENSION_COMMANDS.getContext);
2118
- ctx.state.context = context2;
2119
- log("Application context received:", context2);
2120
- return { context: context2, port };
2128
+ return port;
2121
2129
  }
2122
2130
  function waitForHostPortAsync(log) {
2123
2131
  return new Promise((resolve, reject) => {
@@ -2720,7 +2728,7 @@ var HaexVaultSdk = class {
2720
2728
  () => this._extensionInfo,
2721
2729
  this.handleEvent.bind(this)
2722
2730
  );
2723
- const { context: context2, port } = await initIframeMode(
2731
+ const port = await initIframeMode(
2724
2732
  {
2725
2733
  config: this.config,
2726
2734
  state: {
@@ -2749,8 +2757,7 @@ var HaexVaultSdk = class {
2749
2757
  }
2750
2758
  },
2751
2759
  this.log.bind(this),
2752
- this.messageHandler,
2753
- this.request.bind(this)
2760
+ this.messageHandler
2754
2761
  );
2755
2762
  this.hostPort = port;
2756
2763
  if (this.config.manifest) {
@@ -2762,6 +2769,8 @@ var HaexVaultSdk = class {
2762
2769
  };
2763
2770
  this.notifySubscribersInternal();
2764
2771
  }
2772
+ const context2 = await this.request(EXTENSION_COMMANDS.getContext);
2773
+ this.log("Application context received:", context2);
2765
2774
  this._context = context2;
2766
2775
  this.isNativeWindow = false;
2767
2776
  this.initialized = true;