ds-harness-remote 0.5.13 → 0.5.14

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/client.js CHANGED
@@ -1680,7 +1680,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
1680
1680
  enterRegistrationCode: "Enter the device authorization code.",
1681
1681
  enterAccountPassword: "Enter the Server account and password.",
1682
1682
  associationSaved: "Associated. Restart Harness to apply.",
1683
- signedOut: "Signed out. Restart Harness to disconnect this mode.",
1683
+ signedOut: "Signed out and disconnected from Remote.",
1684
1684
  remoteRequestFailed: "Remote mode request failed.",
1685
1685
  remoteControlUnavailable: "Remote plugin control is still starting. Restart DSH if it stays unavailable.",
1686
1686
  switchTarget: "Switch Local / Remote Harness target",
@@ -1873,6 +1873,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
1873
1873
  scanWithProvider: "Scan to continue with {provider}",
1874
1874
  loadingLoginProviders: "Loading sign-in methods\u2026",
1875
1875
  retryLoginProviders: "Retry loading sign-in methods",
1876
+ serverApplied: "Server address applied.",
1876
1877
  noLoginProviders: "QR sign-in is unavailable. Use email and password.",
1877
1878
  zhihuLogin: "Zhihu QR",
1878
1879
  scanWithGitHub: "Scan to continue with GitHub",
@@ -1950,7 +1951,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
1950
1951
  enterRegistrationCode: "\u8BF7\u8F93\u5165\u8BBE\u5907\u6388\u6743\u7801\u3002",
1951
1952
  enterAccountPassword: "\u8BF7\u8F93\u5165 Server \u8D26\u53F7\u548C\u5BC6\u7801\u3002",
1952
1953
  associationSaved: "\u5173\u8054\u6210\u529F\u3002\u91CD\u542F Harness \u540E\u751F\u6548\u3002",
1953
- signedOut: "\u5DF2\u9000\u51FA\u6388\u6743\u3002\u91CD\u542F Harness \u540E\u5C06\u65AD\u5F00\u6B64\u6A21\u5F0F\u3002",
1954
+ signedOut: "\u5DF2\u9000\u51FA\u8D26\u53F7\u5E76\u65AD\u5F00 Remote \u8FDE\u63A5\u3002",
1954
1955
  remoteRequestFailed: "\u8FDC\u7A0B\u6A21\u5F0F\u8BF7\u6C42\u5931\u8D25\u3002",
1955
1956
  remoteControlUnavailable: "Remote \u63D2\u4EF6\u63A7\u5236\u901A\u9053\u4ECD\u5728\u542F\u52A8\uFF1B\u5982\u679C\u4E00\u76F4\u4E0D\u53EF\u7528\uFF0C\u8BF7\u91CD\u542F DSH\u3002",
1956
1957
  switchTarget: "\u5207\u6362\u672C\u5730\u6216\u8FDC\u7A0B Harness",
@@ -2143,6 +2144,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
2143
2144
  scanWithProvider: "\u4F7F\u7528 {provider} \u626B\u7801\u767B\u5F55",
2144
2145
  loadingLoginProviders: "\u6B63\u5728\u83B7\u53D6\u767B\u5F55\u65B9\u5F0F\u2026",
2145
2146
  retryLoginProviders: "\u91CD\u65B0\u83B7\u53D6\u767B\u5F55\u65B9\u5F0F",
2147
+ serverApplied: "Server \u5730\u5740\u5DF2\u751F\u6548\u3002",
2146
2148
  noLoginProviders: "\u6682\u65E0\u53EF\u7528\u7684\u626B\u7801\u767B\u5F55\u65B9\u5F0F\uFF0C\u8BF7\u4F7F\u7528\u90AE\u7BB1\u548C\u5BC6\u7801\u3002",
2147
2149
  zhihuLogin: "\u77E5\u4E4E\u626B\u7801",
2148
2150
  scanWithGitHub: "\u4F7F\u7528 GitHub \u626B\u7801\u767B\u5F55",
@@ -2558,24 +2560,42 @@ Minimum version required to store current data is: ` + bestVersion + `.
2558
2560
  // src/client/settings.ts
