@le-space/ui 0.6.42 → 0.6.44
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 +3 -3
- package/react/index.js +250 -118
- package/shared/index.d.ts +1 -1
- package/shared/index.js +52 -3
- package/styles.css +90 -16
- package/svelte/SponsorRelayFab.svelte +165 -76
- package/svelte/components/AccordionSection.svelte +6 -6
- package/svelte/components/CopyButton.svelte +12 -4
- package/svelte/components/LauncherButton.svelte +33 -9
- package/svelte/components/StatusLed.svelte +8 -4
- package/svelte/styles/theme.css +90 -16
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.
|
|
46
|
+
var UI_PACKAGE_VERSION = "0.6.44";
|
|
47
47
|
|
|
48
48
|
// src/shared/format.ts
|
|
49
49
|
function shortHash(value, head = 8, tail = 6) {
|
|
@@ -3425,12 +3425,30 @@ async function waitForVmBootstrapConfigSignal(args) {
|
|
|
3425
3425
|
}).catch(() => []);
|
|
3426
3426
|
const match = signals.find((entry) => entry.status === expectedStatus) ?? null;
|
|
3427
3427
|
if (match) return match;
|
|
3428
|
+
if (args.shouldAbort && await args.shouldAbort().catch(() => false)) {
|
|
3429
|
+
return null;
|
|
3430
|
+
}
|
|
3428
3431
|
if (attempt < attempts - 1) {
|
|
3429
3432
|
await sleep2(delayMs);
|
|
3430
3433
|
}
|
|
3431
3434
|
}
|
|
3432
3435
|
return null;
|
|
3433
3436
|
}
|
|
3437
|
+
async function crnExecutionAbsent(args) {
|
|
3438
|
+
const base = String(args.crnUrl ?? "").trim();
|
|
3439
|
+
if (!base) return false;
|
|
3440
|
+
try {
|
|
3441
|
+
const response = await args.fetch(new URL("/about/executions/list", base).toString(), {
|
|
3442
|
+
cache: "no-store"
|
|
3443
|
+
});
|
|
3444
|
+
if (!response.ok) return false;
|
|
3445
|
+
const payload = await response.json();
|
|
3446
|
+
if (!payload || typeof payload !== "object") return false;
|
|
3447
|
+
return !(args.itemHash in payload);
|
|
3448
|
+
} catch {
|
|
3449
|
+
return false;
|
|
3450
|
+
}
|
|
3451
|
+
}
|
|
3434
3452
|
|
|
3435
3453
|
// ../core/src/bootstrap-reconcile.ts
|
|
3436
3454
|
function createRelayBootstrapRegistrationId(profile, instanceName, itemHash) {
|
|
@@ -4552,7 +4570,37 @@ var SponsorRelayController = class {
|
|
|
4552
4570
|
// recovery path, which used to poll the guest over plain HTTP (mixed
|
|
4553
4571
|
// content on an HTTPS origin).
|
|
4554
4572
|
attempts: 100,
|
|
4555
|
-
delayMs: 3e3
|
|
4573
|
+
delayMs: 3e3,
|
|
4574
|
+
// Early failover (relay-button#83): a silently broken CRN accepts the
|
|
4575
|
+
// allocation but never schedules the VM. Probe the CRN's execution
|
|
4576
|
+
// list alongside the signal wait; after 4 consecutive "absent"
|
|
4577
|
+
// sightings (~2 min into the window) stop waiting — the full window
|
|
4578
|
+
// costs ~5 min and the VM will never publish a signal.
|
|
4579
|
+
shouldAbort: /* @__PURE__ */ (() => {
|
|
4580
|
+
let absentStreak = 0;
|
|
4581
|
+
let probeCountdown = 0;
|
|
4582
|
+
return async () => {
|
|
4583
|
+
if (probeCountdown > 0) {
|
|
4584
|
+
probeCountdown -= 1;
|
|
4585
|
+
return false;
|
|
4586
|
+
}
|
|
4587
|
+
probeCountdown = 9;
|
|
4588
|
+
const absent = await crnExecutionAbsent({
|
|
4589
|
+
crnUrl: args.crnUrl,
|
|
4590
|
+
itemHash: args.itemHash,
|
|
4591
|
+
fetch: asJsonFetch
|
|
4592
|
+
});
|
|
4593
|
+
absentStreak = absent ? absentStreak + 1 : 0;
|
|
4594
|
+
if (absentStreak >= 4) {
|
|
4595
|
+
this.trace("deploy:crn-execution-absent-abort", {
|
|
4596
|
+
itemHash: args.itemHash,
|
|
4597
|
+
crnUrl: args.crnUrl ?? null
|
|
4598
|
+
});
|
|
4599
|
+
return true;
|
|
4600
|
+
}
|
|
4601
|
+
return false;
|
|
4602
|
+
};
|
|
4603
|
+
})()
|
|
4556
4604
|
});
|
|
4557
4605
|
this.trace("deploy:bootstrap-config-signal-visible", {
|
|
4558
4606
|
itemHash: args.itemHash,
|
|
@@ -5738,7 +5786,8 @@ var SponsorRelayController = class {
|
|
|
5738
5786
|
await this.configureRelayBootstrapRegistration({
|
|
5739
5787
|
itemHash: result.itemHash,
|
|
5740
5788
|
runtime,
|
|
5741
|
-
deploymentToken: attemptDeploymentToken
|
|
5789
|
+
deploymentToken: attemptDeploymentToken,
|
|
5790
|
+
crnUrl: candidateCrn.address ?? null
|
|
5742
5791
|
});
|
|
5743
5792
|
this.patch({
|
|
5744
5793
|
busy: { deploying: false }
|
|
@@ -6222,6 +6271,57 @@ function useSponsorRelayController(props) {
|
|
|
6222
6271
|
|
|
6223
6272
|
// src/react/SponsorRelayFab.tsx
|
|
6224
6273
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6274
|
+
var THEME_CSS = `
|
|
6275
|
+
:root {
|
|
6276
|
+
--rb-font-body: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
6277
|
+
--rb-font-heading: var(--rb-font-body);
|
|
6278
|
+
--rb-font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", "Noto Sans Mono", Menlo, monospace;
|
|
6279
|
+
--rb-border: #232b3d;
|
|
6280
|
+
--rb-text: #edf1f8;
|
|
6281
|
+
--rb-muted: #a8b3c7;
|
|
6282
|
+
--rb-comet: #6b7690;
|
|
6283
|
+
--rb-coral: #ff6b5b;
|
|
6284
|
+
--rb-cyan: #58c7f3;
|
|
6285
|
+
--rb-success: #3edc97;
|
|
6286
|
+
--rb-warning: #ffc24b;
|
|
6287
|
+
--rb-danger: #ff4d6a;
|
|
6288
|
+
--rb-panel-bg: rgba(20, 25, 38, 0.97);
|
|
6289
|
+
--rb-panel-shadow: 0 28px 80px rgba(4, 6, 12, 0.55);
|
|
6290
|
+
--rb-surface: rgba(11, 14, 21, 0.55);
|
|
6291
|
+
--rb-field-bg: rgba(11, 14, 21, 0.85);
|
|
6292
|
+
--rb-accent: var(--rb-coral);
|
|
6293
|
+
--rb-accent-contrast: #0b0e15;
|
|
6294
|
+
--rb-link: var(--rb-cyan);
|
|
6295
|
+
--rb-launcher-start: #10151f;
|
|
6296
|
+
--rb-launcher-end: #0b0e15;
|
|
6297
|
+
--rb-launcher-text: #edf1f8;
|
|
6298
|
+
--rb-launcher-badge-bg: rgba(20, 25, 38, 0.92);
|
|
6299
|
+
--rb-backdrop-accent: rgba(255, 107, 91, 0.14);
|
|
6300
|
+
}
|
|
6301
|
+
[data-theme="light"],
|
|
6302
|
+
[data-relay-theme="light"] {
|
|
6303
|
+
--rb-border: #d9e0ec;
|
|
6304
|
+
--rb-text: #141b2e;
|
|
6305
|
+
--rb-muted: #4d5a74;
|
|
6306
|
+
--rb-comet: #6b7690;
|
|
6307
|
+
--rb-coral: #e8503f;
|
|
6308
|
+
--rb-cyan: #0e86c4;
|
|
6309
|
+
--rb-success: #0f9d6a;
|
|
6310
|
+
--rb-warning: #a8690a;
|
|
6311
|
+
--rb-danger: #d5365a;
|
|
6312
|
+
--rb-panel-bg: rgba(255, 255, 255, 0.98);
|
|
6313
|
+
--rb-panel-shadow: 0 28px 80px rgba(20, 27, 46, 0.18);
|
|
6314
|
+
--rb-surface: rgba(20, 27, 46, 0.04);
|
|
6315
|
+
--rb-field-bg: #ffffff;
|
|
6316
|
+
--rb-accent-contrast: #ffffff;
|
|
6317
|
+
--rb-launcher-start: #ffffff;
|
|
6318
|
+
--rb-launcher-end: #f2f5fa;
|
|
6319
|
+
--rb-launcher-text: #141b2e;
|
|
6320
|
+
--rb-launcher-badge-bg: rgba(20, 27, 46, 0.05);
|
|
6321
|
+
--rb-backdrop-accent: rgba(232, 80, 63, 0.1);
|
|
6322
|
+
}
|
|
6323
|
+
@keyframes leSpaceRelayPulse { 0%, 100% { transform: scale(1); opacity: 0.74; } 50% { transform: scale(1.22); opacity: 1; } }
|
|
6324
|
+
`;
|
|
6225
6325
|
var basePanelStyle = {
|
|
6226
6326
|
position: "fixed",
|
|
6227
6327
|
zIndex: 9999,
|
|
@@ -6233,52 +6333,54 @@ var basePanelStyle = {
|
|
|
6233
6333
|
overflowY: "auto",
|
|
6234
6334
|
overflowWrap: "anywhere",
|
|
6235
6335
|
wordBreak: "break-word",
|
|
6236
|
-
border: "1px solid var(--le-space-sponsor-relay-panel-border,
|
|
6237
|
-
borderRadius: "
|
|
6238
|
-
background: "var(--le-space-sponsor-relay-panel-bg,
|
|
6239
|
-
color: "
|
|
6240
|
-
boxShadow: "var(--le-space-sponsor-relay-panel-shadow,
|
|
6336
|
+
border: "1px solid var(--le-space-sponsor-relay-panel-border, var(--rb-border))",
|
|
6337
|
+
borderRadius: "0.625rem",
|
|
6338
|
+
background: "var(--le-space-sponsor-relay-panel-bg, var(--rb-panel-bg))",
|
|
6339
|
+
color: "var(--rb-text)",
|
|
6340
|
+
boxShadow: "var(--le-space-sponsor-relay-panel-shadow, var(--rb-panel-shadow))",
|
|
6241
6341
|
padding: "1rem",
|
|
6242
|
-
fontFamily:
|
|
6342
|
+
fontFamily: "var(--rb-font-body)",
|
|
6343
|
+
fontSize: "0.8125rem",
|
|
6344
|
+
lineHeight: 1.5
|
|
6243
6345
|
};
|
|
6244
6346
|
var fieldStyle = {
|
|
6245
6347
|
width: "100%",
|
|
6246
6348
|
minWidth: 0,
|
|
6247
6349
|
boxSizing: "border-box",
|
|
6248
|
-
borderRadius: "0.
|
|
6249
|
-
border: "1px solid
|
|
6250
|
-
background: "
|
|
6251
|
-
color: "
|
|
6252
|
-
padding: "0.
|
|
6253
|
-
fontFamily:
|
|
6254
|
-
fontSize: "0.
|
|
6255
|
-
lineHeight: 1.
|
|
6350
|
+
borderRadius: "0.5rem",
|
|
6351
|
+
border: "1px solid var(--rb-border)",
|
|
6352
|
+
background: "var(--rb-field-bg)",
|
|
6353
|
+
color: "var(--rb-text)",
|
|
6354
|
+
padding: "0.65rem 0.8rem",
|
|
6355
|
+
fontFamily: "var(--rb-font-body)",
|
|
6356
|
+
fontSize: "0.8125rem",
|
|
6357
|
+
lineHeight: 1.4
|
|
6256
6358
|
};
|
|
6257
6359
|
var secondaryButtonStyle = {
|
|
6258
|
-
borderRadius: "0.
|
|
6259
|
-
border: "1px solid
|
|
6260
|
-
background: "
|
|
6261
|
-
color: "
|
|
6262
|
-
padding: "0.
|
|
6263
|
-
fontFamily:
|
|
6264
|
-
fontSize: "0.
|
|
6265
|
-
fontWeight:
|
|
6360
|
+
borderRadius: "0.5rem",
|
|
6361
|
+
border: "1px solid var(--rb-border)",
|
|
6362
|
+
background: "var(--rb-surface)",
|
|
6363
|
+
color: "var(--rb-text)",
|
|
6364
|
+
padding: "0.65rem 0.9rem",
|
|
6365
|
+
fontFamily: "var(--rb-font-body)",
|
|
6366
|
+
fontSize: "0.8125rem",
|
|
6367
|
+
fontWeight: 600,
|
|
6266
6368
|
lineHeight: 1.1,
|
|
6267
|
-
|
|
6268
|
-
backdropFilter: "blur(8px)"
|
|
6369
|
+
cursor: "pointer"
|
|
6269
6370
|
};
|
|
6270
6371
|
var primaryButtonStyle = {
|
|
6271
6372
|
boxSizing: "border-box",
|
|
6272
|
-
borderRadius: "0.
|
|
6273
|
-
border: "1px solid
|
|
6274
|
-
background: "
|
|
6275
|
-
color: "
|
|
6276
|
-
padding: "0.
|
|
6277
|
-
fontFamily:
|
|
6278
|
-
fontSize: "0.
|
|
6279
|
-
fontWeight:
|
|
6373
|
+
borderRadius: "0.5rem",
|
|
6374
|
+
border: "1px solid transparent",
|
|
6375
|
+
background: "var(--rb-accent)",
|
|
6376
|
+
color: "var(--rb-accent-contrast)",
|
|
6377
|
+
padding: "0.78rem 1rem",
|
|
6378
|
+
fontFamily: "var(--rb-font-body)",
|
|
6379
|
+
fontSize: "0.875rem",
|
|
6380
|
+
fontWeight: 700,
|
|
6280
6381
|
lineHeight: 1.1,
|
|
6281
|
-
|
|
6382
|
+
cursor: "pointer",
|
|
6383
|
+
boxShadow: "0 10px 24px rgba(255, 107, 91, 0.22)"
|
|
6282
6384
|
};
|
|
6283
6385
|
var containedContentStyle = {
|
|
6284
6386
|
minWidth: 0,
|
|
@@ -6289,42 +6391,43 @@ var containedContentStyle = {
|
|
|
6289
6391
|
whiteSpace: "normal"
|
|
6290
6392
|
};
|
|
6291
6393
|
var dangerButtonStyle = {
|
|
6292
|
-
borderRadius: "0.
|
|
6293
|
-
border: "1px solid rgba(
|
|
6294
|
-
background: "
|
|
6295
|
-
color: "
|
|
6296
|
-
padding: "0.
|
|
6297
|
-
fontFamily:
|
|
6298
|
-
fontSize: "0.
|
|
6299
|
-
fontWeight:
|
|
6300
|
-
lineHeight: 1.1
|
|
6394
|
+
borderRadius: "0.5rem",
|
|
6395
|
+
border: "1px solid rgba(255, 77, 106, 0.45)",
|
|
6396
|
+
background: "transparent",
|
|
6397
|
+
color: "var(--rb-danger)",
|
|
6398
|
+
padding: "0.65rem 0.9rem",
|
|
6399
|
+
fontFamily: "var(--rb-font-body)",
|
|
6400
|
+
fontSize: "0.8125rem",
|
|
6401
|
+
fontWeight: 600,
|
|
6402
|
+
lineHeight: 1.1,
|
|
6403
|
+
cursor: "pointer"
|
|
6301
6404
|
};
|
|
6302
6405
|
var warningButtonStyle = {
|
|
6303
|
-
borderRadius: "0.
|
|
6304
|
-
border: "1px solid rgba(
|
|
6305
|
-
background: "
|
|
6306
|
-
color: "
|
|
6307
|
-
padding: "0.
|
|
6308
|
-
fontFamily:
|
|
6309
|
-
fontSize: "0.
|
|
6310
|
-
fontWeight:
|
|
6311
|
-
lineHeight: 1.1
|
|
6406
|
+
borderRadius: "0.5rem",
|
|
6407
|
+
border: "1px solid rgba(255, 194, 75, 0.45)",
|
|
6408
|
+
background: "transparent",
|
|
6409
|
+
color: "var(--rb-warning)",
|
|
6410
|
+
padding: "0.65rem 0.9rem",
|
|
6411
|
+
fontFamily: "var(--rb-font-body)",
|
|
6412
|
+
fontSize: "0.8125rem",
|
|
6413
|
+
fontWeight: 600,
|
|
6414
|
+
lineHeight: 1.1,
|
|
6415
|
+
cursor: "pointer"
|
|
6312
6416
|
};
|
|
6313
|
-
var themedLauncherBackground = "linear-gradient(135deg, var(--le-space-sponsor-relay-launcher-start,
|
|
6314
|
-
var themedLauncherBorder = "var(--le-space-sponsor-relay-launcher-border,
|
|
6315
|
-
var themedLauncherBadgeBackground = "var(--le-space-sponsor-relay-launcher-badge-bg,
|
|
6316
|
-
var themedLauncherBadgeBorder = "var(--le-space-sponsor-relay-launcher-badge-border,
|
|
6317
|
-
var themedLauncherDot = "var(--le-space-sponsor-relay-launcher-dot, #f59e0b)";
|
|
6417
|
+
var themedLauncherBackground = "linear-gradient(135deg, var(--le-space-sponsor-relay-launcher-start, var(--rb-launcher-start)) 0%, var(--le-space-sponsor-relay-launcher-end, var(--rb-launcher-end)) 100%)";
|
|
6418
|
+
var themedLauncherBorder = "var(--le-space-sponsor-relay-launcher-border, var(--rb-border))";
|
|
6419
|
+
var themedLauncherBadgeBackground = "var(--le-space-sponsor-relay-launcher-badge-bg, var(--rb-launcher-badge-bg))";
|
|
6420
|
+
var themedLauncherBadgeBorder = "var(--le-space-sponsor-relay-launcher-badge-border, var(--rb-border))";
|
|
6318
6421
|
function progressToneColor(status) {
|
|
6319
6422
|
switch (status) {
|
|
6320
6423
|
case "success":
|
|
6321
|
-
return "#
|
|
6424
|
+
return "#3edc97";
|
|
6322
6425
|
case "warning":
|
|
6323
|
-
return "#
|
|
6426
|
+
return "#ffc24b";
|
|
6324
6427
|
case "error":
|
|
6325
|
-
return "#
|
|
6428
|
+
return "#ff4d6a";
|
|
6326
6429
|
default:
|
|
6327
|
-
return "#
|
|
6430
|
+
return "#58c7f3";
|
|
6328
6431
|
}
|
|
6329
6432
|
}
|
|
6330
6433
|
function progressBadgeLabel(stage) {
|
|
@@ -6548,7 +6651,7 @@ function SponsorRelayFab(props) {
|
|
|
6548
6651
|
const deploymentProgressVisible = isDeploymentProgressVisible(state);
|
|
6549
6652
|
const pollingState = pollingIndicator(state);
|
|
6550
6653
|
const pulseScale = progressActive ? 1.03 : hovered ? 1.015 : 1;
|
|
6551
|
-
const pulseShadow = progressActive ? `0 0 0 4px ${progressToneColor(indicator.tone)}22, 0 12px 28px rgba(15, 23, 42, 0.22)` : successFlash ? `0 0 0 5px rgba(55, 214, 122, 0.22), 0 14px 32px rgba(55, 214, 122, 0.22)` : launcherMode === "inline" ? hovered ? "var(--le-space-sponsor-relay-launcher-hover-shadow, 0 14px 30px rgba(
|
|
6654
|
+
const pulseShadow = progressActive ? `0 0 0 4px ${progressToneColor(indicator.tone)}22, 0 12px 28px rgba(15, 23, 42, 0.22)` : successFlash ? `0 0 0 5px rgba(55, 214, 122, 0.22), 0 14px 32px rgba(55, 214, 122, 0.22)` : launcherMode === "inline" ? hovered ? "var(--le-space-sponsor-relay-launcher-hover-shadow, 0 14px 30px rgba(4, 6, 12, 0.5))" : "var(--le-space-sponsor-relay-launcher-shadow, 0 10px 24px rgba(4, 6, 12, 0.4))" : void 0;
|
|
6552
6655
|
const inlineButtonBackground = themedLauncherBackground;
|
|
6553
6656
|
const inlineButtonBorder = `1px solid ${themedLauncherBorder}`;
|
|
6554
6657
|
const inlineBadgeBackground = themedLauncherBadgeBackground;
|
|
@@ -6569,7 +6672,7 @@ function SponsorRelayFab(props) {
|
|
|
6569
6672
|
const rootfsBlocked = state.rootfsHealth.tone === "error";
|
|
6570
6673
|
const deployCallToAction = state.wallet.connected ? state.busy.deploying ? "Deploying\u2026" : rootfsBlocked ? "Deployment blocked \u2014 Rootfs unavailable" : deploymentButtonLabel(state) : "Connect MetaMask";
|
|
6571
6674
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6572
|
-
/* @__PURE__ */ jsx("style", { children:
|
|
6675
|
+
/* @__PURE__ */ jsx("style", { children: THEME_CSS }),
|
|
6573
6676
|
/* @__PURE__ */ jsxs(
|
|
6574
6677
|
"button",
|
|
6575
6678
|
{
|
|
@@ -6587,14 +6690,14 @@ function SponsorRelayFab(props) {
|
|
|
6587
6690
|
bottom: launcherMode === "floating" ? "5.8rem" : void 0,
|
|
6588
6691
|
zIndex: launcherMode === "floating" ? 1e4 : "auto",
|
|
6589
6692
|
borderRadius: "999px",
|
|
6590
|
-
border: launcherMode === "floating" ? `
|
|
6693
|
+
border: launcherMode === "floating" ? `1px solid ${themedLauncherBorder}` : inlineButtonBorder,
|
|
6591
6694
|
background: launcherMode === "floating" ? themedLauncherBackground : inlineButtonBackground,
|
|
6592
|
-
color: "
|
|
6695
|
+
color: "var(--rb-launcher-text)",
|
|
6593
6696
|
minHeight: launcherMode === "floating" ? void 0 : "2.25rem",
|
|
6594
|
-
padding: launcherMode === "floating" ? "0.
|
|
6595
|
-
fontFamily:
|
|
6697
|
+
padding: launcherMode === "floating" ? "0.8rem 1.15rem" : "0.42rem 0.56rem 0.42rem 0.76rem",
|
|
6698
|
+
fontFamily: "var(--rb-font-mono)",
|
|
6596
6699
|
fontWeight: 700,
|
|
6597
|
-
fontSize: launcherMode === "floating" ? "0.
|
|
6700
|
+
fontSize: launcherMode === "floating" ? "0.78rem" : "0.7rem",
|
|
6598
6701
|
textTransform: "uppercase",
|
|
6599
6702
|
letterSpacing: "0.08em",
|
|
6600
6703
|
cursor: "pointer",
|
|
@@ -6616,17 +6719,42 @@ function SponsorRelayFab(props) {
|
|
|
6616
6719
|
gap: "0.36rem"
|
|
6617
6720
|
},
|
|
6618
6721
|
children: [
|
|
6619
|
-
/* @__PURE__ */
|
|
6620
|
-
"
|
|
6722
|
+
/* @__PURE__ */ jsxs(
|
|
6723
|
+
"svg",
|
|
6621
6724
|
{
|
|
6622
6725
|
"aria-hidden": "true",
|
|
6726
|
+
viewBox: "0 0 32 32",
|
|
6623
6727
|
style: {
|
|
6624
|
-
width: launcherMode === "floating" ? "
|
|
6625
|
-
height: launcherMode === "floating" ? "
|
|
6626
|
-
|
|
6627
|
-
|
|
6628
|
-
|
|
6629
|
-
|
|
6728
|
+
width: launcherMode === "floating" ? "1.1rem" : "0.95rem",
|
|
6729
|
+
height: launcherMode === "floating" ? "1.1rem" : "0.95rem",
|
|
6730
|
+
flex: "none"
|
|
6731
|
+
},
|
|
6732
|
+
children: [
|
|
6733
|
+
/* @__PURE__ */ jsx(
|
|
6734
|
+
"line",
|
|
6735
|
+
{
|
|
6736
|
+
x1: "17",
|
|
6737
|
+
y1: "15.4",
|
|
6738
|
+
x2: "19.6",
|
|
6739
|
+
y2: "13",
|
|
6740
|
+
stroke: "var(--rb-cyan)",
|
|
6741
|
+
strokeWidth: 2.4,
|
|
6742
|
+
strokeLinecap: "round"
|
|
6743
|
+
}
|
|
6744
|
+
),
|
|
6745
|
+
/* @__PURE__ */ jsx("circle", { cx: "11.5", cy: "20.5", r: "7", fill: "var(--rb-coral)" }),
|
|
6746
|
+
/* @__PURE__ */ jsx(
|
|
6747
|
+
"circle",
|
|
6748
|
+
{
|
|
6749
|
+
cx: "23.5",
|
|
6750
|
+
cy: "9.5",
|
|
6751
|
+
r: "4.2",
|
|
6752
|
+
fill: "none",
|
|
6753
|
+
stroke: "var(--rb-cyan)",
|
|
6754
|
+
strokeWidth: 2.8
|
|
6755
|
+
}
|
|
6756
|
+
)
|
|
6757
|
+
]
|
|
6630
6758
|
}
|
|
6631
6759
|
),
|
|
6632
6760
|
/* @__PURE__ */ jsx("span", { children: launcherLabel })
|
|
@@ -6643,8 +6771,8 @@ function SponsorRelayFab(props) {
|
|
|
6643
6771
|
padding: launcherMode === "floating" ? "0.2rem 0.42rem" : "0.21rem 0.5rem",
|
|
6644
6772
|
minWidth: launcherMode === "floating" ? void 0 : "3.8rem",
|
|
6645
6773
|
borderRadius: "999px",
|
|
6646
|
-
background: launcherMode === "floating" ? "
|
|
6647
|
-
border: launcherMode === "floating" ? "1px solid
|
|
6774
|
+
background: launcherMode === "floating" ? "var(--rb-launcher-badge-bg)" : inlineBadgeBackground,
|
|
6775
|
+
border: launcherMode === "floating" ? "1px solid var(--rb-border)" : inlineBadgeBorder,
|
|
6648
6776
|
fontSize: launcherMode === "floating" ? "0.62rem" : "0.61rem",
|
|
6649
6777
|
fontWeight: launcherMode === "floating" ? 700 : 800,
|
|
6650
6778
|
lineHeight: 1,
|
|
@@ -6685,7 +6813,7 @@ function SponsorRelayFab(props) {
|
|
|
6685
6813
|
position: "fixed",
|
|
6686
6814
|
inset: 0,
|
|
6687
6815
|
zIndex: 9998,
|
|
6688
|
-
background: "radial-gradient(circle at 88% 82%, var(--le-space-sponsor-relay-backdrop-accent,
|
|
6816
|
+
background: "radial-gradient(circle at 88% 82%, var(--le-space-sponsor-relay-backdrop-accent, var(--rb-backdrop-accent)), transparent 34%)"
|
|
6689
6817
|
}
|
|
6690
6818
|
}
|
|
6691
6819
|
),
|
|
@@ -6708,8 +6836,10 @@ function SponsorRelayFab(props) {
|
|
|
6708
6836
|
display: "flex",
|
|
6709
6837
|
alignItems: "center",
|
|
6710
6838
|
gap: "0.45rem",
|
|
6711
|
-
color: "
|
|
6712
|
-
|
|
6839
|
+
color: "var(--rb-accent)",
|
|
6840
|
+
fontFamily: "var(--rb-font-mono)",
|
|
6841
|
+
fontWeight: 700,
|
|
6842
|
+
fontSize: "0.6563rem",
|
|
6713
6843
|
textTransform: "uppercase",
|
|
6714
6844
|
letterSpacing: "0.08em"
|
|
6715
6845
|
},
|
|
@@ -6719,10 +6849,11 @@ function SponsorRelayFab(props) {
|
|
|
6719
6849
|
"span",
|
|
6720
6850
|
{
|
|
6721
6851
|
style: {
|
|
6722
|
-
|
|
6852
|
+
fontWeight: 400,
|
|
6853
|
+
fontSize: "0.625rem",
|
|
6723
6854
|
letterSpacing: "0.04em",
|
|
6724
6855
|
textTransform: "none",
|
|
6725
|
-
color: "
|
|
6856
|
+
color: "var(--rb-comet)"
|
|
6726
6857
|
},
|
|
6727
6858
|
children: versionLabel
|
|
6728
6859
|
}
|
|
@@ -6735,7 +6866,9 @@ function SponsorRelayFab(props) {
|
|
|
6735
6866
|
{
|
|
6736
6867
|
style: {
|
|
6737
6868
|
margin: "0.2rem 0 0",
|
|
6738
|
-
fontFamily:
|
|
6869
|
+
fontFamily: "var(--rb-font-heading)",
|
|
6870
|
+
fontSize: "1.125rem",
|
|
6871
|
+
fontWeight: 700
|
|
6739
6872
|
},
|
|
6740
6873
|
children: deploymentPanelTitle(state)
|
|
6741
6874
|
}
|
|
@@ -6753,8 +6886,8 @@ function SponsorRelayFab(props) {
|
|
|
6753
6886
|
]
|
|
6754
6887
|
}
|
|
6755
6888
|
),
|
|
6756
|
-
/* @__PURE__ */ jsx("p", { style: { color: "
|
|
6757
|
-
state.errorText ? /* @__PURE__ */ jsx("p", { style: { color: "
|
|
6889
|
+
/* @__PURE__ */ jsx("p", { style: { color: "var(--rb-muted)" }, children: state.statusText }),
|
|
6890
|
+
state.errorText ? /* @__PURE__ */ jsx("p", { style: { color: "var(--rb-danger)" }, children: state.errorText }) : null,
|
|
6758
6891
|
pollingState ? /* @__PURE__ */ jsxs(
|
|
6759
6892
|
"div",
|
|
6760
6893
|
{
|
|
@@ -6764,8 +6897,8 @@ function SponsorRelayFab(props) {
|
|
|
6764
6897
|
marginBottom: "0.8rem",
|
|
6765
6898
|
padding: "0.7rem 0.8rem",
|
|
6766
6899
|
borderRadius: "1rem",
|
|
6767
|
-
border: "1px solid rgba(
|
|
6768
|
-
background: "
|
|
6900
|
+
border: "1px solid rgba(88, 199, 243, 0.22)",
|
|
6901
|
+
background: "rgba(88, 199, 243, 0.08)",
|
|
6769
6902
|
display: "grid",
|
|
6770
6903
|
gap: "0.28rem"
|
|
6771
6904
|
},
|
|
@@ -6797,7 +6930,7 @@ function SponsorRelayFab(props) {
|
|
|
6797
6930
|
]
|
|
6798
6931
|
}
|
|
6799
6932
|
),
|
|
6800
|
-
/* @__PURE__ */ jsx("small", { style: { color: "
|
|
6933
|
+
/* @__PURE__ */ jsx("small", { style: { color: "var(--rb-muted)", lineHeight: 1.35 }, children: pollingState.detail })
|
|
6801
6934
|
]
|
|
6802
6935
|
}
|
|
6803
6936
|
) : null,
|
|
@@ -6808,9 +6941,8 @@ function SponsorRelayFab(props) {
|
|
|
6808
6941
|
marginTop: "0.85rem",
|
|
6809
6942
|
padding: "0.75rem 0.8rem",
|
|
6810
6943
|
borderRadius: "1rem",
|
|
6811
|
-
border: "1px solid
|
|
6812
|
-
background: "
|
|
6813
|
-
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.04)"
|
|
6944
|
+
border: "1px solid var(--rb-border)",
|
|
6945
|
+
background: "var(--rb-surface)"
|
|
6814
6946
|
},
|
|
6815
6947
|
children: [
|
|
6816
6948
|
/* @__PURE__ */ jsxs(
|
|
@@ -6876,8 +7008,8 @@ function SponsorRelayFab(props) {
|
|
|
6876
7008
|
{
|
|
6877
7009
|
style: {
|
|
6878
7010
|
fontSize: "0.72rem",
|
|
6879
|
-
color: "
|
|
6880
|
-
fontFamily:
|
|
7011
|
+
color: "var(--rb-muted)",
|
|
7012
|
+
fontFamily: "var(--rb-font-mono)"
|
|
6881
7013
|
},
|
|
6882
7014
|
children: [
|
|
6883
7015
|
String(
|
|
@@ -6898,7 +7030,7 @@ function SponsorRelayFab(props) {
|
|
|
6898
7030
|
width: "100%",
|
|
6899
7031
|
height: "0.34rem",
|
|
6900
7032
|
borderRadius: "999px",
|
|
6901
|
-
background: "rgba(
|
|
7033
|
+
background: "rgba(168, 179, 199, 0.18)",
|
|
6902
7034
|
overflow: "hidden"
|
|
6903
7035
|
},
|
|
6904
7036
|
children: /* @__PURE__ */ jsx(
|
|
@@ -6930,9 +7062,9 @@ function SponsorRelayFab(props) {
|
|
|
6930
7062
|
"div",
|
|
6931
7063
|
{
|
|
6932
7064
|
style: {
|
|
6933
|
-
color: "
|
|
7065
|
+
color: "var(--rb-muted)",
|
|
6934
7066
|
fontSize: "0.7rem",
|
|
6935
|
-
fontFamily:
|
|
7067
|
+
fontFamily: "var(--rb-font-mono)",
|
|
6936
7068
|
whiteSpace: "nowrap",
|
|
6937
7069
|
overflow: "hidden",
|
|
6938
7070
|
textOverflow: "ellipsis"
|
|
@@ -6947,10 +7079,10 @@ function SponsorRelayFab(props) {
|
|
|
6947
7079
|
"div",
|
|
6948
7080
|
{
|
|
6949
7081
|
style: {
|
|
6950
|
-
color: "
|
|
7082
|
+
color: "var(--rb-muted)",
|
|
6951
7083
|
fontSize: "0.72rem",
|
|
6952
7084
|
lineHeight: 1.3,
|
|
6953
|
-
fontFamily: state.deploymentProgress.detail.includes("0x") || state.deploymentProgress.detail.includes("Qm") ?
|
|
7085
|
+
fontFamily: state.deploymentProgress.detail.includes("0x") || state.deploymentProgress.detail.includes("Qm") ? "var(--rb-font-mono)" : void 0
|
|
6954
7086
|
},
|
|
6955
7087
|
children: state.deploymentProgress.detail
|
|
6956
7088
|
}
|
|
@@ -6959,7 +7091,7 @@ function SponsorRelayFab(props) {
|
|
|
6959
7091
|
"div",
|
|
6960
7092
|
{
|
|
6961
7093
|
style: {
|
|
6962
|
-
color: "
|
|
7094
|
+
color: "var(--rb-danger)",
|
|
6963
7095
|
fontSize: "0.72rem",
|
|
6964
7096
|
lineHeight: 1.3
|
|
6965
7097
|
},
|
|
@@ -7005,7 +7137,7 @@ function SponsorRelayFab(props) {
|
|
|
7005
7137
|
"div",
|
|
7006
7138
|
{
|
|
7007
7139
|
style: {
|
|
7008
|
-
color: "
|
|
7140
|
+
color: "var(--rb-muted)",
|
|
7009
7141
|
fontSize: "0.74rem",
|
|
7010
7142
|
lineHeight: 1.35,
|
|
7011
7143
|
marginTop: "-0.15rem"
|
|
@@ -7212,7 +7344,7 @@ function SponsorRelayFab(props) {
|
|
|
7212
7344
|
"div",
|
|
7213
7345
|
{
|
|
7214
7346
|
style: {
|
|
7215
|
-
color: "
|
|
7347
|
+
color: "var(--rb-muted)",
|
|
7216
7348
|
fontSize: "0.74rem",
|
|
7217
7349
|
lineHeight: 1.35,
|
|
7218
7350
|
marginTop: "-0.15rem"
|
|
@@ -7263,9 +7395,9 @@ function SponsorRelayFab(props) {
|
|
|
7263
7395
|
marginTop: "1rem",
|
|
7264
7396
|
padding: "0.9rem",
|
|
7265
7397
|
borderRadius: "1rem",
|
|
7266
|
-
border: "1px solid rgba(
|
|
7267
|
-
background: "rgba(
|
|
7268
|
-
color: "
|
|
7398
|
+
border: "1px solid rgba(255, 77, 106, 0.5)",
|
|
7399
|
+
background: "rgba(255, 77, 106, 0.1)",
|
|
7400
|
+
color: "var(--rb-text)"
|
|
7269
7401
|
},
|
|
7270
7402
|
children: [
|
|
7271
7403
|
/* @__PURE__ */ jsx("strong", { children: "Rootfs unavailable \u2014 deployment blocked" }),
|
|
@@ -7283,7 +7415,7 @@ function SponsorRelayFab(props) {
|
|
|
7283
7415
|
/* @__PURE__ */ jsxs("div", { style: { display: "flex", flexWrap: "wrap", gap: "0.5rem" }, children: [
|
|
7284
7416
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => void controller.refresh(), disabled: state.busy.refreshing, style: { ...secondaryButtonStyle, padding: "0.55rem 0.7rem" }, children: state.busy.refreshing ? "Checking\u2026" : "Retry validation" }),
|
|
7285
7417
|
/* @__PURE__ */ jsx("button", { type: "button", onClick: () => controller.setShowAdvanced(true), style: { ...secondaryButtonStyle, padding: "0.55rem 0.7rem" }, children: "Edit manifest URL" }),
|
|
7286
|
-
/^https?:\/\//.test(state.manifestUrl) ? /* @__PURE__ */ jsx("a", { href: state.manifestUrl, target: "_blank", rel: "noreferrer", style: { color: "
|
|
7418
|
+
/^https?:\/\//.test(state.manifestUrl) ? /* @__PURE__ */ jsx("a", { href: state.manifestUrl, target: "_blank", rel: "noreferrer", style: { color: "var(--rb-link)", alignSelf: "center", fontSize: "0.78rem" }, children: "Open manifest" }) : null
|
|
7287
7419
|
] })
|
|
7288
7420
|
]
|
|
7289
7421
|
}
|
|
@@ -7299,7 +7431,7 @@ function SponsorRelayFab(props) {
|
|
|
7299
7431
|
...primaryButtonStyle,
|
|
7300
7432
|
width: "100%",
|
|
7301
7433
|
marginTop: "1rem",
|
|
7302
|
-
...rootfsBlocked ? { background: "
|
|
7434
|
+
...rootfsBlocked ? { background: "var(--rb-surface)", borderColor: "rgba(255, 77, 106, 0.45)", color: "var(--rb-text)", boxShadow: "none", cursor: "not-allowed" } : {}
|
|
7303
7435
|
},
|
|
7304
7436
|
children: deployCallToAction
|
|
7305
7437
|
}
|
|
@@ -7348,8 +7480,8 @@ function SponsorRelayFab(props) {
|
|
|
7348
7480
|
gap: "0.32rem",
|
|
7349
7481
|
padding: "0.16rem 0.45rem",
|
|
7350
7482
|
borderRadius: "999px",
|
|
7351
|
-
background: "rgba(
|
|
7352
|
-
color: "
|
|
7483
|
+
background: "rgba(62, 220, 151, 0.14)",
|
|
7484
|
+
color: "var(--rb-success)",
|
|
7353
7485
|
fontSize: "0.7rem",
|
|
7354
7486
|
fontWeight: 700
|
|
7355
7487
|
},
|
|
@@ -7362,8 +7494,8 @@ function SponsorRelayFab(props) {
|
|
|
7362
7494
|
width: "0.45rem",
|
|
7363
7495
|
height: "0.45rem",
|
|
7364
7496
|
borderRadius: "999px",
|
|
7365
|
-
background: "
|
|
7366
|
-
boxShadow: "0 0 0 3px rgba(
|
|
7497
|
+
background: "var(--rb-success)",
|
|
7498
|
+
boxShadow: "0 0 0 3px rgba(62, 220, 151, 0.18)"
|
|
7367
7499
|
}
|
|
7368
7500
|
}
|
|
7369
7501
|
),
|
|
@@ -7452,13 +7584,13 @@ function SponsorRelayFab(props) {
|
|
|
7452
7584
|
gap: "0.7rem",
|
|
7453
7585
|
padding: "0.85rem",
|
|
7454
7586
|
borderRadius: "1rem",
|
|
7455
|
-
border: "1px solid rgba(
|
|
7456
|
-
background: "
|
|
7587
|
+
border: "1px solid rgba(255, 77, 106, 0.3)",
|
|
7588
|
+
background: "rgba(255, 77, 106, 0.06)"
|
|
7457
7589
|
},
|
|
7458
7590
|
children: [
|
|
7459
7591
|
/* @__PURE__ */ jsxs("div", { style: { display: "grid", gap: "0.2rem" }, children: [
|
|
7460
7592
|
/* @__PURE__ */ jsx("strong", { children: "Orphan bootstrap registrations" }),
|
|
7461
|
-
/* @__PURE__ */ jsx("small", { style: { color: "
|
|
7593
|
+
/* @__PURE__ */ jsx("small", { style: { color: "var(--rb-muted)", lineHeight: 1.35 }, children: "Current-wallet registrations without a matching instance. Forget them directly from here." })
|
|
7462
7594
|
] }),
|
|
7463
7595
|
orphanRegistrations.map((entry) => {
|
|
7464
7596
|
const registrationHash = entry.messageHash ?? entry.hash ?? null;
|
|
@@ -7471,8 +7603,8 @@ function SponsorRelayFab(props) {
|
|
|
7471
7603
|
gap: "0.35rem",
|
|
7472
7604
|
padding: "0.75rem",
|
|
7473
7605
|
borderRadius: "0.9rem",
|
|
7474
|
-
background: "
|
|
7475
|
-
border: "1px solid
|
|
7606
|
+
background: "var(--rb-surface)",
|
|
7607
|
+
border: "1px solid var(--rb-border)"
|
|
7476
7608
|
},
|
|
7477
7609
|
children: [
|
|
7478
7610
|
/* @__PURE__ */ jsx(
|
package/shared/index.d.ts
CHANGED
|
@@ -341,7 +341,7 @@ declare const STALE_INSTANCE_ALLOCATION_COOLDOWN_MS: number;
|
|
|
341
341
|
declare const RECENT_INSTANCE_RUNTIME_GRACE_MS: number;
|
|
342
342
|
declare const DEPLOYMENT_PENDING_WARNING_MS: number;
|
|
343
343
|
|
|
344
|
-
declare const UI_PACKAGE_VERSION = "0.6.
|
|
344
|
+
declare const UI_PACKAGE_VERSION = "0.6.44";
|
|
345
345
|
|
|
346
346
|
interface RootfsRequiredPortForward {
|
|
347
347
|
port: number;
|