@le-space/ui 0.6.25 → 0.6.27

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@le-space/ui",
3
- "version": "0.6.25",
3
+ "version": "0.6.27",
4
4
  "description": "Floating Aleph Relay Button UI components for Svelte and React.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -44,8 +44,8 @@
44
44
  "url": "https://github.com/NiKrause/relay-button/issues"
45
45
  },
46
46
  "dependencies": {
47
- "@le-space/browser": "0.6.25",
48
- "@le-space/core": "0.6.25",
47
+ "@le-space/browser": "0.6.27",
48
+ "@le-space/core": "0.6.27",
49
49
  "viem": "^2.53.1"
50
50
  },
51
51
  "peerDependencies": {
package/react/index.js CHANGED
@@ -43,7 +43,7 @@ var RECENT_INSTANCE_RUNTIME_GRACE_MS = 10 * 60 * 1e3;
43
43
  var DEPLOYMENT_PENDING_WARNING_MS = 3 * 60 * 1e3;
44
44
 
45
45
  // src/shared/package-version.ts
46
- var UI_PACKAGE_VERSION = "0.6.25";
46
+ var UI_PACKAGE_VERSION = "0.6.27";
47
47
 
48
48
  // src/shared/format.ts
49
49
  function shortHash(value, head = 8, tail = 6) {
@@ -136,11 +136,10 @@ async function fetchWithTimeout(input, init = {}, timeoutMs = 15e3) {
136
136
 
137
137
  // ../browser/src/aleph-api.ts
138
138
  var DEFAULT_ALEPH_API_HOSTS = [
139
- "https://api3.aleph.im",
140
139
  "https://api2.aleph.im",
141
140
  "https://api.aleph.im"
142
141
  ];
143
- var DEFAULT_ALEPH_API_HOST = DEFAULT_ALEPH_API_HOSTS[0] ?? "https://api3.aleph.im";
142
+ var DEFAULT_ALEPH_API_HOST = DEFAULT_ALEPH_API_HOSTS[0] ?? "https://api2.aleph.im";
144
143
  var DEFAULT_CRN_LIST_URL = "https://crns-list.aleph.sh/crns.json";
145
144
  var DEFAULT_ALEPH_SCHEDULER_API_HOST = "https://scheduler.api.aleph.cloud";
146
145
  var DEFAULT_2N6_API_HOST = "https://api.2n6.me";
@@ -826,7 +825,12 @@ function watchWallet(onChange, provider = getEthereumProvider()) {
826
825
  // ../browser/src/client.ts
827
826
  function normalizeApiHost(value) {
828
827
  const trimmed = value.trim().replace(/\/+$/u, "");
829
- return trimmed ? trimmed : null;
828
+ if (!trimmed) return null;
829
+ try {
830
+ if (new URL(trimmed).hostname.toLowerCase() === "api3.aleph.im") return null;
831
+ } catch {
832
+ }
833
+ return trimmed;
830
834
  }
831
835
  function normalizeApiHosts(input, fallbackApiHost) {
832
836
  const rawValues = Array.isArray(input) ? input : typeof input === "string" ? input.split(/[\s,]+/u) : [];
@@ -2533,7 +2537,8 @@ function browserMultiaddrTransport(addr) {
2533
2537
  const normalized = addr.toLowerCase();
2534
2538
  if (normalized.includes("/webtransport/")) return "webtransport";
2535
2539
  if (normalized.includes("/webrtc-direct/")) return "webrtc";
2536
- if (normalized.includes("/ws") || normalized.includes("/wss")) return "websocket";
2540
+ if (normalized.includes("/ws") || normalized.includes("/wss"))
2541
+ return "websocket";
2537
2542
  return "other";
2538
2543
  }
2539
2544
  function selectCompactRelayBootstrapMultiaddrs(addrs, limit = DEFAULT_BOOTSTRAP_COMPACT_MULTIADDR_LIMIT) {
@@ -2610,7 +2615,10 @@ function hasPeerId(addr) {
2610
2615
  }
2611
2616
  function isBrowserDialableMultiaddr(addr) {
2612
2617
  const normalized = addr.toLowerCase();
2613
- return normalized.includes("/ws") || normalized.includes("/wss") || normalized.includes("/webtransport") || normalized.includes("/webrtc-direct");
2618
+ if (normalized.includes("/webtransport") || normalized.includes("/webrtc-direct")) {
2619
+ return normalized.includes("/certhash/");
2620
+ }
2621
+ return normalized.includes("/ws") || normalized.includes("/wss");
2614
2622
  }
2615
2623
  function dedupeMultiaddrs(addrs) {
2616
2624
  const seen = /* @__PURE__ */ new Set();
@@ -2656,8 +2664,12 @@ function normalizeRelayBootstrapContent(value) {
2656
2664
  const peerId = asTrimmedString(content.peerId);
2657
2665
  const updatedAt = asNumber4(content.updatedAt);
2658
2666
  if (!peerId || updatedAt == null) return null;
2659
- const multiaddrs = Array.isArray(content.multiaddrs) ? content.multiaddrs.filter((entry) => typeof entry === "string") : [];
2660
- const browserMultiaddrs = Array.isArray(content.browserMultiaddrs) ? content.browserMultiaddrs.filter((entry) => typeof entry === "string") : void 0;
2667
+ const multiaddrs = Array.isArray(content.multiaddrs) ? content.multiaddrs.filter(
2668
+ (entry) => typeof entry === "string"
2669
+ ) : [];
2670
+ const browserMultiaddrs = Array.isArray(content.browserMultiaddrs) ? content.browserMultiaddrs.filter(
2671
+ (entry) => typeof entry === "string"
2672
+ ) : void 0;
2661
2673
  return {
2662
2674
  peerId,
2663
2675
  multiaddrs: dedupeMultiaddrs(multiaddrs),
@@ -2710,8 +2722,12 @@ function normalizeRelayBootstrapProofPayload(value) {
2710
2722
  const peerId = asTrimmedString(payload.peerId);
2711
2723
  const updatedAt = asNumber4(payload.updatedAt);
2712
2724
  if (!peerId || updatedAt == null) return null;
2713
- const multiaddrs = Array.isArray(payload.multiaddrs) ? payload.multiaddrs.filter((entry) => typeof entry === "string") : [];
2714
- const browserMultiaddrs = Array.isArray(payload.browserMultiaddrs) ? payload.browserMultiaddrs.filter((entry) => typeof entry === "string") : void 0;
2725
+ const multiaddrs = Array.isArray(payload.multiaddrs) ? payload.multiaddrs.filter(
2726
+ (entry) => typeof entry === "string"
2727
+ ) : [];
2728
+ const browserMultiaddrs = Array.isArray(payload.browserMultiaddrs) ? payload.browserMultiaddrs.filter(
2729
+ (entry) => typeof entry === "string"
2730
+ ) : void 0;
2715
2731
  return {
2716
2732
  peerId,
2717
2733
  multiaddrs: multiaddrs.length > 0 ? dedupeMultiaddrs(multiaddrs) : void 0,
package/shared/index.d.ts CHANGED
@@ -332,7 +332,7 @@ declare const STALE_INSTANCE_ALLOCATION_COOLDOWN_MS: number;
332
332
  declare const RECENT_INSTANCE_RUNTIME_GRACE_MS: number;
333
333
  declare const DEPLOYMENT_PENDING_WARNING_MS: number;
334
334
 
335
- declare const UI_PACKAGE_VERSION = "0.6.25";
335
+ declare const UI_PACKAGE_VERSION = "0.6.27";
336
336
 
337
337
  interface RootfsRequiredPortForward {
338
338
  port: number;
package/shared/index.js CHANGED
@@ -42,7 +42,7 @@ var RECENT_INSTANCE_RUNTIME_GRACE_MS = 10 * 60 * 1e3;
42
42
  var DEPLOYMENT_PENDING_WARNING_MS = 3 * 60 * 1e3;
43
43
 
44
44
  // src/shared/package-version.ts
45
- var UI_PACKAGE_VERSION = "0.6.25";
45
+ var UI_PACKAGE_VERSION = "0.6.27";
46
46
 
47
47
  // src/shared/format.ts
48
48
  function shortHash(value, head = 8, tail = 6) {
@@ -135,11 +135,10 @@ async function fetchWithTimeout(input, init = {}, timeoutMs = 15e3) {
135
135
 
136
136
  // ../browser/src/aleph-api.ts
137
137
  var DEFAULT_ALEPH_API_HOSTS = [
138
- "https://api3.aleph.im",
139
138
  "https://api2.aleph.im",
140
139
  "https://api.aleph.im"
141
140
  ];
142
- var DEFAULT_ALEPH_API_HOST = DEFAULT_ALEPH_API_HOSTS[0] ?? "https://api3.aleph.im";
141
+ var DEFAULT_ALEPH_API_HOST = DEFAULT_ALEPH_API_HOSTS[0] ?? "https://api2.aleph.im";
143
142
  var DEFAULT_CRN_LIST_URL = "https://crns-list.aleph.sh/crns.json";
144
143
  var DEFAULT_ALEPH_SCHEDULER_API_HOST = "https://scheduler.api.aleph.cloud";
145
144
  var DEFAULT_2N6_API_HOST = "https://api.2n6.me";
@@ -825,7 +824,12 @@ function watchWallet(onChange, provider = getEthereumProvider()) {
825
824
  // ../browser/src/client.ts
826
825
  function normalizeApiHost(value) {
827
826
  const trimmed = value.trim().replace(/\/+$/u, "");
828
- return trimmed ? trimmed : null;
827
+ if (!trimmed) return null;
828
+ try {
829
+ if (new URL(trimmed).hostname.toLowerCase() === "api3.aleph.im") return null;
830
+ } catch {
831
+ }
832
+ return trimmed;
829
833
  }
830
834
  function normalizeApiHosts(input, fallbackApiHost) {
831
835
  const rawValues = Array.isArray(input) ? input : typeof input === "string" ? input.split(/[\s,]+/u) : [];
@@ -2532,7 +2536,8 @@ function browserMultiaddrTransport(addr) {
2532
2536
  const normalized = addr.toLowerCase();
2533
2537
  if (normalized.includes("/webtransport/")) return "webtransport";
2534
2538
  if (normalized.includes("/webrtc-direct/")) return "webrtc";
2535
- if (normalized.includes("/ws") || normalized.includes("/wss")) return "websocket";
2539
+ if (normalized.includes("/ws") || normalized.includes("/wss"))
2540
+ return "websocket";
2536
2541
  return "other";
2537
2542
  }
2538
2543
  function selectCompactRelayBootstrapMultiaddrs(addrs, limit = DEFAULT_BOOTSTRAP_COMPACT_MULTIADDR_LIMIT) {
@@ -2609,7 +2614,10 @@ function hasPeerId(addr) {
2609
2614
  }
2610
2615
  function isBrowserDialableMultiaddr(addr) {
2611
2616
  const normalized = addr.toLowerCase();
2612
- return normalized.includes("/ws") || normalized.includes("/wss") || normalized.includes("/webtransport") || normalized.includes("/webrtc-direct");
2617
+ if (normalized.includes("/webtransport") || normalized.includes("/webrtc-direct")) {
2618
+ return normalized.includes("/certhash/");
2619
+ }
2620
+ return normalized.includes("/ws") || normalized.includes("/wss");
2613
2621
  }
2614
2622
  function dedupeMultiaddrs(addrs) {
2615
2623
  const seen = /* @__PURE__ */ new Set();
@@ -2655,8 +2663,12 @@ function normalizeRelayBootstrapContent(value) {
2655
2663
  const peerId = asTrimmedString(content.peerId);
2656
2664
  const updatedAt = asNumber4(content.updatedAt);
2657
2665
  if (!peerId || updatedAt == null) return null;
2658
- const multiaddrs = Array.isArray(content.multiaddrs) ? content.multiaddrs.filter((entry) => typeof entry === "string") : [];
2659
- const browserMultiaddrs = Array.isArray(content.browserMultiaddrs) ? content.browserMultiaddrs.filter((entry) => typeof entry === "string") : void 0;
2666
+ const multiaddrs = Array.isArray(content.multiaddrs) ? content.multiaddrs.filter(
2667
+ (entry) => typeof entry === "string"
2668
+ ) : [];
2669
+ const browserMultiaddrs = Array.isArray(content.browserMultiaddrs) ? content.browserMultiaddrs.filter(
2670
+ (entry) => typeof entry === "string"
2671
+ ) : void 0;
2660
2672
  return {
2661
2673
  peerId,
2662
2674
  multiaddrs: dedupeMultiaddrs(multiaddrs),
@@ -2709,8 +2721,12 @@ function normalizeRelayBootstrapProofPayload(value) {
2709
2721
  const peerId = asTrimmedString(payload.peerId);
2710
2722
  const updatedAt = asNumber4(payload.updatedAt);
2711
2723
  if (!peerId || updatedAt == null) return null;
2712
- const multiaddrs = Array.isArray(payload.multiaddrs) ? payload.multiaddrs.filter((entry) => typeof entry === "string") : [];
2713
- const browserMultiaddrs = Array.isArray(payload.browserMultiaddrs) ? payload.browserMultiaddrs.filter((entry) => typeof entry === "string") : void 0;
2724
+ const multiaddrs = Array.isArray(payload.multiaddrs) ? payload.multiaddrs.filter(
2725
+ (entry) => typeof entry === "string"
2726
+ ) : [];
2727
+ const browserMultiaddrs = Array.isArray(payload.browserMultiaddrs) ? payload.browserMultiaddrs.filter(
2728
+ (entry) => typeof entry === "string"
2729
+ ) : void 0;
2714
2730
  return {
2715
2731
  peerId,
2716
2732
  multiaddrs: multiaddrs.length > 0 ? dedupeMultiaddrs(multiaddrs) : void 0,