2559
2561
  function createRemotePluginOptions(React) {
2560
2562
  function RemotePluginOptions(props) {
2561
- let { t } = props, [open, setOpen] = React.useState(props.view === "page"), [serverUrl, setServerUrl] = React.useState(""), [portsBusy, setPortsBusy] = React.useState(!1), [previewPorts, setPreviewPorts] = React.useState(""), role = "host", [registrationCode, setRegistrationCode] = React.useState(""), [associations, setAssociations] = React.useState({}), [loaded, setLoaded] = React.useState(!1), [writable, setWritable] = React.useState(!1), [busy, setBusy] = React.useState(!1), [terminalEnabled, setTerminalEnabled] = React.useState(!1), [terminalBusy, setTerminalBusy] = React.useState(!1), [acpBackends, setAcpBackends] = React.useState([]), [acpAvailability, setAcpAvailability] = React.useState({}), [acpChecking, setAcpChecking] = React.useState({}), [acpCheckResults, setAcpCheckResults] = React.useState({}), [addingAcp, setAddingAcp] = React.useState(!1), [acpName, setAcpName] = React.useState(""), [acpCommand, setAcpCommand] = React.useState(""), [acpArguments, setAcpArguments] = React.useState("acp"), [reconnectBusy, setReconnectBusy] = React.useState(!1), [hostStatus, setHostStatus] = React.useState(void 0), [hostName, setHostName] = React.useState(""), [hostDeviceId, setHostDeviceId] = React.useState(""), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0), [settingsView, setSettingsView] = React.useState(void 0), persistedServerUrl = settingsView?.config.serverUrl ?? "https://dsh.r2049.cn", association = associations.client ?? associations.host, serverDirty = settingsView !== void 0 && serverUrl !== persistedServerUrl, draftDirty = serverDirty, applyView = (view) => {
2562
- setSettingsView(view), setServerUrl(view.config.serverUrl ?? "https://dsh.r2049.cn"), setTerminalEnabled(view.config.terminal?.enabled ?? !0), setPreviewPorts((view.config.loopback?.ports ?? []).join(", ")), setAcpBackends((view.config.acp?.backends ?? []).map((item) => ({ id: item.id, enabled: item.enabled !== !1 }))), setAcpAvailability(view.acpAvailability ?? {}), setAssociations(view.associations ?? (view.association === void 0 ? {} : { host: view.association })), setWritable(view.writable), setLoaded(!0);
2563
+ let { t } = props, [open, setOpen] = React.useState(props.view === "page"), [serverUrl, setServerUrl] = React.useState(""), [portsBusy, setPortsBusy] = React.useState(!1), [previewPorts, setPreviewPorts] = React.useState(""), role = "host", [registrationCode, setRegistrationCode] = React.useState(""), [associations, setAssociations] = React.useState({}), [loaded, setLoaded] = React.useState(!1), [writable, setWritable] = React.useState(!1), [busy, setBusy] = React.useState(!1), [terminalEnabled, setTerminalEnabled] = React.useState(!1), [terminalBusy, setTerminalBusy] = React.useState(!1), [acpBackends, setAcpBackends] = React.useState([]), [acpAvailability, setAcpAvailability] = React.useState({}), [acpChecking, setAcpChecking] = React.useState({}), [acpCheckResults, setAcpCheckResults] = React.useState({}), [addingAcp, setAddingAcp] = React.useState(!1), [acpName, setAcpName] = React.useState(""), [acpCommand, setAcpCommand] = React.useState(""), [acpArguments, setAcpArguments] = React.useState("acp"), [reconnectBusy, setReconnectBusy] = React.useState(!1), [hostStatus, setHostStatus] = React.useState(void 0), [hostName, setHostName] = React.useState(""), [hostDeviceId, setHostDeviceId] = React.useState(""), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0), [settingsView, setSettingsView] = React.useState(void 0), associationReadRun = React.useRef(0), persistedServerUrl = settingsView?.config.serverUrl ?? "https://dsh.r2049.cn", association = associations.client ?? associations.host, serverDirty = settingsView !== void 0 && serverUrl !== persistedServerUrl, draftDirty = serverDirty, applyAssociations = (view) => {
2564
+ setAssociations(view.associations ?? (view.association === void 0 ? {} : { host: view.association }));
2565
+ }, applyView = (view, updateAssociations = !0) => {
2566
+ setSettingsView(view), setServerUrl(view.config.serverUrl ?? "https://dsh.r2049.cn"), setTerminalEnabled(view.config.terminal?.enabled ?? !0), setPreviewPorts((view.config.loopback?.ports ?? []).join(", ")), setAcpBackends((view.config.acp?.backends ?? []).map((item) => ({ id: item.id, enabled: item.enabled !== !1 }))), setAcpAvailability(view.acpAvailability ?? {}), updateAssociations && applyAssociations(view), setWritable(view.writable), setLoaded(!0);
2563
2567
  }, load = async () => {
2564
- let [view, status] = await Promise.all([
2568
+ let run = ++associationReadRun.current, [view, status] = await Promise.all([
2565
2569
  props.control("settings.get"),
2566
2570
  props.control("status").catch(() => {
2567
2571
  })
2568
2572
  ]);
2569
- applyView(view), setHostStatus(status?.host), setHostName(status?.deviceName ?? ""), setHostDeviceId(status?.host?.deviceId ?? "");
2573
+ applyView(view, run === associationReadRun.current), setHostStatus(status?.host), setHostName(status?.deviceName ?? ""), setHostDeviceId(status?.host?.deviceId ?? "");
2570
2574
  };
2571
2575
  React.useEffect(() => {
2572
2576
  load().catch((reason) => setError(messageOf(reason)));
2573
2577
  }, []), React.useEffect(() => {
2574
- if (association !== void 0)
2575
- return props.statusFeed.subscribe((status) => {
2576
- setHostStatus(status.host), setHostName(status.deviceName ?? ""), setHostDeviceId(status.host?.deviceId ?? "");
2578
+ let active = !0, authorizationKey, unsubscribe = props.statusFeed.subscribe((status) => {
2579
+ setHostStatus(status.host), setHostName(status.deviceName ?? ""), setHostDeviceId(status.host?.deviceId ?? "");
2580
+ let key = JSON.stringify([
2581
+ status.serverUrl,
2582
+ status.deviceId,
2583
+ status.host?.deviceId,
2584
+ status.host?.authorized,
2585
+ status.host?.account
2586
+ ]);
2587
+ if (key === authorizationKey) return;
2588
+ authorizationKey = key;
2589
+ let run = ++associationReadRun.current;
2590
+ props.control("settings.get").then((view) => {
2591
+ active && run === associationReadRun.current && applyAssociations(view);
2592
+ }).catch(() => {
2577
2593
  });
2578
- }, [association !== void 0]);
2594
+ });
2595
+ return () => {
2596
+ active = !1, unsubscribe();
2597
+ };
2598
+ }, [props.statusFeed]);
2579
2599
  let save = async (event) => {
2580
2600
  if (event?.preventDefault(), !(!writable || !serverDirty)) {
2581
2601
  setBusy(!0), setNotice(void 0), setError(void 0);
@@ -2583,7 +2603,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
2583
2603
  let view = await props.control("settings.server.set", {
2584
2604
  serverUrl
2585
2605
  });
2586
- applyView(view), setNotice({ key: "serverSaved" });
2606
+ applyView(view), setNotice({ key: view.applies === "live" ? "serverApplied" : "serverSaved" });
2587
2607
  } catch (reason) {
2588
2608
  setError(messageOf(reason));
2589
2609
  } finally {
@@ -2591,10 +2611,11 @@ Minimum version required to store current data is: ` + bestVersion + `.
2591
2611
  }
2592
2612
  }
2593
2613
  }, logout = async () => {
2614
+ let run = ++associationReadRun.current;
2594
2615
  setBusy(!0), setError(void 0), setNotice(void 0);
2595
2616
  try {
2596
2617
  let view = await props.control("settings.logout");
2597
- applyView(view), setRegistrationCode(""), setNotice({ key: "signedOut" });
2618
+ applyView(view, run === associationReadRun.current), setRegistrationCode(""), setNotice({ key: "signedOut" });
2598
2619
  } catch (reason) {
2599
2620
  setError(messageOf(reason));
2600
2621
  } finally {
@@ -3054,6 +3075,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
3054
3075
  ".dshRemoteOpenBar{position:sticky;bottom:-96px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:14px 0;background:var(--dsw-alias-bg-layer-1);border-top:1px solid var(--dsw-alias-border-l2)}.dshRemoteOpenBar>div{min-width:0;display:flex;flex-direction:column;gap:3px}.dshRemoteOpenBar span{color:var(--dsw-alias-label-secondary);font-size:12px}.dshRemoteOpenBar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.dshRemoteOpenBar>button,.dshRemoteEnable>button{min-height:40px;flex:0 0 auto;border:0;border-radius:8px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-1);padding:8px 16px;cursor:pointer}.dshRemoteOpenBar>button:disabled,.dshRemoteEnable>button:disabled{opacity:.5;cursor:default}",
3055
3076
  ".dshRemoteEnable{box-sizing:border-box;width:min(440px,100%);max-width:100%;min-height:388px;margin:0 auto;display:flex;flex-direction:column;align-items:stretch;gap:10px}.dshRemoteEnable p{margin:0;color:var(--dsw-alias-label-secondary);line-height:1.5}",
3056
3077
  '.dshRemoteLoginTabs{width:min(440px,100%);display:flex;border-bottom:1px solid var(--dsw-alias-border-l2)}.dshRemoteLoginTabs>button{position:relative;min-height:38px;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:6px 14px;font:inherit;font-size:13px;cursor:pointer}.dshRemoteLoginTabs>button:hover:not(:disabled){color:var(--dsw-alias-label-primary)}.dshRemoteLoginTabs>button.isActive{color:var(--dsw-alias-label-primary);font-weight:600}.dshRemoteLoginTabs>button.isActive::after{content:"";position:absolute;right:12px;bottom:-1px;left:12px;height:2px;border-radius:2px 2px 0 0;background:var(--dsw-alias-brand-primary)}.dshRemoteLoginTabs>button:focus-visible{outline:2px solid var(--dsw-alias-brand-primary);outline-offset:-2px;border-radius:6px}',
3078
+ ".dshRemoteLoginServer{width:100%;display:flex;flex-direction:column;gap:6px;margin:12px 0}.dshRemoteLoginServer>label{font-size:12px;color:var(--dsw-alias-label-secondary)}.dshRemoteLoginServer>div{display:flex;flex-wrap:wrap;gap:8px}.dshRemoteLoginServer input{box-sizing:border-box;flex:1 1 220px;min-width:0;min-height:40px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-3);color:inherit;padding:0 12px;font:inherit}.dshRemoteLoginServer button{flex:0 0 auto;min-height:40px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-3);color:inherit;padding:8px 12px;font:inherit;cursor:pointer}",
3057
3079
  ".dshRemoteClientLogin{width:min(440px,100%);display:flex;flex-direction:column;gap:8px}.dshRemoteClientLogin input{min-height:40px;border:1px solid var(--dsw-alias-border-l2);border-radius:8px;background:var(--dsw-alias-bg-layer-3);color:inherit;padding:0 12px;font:inherit}.dshRemoteClientLogin button{align-self:flex-start;min-height:40px;border:0;border-radius:8px;background:var(--dsw-alias-label-primary);color:var(--dsw-alias-bg-layer-1);padding:8px 16px;cursor:pointer}",
3058
3080
  ".dshRemoteQrLogin{width:min(440px,100%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:6px 0 2px;text-align:center}.dshRemoteQrLogin img,.dshRemoteQrPlaceholder{box-sizing:border-box;width:200px;height:200px;border:1px solid var(--dsw-alias-border-l2);border-radius:12px;background:#fff;padding:8px}.dshRemoteQrOpen{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--dsw-alias-label-secondary);font-size:12px;text-decoration:none}.dshRemoteQrOpen:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteQrOpen:hover img{border-color:var(--dsw-alias-label-dimmed)}.dshRemoteQrOpen:focus-visible{border-radius:12px;outline:2px solid var(--dsw-alias-brand-primary);outline-offset:3px}.dshRemoteQrPlaceholder{display:flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-secondary)}.dshRemoteQrLogin>strong{font-size:14px}.dshRemoteQrLogin>p{max-width:48ch;margin:0;color:var(--dsw-alias-label-secondary);font-size:12px;line-height:1.5}.dshRemoteQrLogin>.dshRemoteServiceAddress{margin-top:2px;color:var(--dsw-alias-label-tertiary)}.dshRemoteServiceAddress>a{color:var(--dsw-alias-label-secondary);text-decoration:none}.dshRemoteServiceAddress>a:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteQrLogin>button,.dshRemoteClientLogin>.dshRemoteLoginSwitch{min-height:32px;border:0;background:transparent;color:var(--dsw-alias-label-secondary);padding:4px 8px;font:inherit;font-size:12px;cursor:pointer}.dshRemoteQrLogin>button:hover,.dshRemoteClientLogin>.dshRemoteLoginSwitch:hover{color:var(--dsw-alias-label-primary);text-decoration:underline}.dshRemoteClientLogin>.dshRemoteLoginSwitch{align-self:flex-start;background:transparent;color:var(--dsw-alias-label-secondary);padding-left:0}",
3059
3081
  ".dshRemoteLoginHeading{box-sizing:border-box;width:100%;display:flex;align-items:baseline;gap:10px;overflow:hidden;white-space:nowrap}.dshRemoteLoginTitle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dshRemoteLoginHeading>span{flex:0 0 auto;color:var(--dsw-alias-label-secondary);font-size:13px;font-weight:400}.dshRemoteLoginTabs{box-sizing:border-box;width:100%;flex-wrap:nowrap;overflow-x:auto}.dshRemoteLoginTabs>button{min-width:max-content;flex:1 0 auto;display:flex;align-items:center;justify-content:center;padding:6px 10px;white-space:nowrap;text-align:center}.dshRemoteLoginTabs>button.isActive::after{right:0;left:0;bottom:0;border-radius:0}.dshRemoteClientLogin,.dshRemoteQrLogin{box-sizing:border-box;width:100%;height:300px;min-height:300px}.dshRemoteClientLogin{align-items:stretch;padding-top:16px}.dshRemoteClientLogin>button{align-self:stretch;width:100%}.dshRemoteQrLogin{padding-top:12px}",
@@ -3116,7 +3138,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
3116
3138
  function createRemoteWorkspaceAction(React) {
3117
3139
  let RemoteProgressView = createRemoteProgressView(React);
3118
3140
  function RemoteWorkspaceAction(props) {
3119
- let { t } = props, [open, setOpen] = React.useState(!1), [status, setStatus] = React.useState(void 0), [devices, setDevices] = React.useState([]), [selectedHost, setSelectedHost] = React.useState(void 0), [connectingHost, setConnectingHost] = React.useState(void 0), [workspaces, setWorkspaces] = React.useState([]), [codexWorkspaces, setCodexWorkspaces] = React.useState([]), [cursorWorkspaces, setCursorWorkspaces] = React.useState([]), [antigravityWorkspaces, setAntigravityWorkspaces] = React.useState([]), [piWorkspaces, setPiWorkspaces] = React.useState([]), [opencodeWorkspaces, setOpencodeWorkspaces] = React.useState([]), [claudeWorkspaces, setClaudeWorkspaces] = React.useState([]), [workspaceBackend, setWorkspaceBackend] = React.useState("harness"), [codexWorkspaceId, setCodexWorkspaceId] = React.useState(void 0), [cursorWorkspaceId, setCursorWorkspaceId] = React.useState(void 0), [antigravityWorkspaceId, setAntigravityWorkspaceId] = React.useState(void 0), [piWorkspaceId, setPiWorkspaceId] = React.useState(void 0), [opencodeWorkspaceId, setOpencodeWorkspaceId] = React.useState(void 0), [claudeWorkspaceId, setClaudeWorkspaceId] = React.useState(void 0), [directory, setDirectory] = React.useState(void 0), [path, setPath] = React.useState(""), [addingWorkspace, setAddingWorkspace] = React.useState(!1), [showAllWorkspaces, setShowAllWorkspaces] = React.useState(!1), [showAllCodexWorkspaces, setShowAllCodexWorkspaces] = React.useState(!1), [devicesOpen, setDevicesOpen] = React.useState(!1), [showAllCursorWorkspaces, setShowAllCursorWorkspaces] = React.useState(!1), [showAllAntigravityWorkspaces, setShowAllAntigravityWorkspaces] = React.useState(!1), [showAllPiWorkspaces, setShowAllPiWorkspaces] = React.useState(!1), [showAllOpencodeWorkspaces, setShowAllOpencodeWorkspaces] = React.useState(!1), [showAllClaudeWorkspaces, setShowAllClaudeWorkspaces] = React.useState(!1), workspaceListId = "dsh-remote-workspace-list", codexWorkspaceHeadingId = "dsh-remote-codex-workspace-heading", codexWorkspaceListId = "dsh-remote-codex-workspace-list", cursorWorkspaceHeadingId = "dsh-remote-cursor-workspace-heading", cursorWorkspaceListId = "dsh-remote-cursor-workspace-list", antigravityWorkspaceHeadingId = "dsh-remote-antigravity-workspace-heading", piWorkspaceHeadingId = "dsh-remote-pi-workspace-heading", opencodeWorkspaceHeadingId = "dsh-remote-opencode-workspace-heading", claudeWorkspaceHeadingId = "dsh-remote-claude-workspace-heading", antigravityWorkspaceListId = "dsh-remote-antigravity-workspace-list", piWorkspaceListId = "dsh-remote-pi-workspace-list", opencodeWorkspaceListId = "dsh-remote-opencode-workspace-list", claudeWorkspaceListId = "dsh-remote-claude-workspace-list", [busy, setBusy] = React.useState(!1), [needsAuthorization, setNeedsAuthorization] = React.useState(!1), [email, setEmail] = React.useState(""), [password, setPassword] = React.useState(""), [loginServerUrl, setLoginServerUrl] = React.useState("https://dsh.r2049.cn"), [loginMethod, setLoginMethod] = React.useState("password"), loginMethodManuallySelected = React.useRef(!1), [oauthProviders, setOAuthProviders] = React.useState([]), [providersLoading, setProvidersLoading] = React.useState(!1), [providersFailed, setProvidersFailed] = React.useState(!1), [providerReload, setProviderReload] = React.useState(0), [qrSession, setQrSession] = React.useState(void 0), [qrImage, setQrImage] = React.useState(void 0), [qrExpired, setQrExpired] = React.useState(!1), [progress, setProgress] = React.useState(void 0), progressRun = React.useRef(0), qrFlowRun = React.useRef(0), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0);
3141
+ let { t } = props, [open, setOpen] = React.useState(!1), [status, setStatus] = React.useState(void 0), [devices, setDevices] = React.useState([]), [selectedHost, setSelectedHost] = React.useState(void 0), [connectingHost, setConnectingHost] = React.useState(void 0), [workspaces, setWorkspaces] = React.useState([]), [codexWorkspaces, setCodexWorkspaces] = React.useState([]), [cursorWorkspaces, setCursorWorkspaces] = React.useState([]), [antigravityWorkspaces, setAntigravityWorkspaces] = React.useState([]), [piWorkspaces, setPiWorkspaces] = React.useState([]), [opencodeWorkspaces, setOpencodeWorkspaces] = React.useState([]), [claudeWorkspaces, setClaudeWorkspaces] = React.useState([]), [workspaceBackend, setWorkspaceBackend] = React.useState("harness"), [codexWorkspaceId, setCodexWorkspaceId] = React.useState(void 0), [cursorWorkspaceId, setCursorWorkspaceId] = React.useState(void 0), [antigravityWorkspaceId, setAntigravityWorkspaceId] = React.useState(void 0), [piWorkspaceId, setPiWorkspaceId] = React.useState(void 0), [opencodeWorkspaceId, setOpencodeWorkspaceId] = React.useState(void 0), [claudeWorkspaceId, setClaudeWorkspaceId] = React.useState(void 0), [directory, setDirectory] = React.useState(void 0), [path, setPath] = React.useState(""), [addingWorkspace, setAddingWorkspace] = React.useState(!1), [showAllWorkspaces, setShowAllWorkspaces] = React.useState(!1), [showAllCodexWorkspaces, setShowAllCodexWorkspaces] = React.useState(!1), [devicesOpen, setDevicesOpen] = React.useState(!1), [showAllCursorWorkspaces, setShowAllCursorWorkspaces] = React.useState(!1), [showAllAntigravityWorkspaces, setShowAllAntigravityWorkspaces] = React.useState(!1), [showAllPiWorkspaces, setShowAllPiWorkspaces] = React.useState(!1), [showAllOpencodeWorkspaces, setShowAllOpencodeWorkspaces] = React.useState(!1), [showAllClaudeWorkspaces, setShowAllClaudeWorkspaces] = React.useState(!1), workspaceListId = "dsh-remote-workspace-list", codexWorkspaceHeadingId = "dsh-remote-codex-workspace-heading", codexWorkspaceListId = "dsh-remote-codex-workspace-list", cursorWorkspaceHeadingId = "dsh-remote-cursor-workspace-heading", cursorWorkspaceListId = "dsh-remote-cursor-workspace-list", antigravityWorkspaceHeadingId = "dsh-remote-antigravity-workspace-heading", piWorkspaceHeadingId = "dsh-remote-pi-workspace-heading", opencodeWorkspaceHeadingId = "dsh-remote-opencode-workspace-heading", claudeWorkspaceHeadingId = "dsh-remote-claude-workspace-heading", antigravityWorkspaceListId = "dsh-remote-antigravity-workspace-list", piWorkspaceListId = "dsh-remote-pi-workspace-list", opencodeWorkspaceListId = "dsh-remote-opencode-workspace-list", claudeWorkspaceListId = "dsh-remote-claude-workspace-list", [busy, setBusy] = React.useState(!1), [needsAuthorization, setNeedsAuthorization] = React.useState(!1), [email, setEmail] = React.useState(""), [password, setPassword] = React.useState(""), [loginServerUrl, setLoginServerUrl] = React.useState("https://dsh.r2049.cn"), [savingServer, setSavingServer] = React.useState(!1), serverDirty = loginServerUrl.trim() !== (status?.serverUrl ?? ""), [loginMethod, setLoginMethod] = React.useState("password"), loginMethodManuallySelected = React.useRef(!1), [oauthProviders, setOAuthProviders] = React.useState([]), [providersLoading, setProvidersLoading] = React.useState(!1), [providersFailed, setProvidersFailed] = React.useState(!1), [providerReload, setProviderReload] = React.useState(0), providerRequestRun = React.useRef(0), [qrSession, setQrSession] = React.useState(void 0), [qrImage, setQrImage] = React.useState(void 0), [qrExpired, setQrExpired] = React.useState(!1), [progress, setProgress] = React.useState(void 0), progressRun = React.useRef(0), qrFlowRun = React.useRef(0), [notice, setNotice] = React.useState(void 0), [error, setError] = React.useState(void 0);
3120
3142
  React.useEffect(() => {
3121
3143
  open || (setDevicesOpen(!1), qrFlowRun.current += 1, setBusy(!1));
3122
3144
  }, [open]), React.useEffect(() => {
@@ -3144,7 +3166,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
3144
3166
  props.control("status").then(setStatus).catch(() => {
3145
3167
  });
3146
3168
  }, []), React.useEffect(() => {
3147
- status?.serverUrl !== void 0 && loginServerUrl === "https://dsh.r2049.cn" && setLoginServerUrl(status.serverUrl);
3169
+ status?.serverUrl !== void 0 && setLoginServerUrl(status.serverUrl);
3148
3170
  }, [status?.serverUrl]), React.useEffect(() => {
3149
3171
  let remoteActive = status?.mode === "remote";
3150
3172
  return document.documentElement.classList.toggle("dshRemoteTargetActive", remoteActive), () => {
@@ -3169,10 +3191,10 @@ Minimum version required to store current data is: ` + bestVersion + `.
3169
3191
  }
3170
3192
  };
3171
3193
  React.useEffect(() => {
3172
- if (!open || !needsAuthorization) return;
3173
- let active = !0;
3194
+ if (!open || !needsAuthorization || savingServer || serverDirty) return;
3195
+ let active = !0, run = ++providerRequestRun.current;
3174
3196
  return qrFlowRun.current += 1, setBusy(!1), setQrSession(void 0), setQrImage(void 0), setQrExpired(!1), setOAuthProviders([]), setProvidersLoading(!0), setProvidersFailed(!1), props.control("client.account.providers").then((items) => {
3175
- if (!active) return;
3197
+ if (!active || run !== providerRequestRun.current) return;
3176
3198
  let available = items.filter((item) => item.qrStartUrl != null);
3177
3199
  setOAuthProviders(available), setLoginMethod((current) => {
3178
3200
  if (loginMethodManuallySelected.current && (current === "password" || available.some((item) => `oauth:${item.id}` === current))) return current;
@@ -3180,16 +3202,16 @@ Minimum version required to store current data is: ` + bestVersion + `.
3180
3202
  return preferred === void 0 ? "password" : `oauth:${preferred.id}`;
3181
3203
  });
3182
3204
  }).catch((reason) => {
3183
- active && (setProvidersFailed(!0), setLoginMethod("password"), setError(messageOf(reason)));
3205
+ !active || run !== providerRequestRun.current || (setProvidersFailed(!0), setLoginMethod("password"), setError(messageOf(reason)));
3184
3206
  }).finally(() => {
3185
- active && setProvidersLoading(!1);
3207
+ active && run === providerRequestRun.current && setProvidersLoading(!1);
3186
3208
  }), () => {
3187
3209
  active = !1;
3188
3210
  };
3189
- }, [open, needsAuthorization, status?.serverUrl, props.preferredQrProvider, providerReload]), React.useEffect(() => {
3190
- !open || !needsAuthorization || providersLoading || loginMethod === "password" || !oauthProviders.some((item) => `oauth:${item.id}` === loginMethod) || qrSession !== void 0 || qrExpired || startQrLogin(loginMethod.slice(6));
3191
- }, [open, needsAuthorization, providersLoading, oauthProviders, loginMethod, qrSession, qrExpired]), React.useEffect(() => {
3192
- if (!open || loginMethod === "password" || qrSession === void 0) return;
3211
+ }, [open, needsAuthorization, status?.serverUrl, props.preferredQrProvider, providerReload, savingServer, serverDirty]), React.useEffect(() => {
3212
+ !open || !needsAuthorization || savingServer || serverDirty || providersLoading || loginMethod === "password" || !oauthProviders.some((item) => `oauth:${item.id}` === loginMethod) || qrSession !== void 0 || qrExpired || startQrLogin(loginMethod.slice(6));
3213
+ }, [open, needsAuthorization, providersLoading, oauthProviders, loginMethod, qrSession, qrExpired, savingServer, serverDirty]), React.useEffect(() => {
3214
+ if (!open || savingServer || serverDirty || loginMethod === "password" || qrSession === void 0) return;
3193
3215
  let active = !0, polling = !1, settled = !1, run = qrFlowRun.current, timer, poll = () => {
3194
3216
  polling || settled || (polling = !0, props.control("client.account.qr.poll", { qrId: qrSession.qrId }).then(async (result) => {
3195
3217
  if (!(!active || settled || run !== qrFlowRun.current))
@@ -3216,7 +3238,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
3216
3238
  return poll(), timer = window.setInterval(poll, 1500), () => {
3217
3239
  active = !1, timer !== void 0 && window.clearInterval(timer);
3218
3240
  };
3219
- }, [open, loginMethod, qrSession]);
3241
+ }, [open, loginMethod, qrSession, savingServer, serverDirty]);
3220
3242
  let selectLoginMethod = (method) => {
3221
3243
  loginMethodManuallySelected.current = !0, method !== loginMethod && (qrFlowRun.current += 1, setLoginMethod(method), setQrSession(void 0), setQrImage(void 0), setQrExpired(!1), setError(void 0));
3222
3244
  }, orderedQrProviders = [...oauthProviders].sort((a, b) => +(b.id === props.preferredQrProvider) - +(a.id === props.preferredQrProvider)), selectedProvider = oauthProviders.find((item) => `oauth:${item.id}` === loginMethod), scanLabel = t("scanWithProvider", { provider: selectedProvider?.displayName ?? "" }), qrLoginTab = (provider) => React.createElement("button", {
@@ -3332,8 +3354,26 @@ Minimum version required to store current data is: ` + bestVersion + `.
3332
3354
  }, [open, selectedHost]);
3333
3355
  let chooseAnotherHost = () => {
3334
3356
  setSelectedHost(void 0), setWorkspaces([]), setCodexWorkspaces([]), setCursorWorkspaces([]), setAntigravityWorkspaces([]), setPiWorkspaces([]), setOpencodeWorkspaces([]), setClaudeWorkspaces([]), setShowAllWorkspaces(!1), setShowAllCodexWorkspaces(!1), setShowAllCursorWorkspaces(!1), setShowAllAntigravityWorkspaces(!1), setShowAllPiWorkspaces(!1), setShowAllOpencodeWorkspaces(!1), setShowAllClaudeWorkspaces(!1), setWorkspaceBackend("harness"), setCodexWorkspaceId(void 0), setCursorWorkspaceId(void 0), setAntigravityWorkspaceId(void 0), setPiWorkspaceId(void 0), setOpencodeWorkspaceId(void 0), setClaudeWorkspaceId(void 0), setDirectory(void 0), setPath(""), setAddingWorkspace(!1), setError(void 0);
3357
+ }, resetLoginFlow = () => {
3358
+ providerRequestRun.current += 1, qrFlowRun.current += 1, setQrSession(void 0), setQrImage(void 0), setQrExpired(!1), setOAuthProviders([]), setProvidersFailed(!1), setProvidersLoading(!1), setLoginMethod("password"), loginMethodManuallySelected.current = !1, setPassword(""), setError(void 0), setNotice(void 0);
3359
+ }, saveLoginServer = async () => {
3360
+ if (!(loginServerUrl.trim() === "" || savingServer)) {
3361
+ resetLoginFlow(), setSavingServer(!0), setBusy(!0);
3362
+ try {
3363
+ if ((await props.control("settings.server.set", { serverUrl: loginServerUrl.trim() })).applies !== "live") {
3364
+ setNotice(t("serverSaved"));
3365
+ return;
3366
+ }
3367
+ let nextStatus = await props.control("status");
3368
+ setStatus(nextStatus), setLoginServerUrl(nextStatus.serverUrl ?? loginServerUrl.trim()), setProviderReload((value) => value + 1);
3369
+ } catch (reason) {
3370
+ setError(messageOf(reason));
3371
+ } finally {
3372
+ setSavingServer(!1), setBusy(!1);
3373
+ }
3374
+ }
3335
3375
  }, signInClient = async () => {
3336
- if (!(email.trim() === "" || password === "" || loginServerUrl.trim() === "")) {
3376
+ if (!(serverDirty || savingServer || email.trim() === "" || password === "" || loginServerUrl.trim() === "")) {
3337
3377
  setBusy(!0), setError(void 0);
3338
3378
  try {
3339
3379
  await props.control("settings.configure", {
@@ -3365,9 +3405,9 @@ Minimum version required to store current data is: ` + bestVersion + `.
3365
3405
  setBusy(!1);
3366
3406
  }
3367
3407
  }, logoutRemote = async () => {
3368
- setBusy(!0), setError(void 0);
3408
+ qrFlowRun.current += 1, progressRun.current += 1, setBusy(!0), setError(void 0);
3369
3409
  try {
3370
- await props.control("settings.logout"), setDevices([]), setNeedsAuthorization(!0), setQrSession(void 0), setQrImage(void 0), setQrExpired(!1), setStatus(await props.control("status"));
3410
+ await props.control("settings.logout"), setDevices([]), setSelectedHost(void 0), setConnectingHost(void 0), setWorkspaces([]), setCodexWorkspaces([]), setCursorWorkspaces([]), setAntigravityWorkspaces([]), setPiWorkspaces([]), setOpencodeWorkspaces([]), setClaudeWorkspaces([]), setDirectory(void 0), setPath(""), setPassword(""), setProgress(void 0), setNeedsAuthorization(!0), setQrSession(void 0), setQrImage(void 0), setQrExpired(!1), setStatus(await props.control("status"));
3371
3411
  } catch (reason) {
3372
3412
  setError(messageOf(reason));
3373
3413
  } finally {
@@ -3566,6 +3606,36 @@ Minimum version required to store current data is: ` + bestVersion + `.
3566
3606
  React.createElement("strong", { className: "dshRemoteLoginTitle" }, t("signInClient")),
3567
3607
  React.createElement("span", null, t("signInClientDescription"))
3568
3608
  ),
3609
+ React.createElement(
3610
+ "form",
3611
+ {
3612
+ className: "dshRemoteLoginServer",
3613
+ onSubmit: (event) => {
3614
+ event.preventDefault(), saveLoginServer();
3615
+ }
3616
+ },
3617
+ React.createElement("label", { htmlFor: "dsh-remote-login-server" }, t("serverUrl")),
3618
+ React.createElement(
3619
+ "div",
3620
+ null,
3621
+ React.createElement("input", {
3622
+ id: "dsh-remote-login-server",
3623
+ type: "url",
3624
+ required: !0,
3625
+ value: loginServerUrl,
3626
+ disabled: busy || savingServer,
3627
+ autoComplete: "url",
3628
+ placeholder: t("serverUrl"),
3629
+ onChange: (event) => {
3630
+ resetLoginFlow(), setLoginServerUrl(event.target.value);
3631
+ }
3632
+ }),
3633
+ React.createElement("button", {
3634
+ type: "submit",
3635
+ disabled: busy || savingServer || loginServerUrl.trim() === ""
3636
+ }, t(savingServer ? "saving" : "save"))
3637
+ )
3638
+ ),
3569
3639
  React.createElement(
3570
3640
  "div",
3571
3641
  { className: "dshRemoteLoginTabs", role: "tablist" },
@@ -3577,18 +3647,12 @@ Minimum version required to store current data is: ` + bestVersion + `.
3577
3647
  "aria-selected": loginMethod === "password",
3578
3648
  "aria-controls": "dsh-remote-password-panel",
3579
3649
  className: loginMethod === "password" ? "isActive" : "",
3580
- disabled: busy,
3650
+ disabled: busy || savingServer || serverDirty,
3581
3651
  onClick: () => selectLoginMethod("password")
3582
3652
  }, t("accountPasswordLogin"))
3583
3653
  ),
3584
3654
  providersLoading ? React.createElement("p", { role: "status" }, t("loadingLoginProviders")) : null,
3585
- providersFailed ? React.createElement("button", {
3586
- type: "button",
3587
- onClick: () => {
3588
- setError(void 0), setProviderReload((value) => value + 1);
3589
- }
3590
- }, t("retryLoginProviders")) : null,
3591
- !providersLoading && !providersFailed && oauthProviders.length === 0 ? React.createElement("p", { role: "status" }, t("noLoginProviders")) : null,
3655
+ !savingServer && !serverDirty && !providersLoading && !providersFailed && oauthProviders.length === 0 ? React.createElement("p", { role: "status" }, t("noLoginProviders")) : null,
3592
3656
  loginMethod !== "password" && selectedProvider !== void 0 ? React.createElement(
3593
3657
  "div",
3594
3658
  {
@@ -3644,15 +3708,6 @@ Minimum version required to store current data is: ` + bestVersion + `.
3644
3708
  id: "dsh-remote-password-panel",
3645
3709
  "aria-labelledby": "dsh-remote-password-tab"
3646
3710
  },
3647
- React.createElement("input", {
3648
- type: "url",
3649
- value: loginServerUrl,
3650
- disabled: busy,
3651
- autoComplete: "url",
3652
- placeholder: t("serverUrl"),
3653
- "aria-label": t("serverUrl"),
3654
- onChange: (event) => setLoginServerUrl(event.target.value)
3655
- }),
3656
3711
  React.createElement("input", {
3657
3712
  type: "email",
3658
3713
  value: email,
@@ -3671,7 +3726,7 @@ Minimum version required to store current data is: ` + bestVersion + `.
3671
3726
  "aria-label": t("password"),
3672
3727
  onChange: (event) => setPassword(event.target.value)
3673
3728
  }),
3674
- React.createElement("button", { type: "button", disabled: busy || loginServerUrl.trim() === "" || email.trim() === "" || password === "", onClick: () => void signInClient() }, t(busy ? "signingIn" : "startSignIn"))
3729
+ React.createElement("button", { type: "button", disabled: busy || savingServer || serverDirty || loginServerUrl.trim() === "" || email.trim() === "" || password === "", onClick: () => void signInClient() }, t(busy ? "signingIn" : "startSignIn"))
3675
3730
  )
3676
3731
  ) : null,
3677
3732
  needsAuthorization ? null : React.createElement(
@@ -31,12 +31,18 @@ export interface PluginSettingsBinding {
31
31
  }
32
32
  /** Loopback-only control plane shared by Local/Remote switching and plugin setup. */
33
33
  export declare class PluginControlRuntime {
34
- private readonly config;
34
+ private config;
35
35
  private readonly identityDirectory;
36
36
  private readonly settings;
37
- private readonly client;
38
- private readonly host;
39
- constructor(config: ResolvedConfig, identityDirectory: string, settings: PluginSettingsBinding | undefined, client: ClientModeRuntime | undefined, host: HostAuthorizationControl | undefined);
37
+ private client;
38
+ private host;
39
+ private readonly switchServer?;
40
+ private logoutFlight?;
41
+ private serverSwitchFlight?;
42
+ constructor(config: ResolvedConfig, identityDirectory: string, settings: PluginSettingsBinding | undefined, client: ClientModeRuntime | undefined, host: HostAuthorizationControl | undefined, switchServer?: ((config: ResolvedConfig) => Promise<{
43
+ client: ClientModeRuntime | undefined;
44
+ host: HostAuthorizationControl;
45
+ }>) | undefined);
40
46
  register(connection: HostConnectionHandle, webServer?: HostWebServerLike): () => Promise<void>;
41
47
  /**
42
48
  * Read the value the status event stream pushes. It resolves through the same
@@ -47,6 +53,7 @@ export declare class PluginControlRuntime {
47
53
  private handle;
48
54
  private configure;
49
55
  private setServer;
56
+ private applyServer;
50
57
  private setRole;
51
58
  private setDevelopment;
52
59
  private setCodex;
@@ -56,6 +63,7 @@ export declare class PluginControlRuntime {
56
63
  private removeAcp;
57
64
  private authorizeOwnedRole;
58
65
  private logout;
66
+ private clearAuthorization;
59
67
  private settingsView;
60
68
  private associations;
61
69
  private association;
@@ -1 +1 @@
1
- {"version":3,"file":"control-runtime.d.ts","sourceRoot":"","sources":["../src/control-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAKjF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,wBAAwB,GAAG,cAAc,CAAA;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,GAAG,IAAI,WAAW,CAAA;IAClB,iEAAiE;IACjE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxC;AAED,qFAAqF;AACrF,qBAAa,oBAAoB;IAE7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAJJ,MAAM,EAAE,cAAc,EACtB,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EAC3C,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,IAAI,EAAE,wBAAwB,GAAG,SAAS;IAG7D,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;IAU9F;;;;OAIG;YACW,YAAY;YAMZ,MAAM;YAuDN,SAAS;YA6CT,SAAS;YAcT,OAAO;YAkBP,cAAc;YAiBd,QAAQ;YAWR,SAAS;YAsBT,MAAM;YAmBN,MAAM;YAgBN,SAAS;YAUT,kBAAkB;YAsBlB,MAAM;YAkBN,YAAY;YAgBZ,YAAY;YAYZ,WAAW;IAazB,OAAO,CAAC,cAAc;CASvB"}
1
+ {"version":3,"file":"control-runtime.d.ts","sourceRoot":"","sources":["../src/control-runtime.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC/F,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAA;AAI5B,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAKjF,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3B,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACnE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,GAAG,wBAAwB,GAAG,cAAc,CAAA;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,GAAG,IAAI,WAAW,CAAA;IAClB,iEAAiE;IACjE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACxC;AAED,qFAAqF;AACrF,qBAAa,oBAAoB;IAK7B,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IAThC,OAAO,CAAC,YAAY,CAAC,CAA6B;IAClD,OAAO,CAAC,kBAAkB,CAAC,CAA6B;gBAG9C,MAAM,EAAE,cAAc,EACb,iBAAiB,EAAE,MAAM,EACzB,QAAQ,EAAE,qBAAqB,GAAG,SAAS,EACpD,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,IAAI,EAAE,wBAAwB,GAAG,SAAS,EACjC,YAAY,CAAC,GAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC;QAClE,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAA;QACrC,IAAI,EAAE,wBAAwB,CAAA;KAC/B,CAAC,aAAA;IAGJ,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,SAAS,CAAC,EAAE,iBAAiB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;IAU9F;;;;OAIG;YACW,YAAY;YAMZ,MAAM;YAyDN,SAAS;YA6CT,SAAS;YAaT,WAAW;YAwBX,OAAO;YAkBP,cAAc;YAiBd,QAAQ;YAWR,SAAS;YAsBT,MAAM;YAmBN,MAAM;YAgBN,SAAS;YAUT,kBAAkB;IAsBhC,OAAO,CAAC,MAAM;YAUA,kBAAkB;YAmBlB,YAAY;YAgBZ,YAAY;YAYZ,WAAW;IAazB,OAAO,CAAC,cAAc;CASvB"}
@@ -16,12 +16,16 @@ export class PluginControlRuntime {
16
16
  settings;
17
17
  client;
18
18
  host;
19
- constructor(config, identityDirectory, settings, client, host) {
19
+ switchServer;
20
+ logoutFlight;
21
+ serverSwitchFlight;
22
+ constructor(config, identityDirectory, settings, client, host, switchServer) {
20
23
  this.config = config;
21
24
  this.identityDirectory = identityDirectory;
22
25
  this.settings = settings;
23
26
  this.client = client;
24
27
  this.host = host;
28
+ this.switchServer = switchServer;
25
29
  }
26
30
  register(connection, webServer) {
27
31
  const statusStream = new ControlStatusStream(() => this.streamStatus());
@@ -40,6 +44,9 @@ export class PluginControlRuntime {
40
44
  }
41
45
  async handle(endpoint, payload, signal) {
42
46
  try {
47
+ // A request arriving during replacement must use the new Server runtime.
48
+ if (endpoint !== 'settings.server.set')
49
+ await this.serverSwitchFlight;
43
50
  if (endpoint === 'settings.development.set')
44
51
  return ok(await this.setDevelopment(payload));
45
52
  if (endpoint === 'settings.get')
@@ -156,6 +163,21 @@ export class PluginControlRuntime {
156
163
  };
157
164
  }
158
165
  async setServer(payload) {
166
+ if (this.serverSwitchFlight !== undefined) {
167
+ throw new ClientModeError('SERVER_SWITCH_BUSY', 'A Server switch is already in progress.');
168
+ }
169
+ const flight = this.applyServer(payload);
170
+ this.serverSwitchFlight = flight;
171
+ try {
172
+ return await flight;
173
+ }
174
+ finally {
175
+ if (this.serverSwitchFlight === flight)
176
+ this.serverSwitchFlight = undefined;
177
+ }
178
+ }
179
+ async applyServer(payload) {
180
+ await this.logoutFlight;
159
181
  if (this.settings === undefined) {
160
182
  throw new ClientModeError('SETTINGS_UNAVAILABLE', 'DSH user settings are unavailable in this profile.');
161
183
  }
@@ -166,6 +188,15 @@ export class PluginControlRuntime {
166
188
  const current = editableConfig(resolveConfig(this.settings.get()));
167
189
  const next = resolveConfig({ ...current, serverUrl: value.serverUrl });
168
190
  await this.settings.replace(editableConfig(next));
191
+ if (this.switchServer !== undefined) {
192
+ if (next.serverUrl !== this.config.serverUrl) {
193
+ const runtimes = await this.switchServer(next);
194
+ this.client = runtimes.client;
195
+ this.host = runtimes.host;
196
+ }
197
+ this.config = next;
198
+ return { ...await this.settingsView(), applies: 'live' };
199
+ }
169
200
  return this.settingsView();
170
201
  }
171
202
  async setRole(payload) {
@@ -306,20 +337,33 @@ export class PluginControlRuntime {
306
337
  : new ClientServerApi(serverUrl, new ServerCredentialStore(targetDirectory));
307
338
  await targetApi.authorizeOwnedRole(targetIdentity, sourceCredentials.accessToken, sourceCredentials.account);
308
339
  }
309
- async logout() {
310
- if (this.settings === undefined) {
311
- throw new ClientModeError('SETTINGS_UNAVAILABLE', 'DSH user settings are unavailable in this profile.');
312
- }
313
- const config = resolveConfig(this.settings.get());
340
+ logout() {
341
+ if (this.logoutFlight !== undefined)
342
+ return this.logoutFlight;
343
+ const task = this.clearAuthorization();
344
+ this.logoutFlight = task;
345
+ void task.finally(() => {
346
+ if (this.logoutFlight === task)
347
+ this.logoutFlight = undefined;
348
+ }).catch(() => undefined);
349
+ return task;
350
+ }
351
+ async clearAuthorization() {
352
+ const config = this.settings === undefined ? this.config : resolveConfig(this.settings.get());
314
353
  if (config.serverUrl !== undefined) {
315
- await Promise.all([
354
+ const runtimes = await Promise.allSettled([
316
355
  this.client?.clearClientAuthorization(),
317
356
  this.host?.clearHostAuthorization(),
318
357
  ]);
319
- await Promise.all(['host', 'client'].map(async (role) => {
358
+ const stores = await Promise.allSettled(['host', 'client'].map(async (role) => {
320
359
  const directory = serverStorageDirectory(this.identityDirectory, config.serverUrl, role);
321
360
  await new ServerCredentialStore(directory).clear();
322
361
  }));
362
+ // A failed revocation must not skip the other role or leave its local
363
+ // credential behind. Report failure only after every cleanup settles.
364
+ const failure = [...runtimes, ...stores].find(result => result.status === 'rejected');
365
+ if (failure?.status === 'rejected')
366
+ throw failure.reason;
323
367
  }
324
368
  return this.settingsView();
325
369
  }
@@ -1 +1 @@
1
- {"version":3,"file":"control-runtime.js","sourceRoot":"","sources":["../src/control-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-runtime.js","sourceRoot":"","sources":["../src/control-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAIlD,OAAO,EAAE,iBAAiB,EAA6B,MAAM,qBAAqB,CAAA;AAClF,OAAO,EACL,MAAM,EAGN,KAAK,MAAM,IAAI,WAAW,EAC1B,KAAK,WAAW,EAChB,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAA;AAKpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAGhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAWrE,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,SAAS,EAAE,iBAAiB,CAAA;QAC5B,eAAe,EAAE,iBAAiB,CAAA;QAClC,aAAa,EAAE,iBAAiB,CAAA;KACjC;CACF;AAED,eAAO,MAAM,IAAI,sBAAsB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,CAAA;AAajB;;;;GAIG;AACH,UAAU,uBAAuB;IAC/B,GAAG,IAAI,WAAW,CAAA;IAClB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC3C;AAED,UAAU,0BAA0B;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;QAC7C,IAAI,CAAC,EAAE,WAAW,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAA;KACxC,GAAG,uBAAuB,CAAA;IAC3B,QAAQ,CAAC,IAAI,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;CACnD;AAwBD,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,WAAW,GAAG,WAAW,GAAG,SAAqB,GAAG,IAAI,CAmElG;AAiRD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,0BAA0B,EACpC,YAAY,EAAE,uBAAuB,GACpC,OAAO,CAAC,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,CAsB5C;AAmCD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC1F,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAC5D,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAA;AAC9F,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACjF,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAA;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,YAAY,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AACrD,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,8BAA8B,CAAA;AACrC,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA"}