From 394a2a9ab3a34e1e35df8b486dae99d4d4394d7d Mon Sep 17 00:00:00 2001 From: sawka Date: Wed, 29 Mar 2023 12:42:53 -0700 Subject: [PATCH] updates for new webremote, fix bug in cwd computation --- src/linecomps.tsx | 9 +++------ src/main.tsx | 1 - src/types.ts | 3 +++ src/webshare-elems.tsx | 24 +++++++----------------- 4 files changed, 13 insertions(+), 24 deletions(-) diff --git a/src/linecomps.tsx b/src/linecomps.tsx index 7e562ca7c..56189a242 100644 --- a/src/linecomps.tsx +++ b/src/linecomps.tsx @@ -62,15 +62,12 @@ function replaceHomePath(path : string, homeDir : string) : string { } function getCwdStr(remote : RemoteType, state : FeStateType) : string { - if ((state == null || state.cwd == null) && remote != null) { + if (state == null || isBlank(state.cwd)) { return "~"; } - let cwd = "?"; - if (state && state.cwd) { - cwd = state.cwd; - } + let cwd = state.cwd; if (remote && remote.remotevars.home) { - cwd = replaceHomePath(cwd, remote.remotevars.cwd) + cwd = replaceHomePath(cwd, remote.remotevars.home) } return cwd; } diff --git a/src/main.tsx b/src/main.tsx index dc09315e8..7a72480d0 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -966,7 +966,6 @@ class InfoRemoteEdit extends React.Component<{}, {}> { kwargs["autoinstall"] = (this.autoInstallBool.get() ? "1" : "0"); kwargs["visual"] = "1"; kwargs["submit"] = "1"; - console.log("submit remote", (isEditing ? redit.remoteid : cname), kwargs); mobx.action(() => { if (isEditing) { GlobalCommandRunner.editRemote(redit.remoteid, kwargs); diff --git a/src/types.ts b/src/types.ts index caa457597..bd50f7eba 100644 --- a/src/types.ts +++ b/src/types.ts @@ -506,9 +506,12 @@ type WebLine = { }; type WebRemote = { + remoteid : string, alias : string, canonicalname : string, name : string, + homedir : string, + isroot : boolean, }; type WebCmd = { diff --git a/src/webshare-elems.tsx b/src/webshare-elems.tsx index ac6a871c8..7962a9a18 100644 --- a/src/webshare-elems.tsx +++ b/src/webshare-elems.tsx @@ -43,18 +43,13 @@ function replaceHomePath(path : string, homeDir : string) : string { return path; } -function getCwdStr(state : T.FeStateType) : string { - let remote = null; - if ((state == null || state.cwd == null) && remote != null) { +function getCwdStr(remote : T.WebRemote, state : T.FeStateType) : string { + if (state == null || isBlank(state.cwd)) { return "~"; } - let cwd = "?"; - if (state && state.cwd) { - cwd = state.cwd; - } - // TODO fix - if (remote && remote.remotevars.home) { - cwd = replaceHomePath(cwd, remote.remotevars.cwd) + let cwd = state.cwd; + if (remote && remote.homedir) { + cwd = replaceHomePath(cwd, remote.homedir) } return cwd; } @@ -73,13 +68,8 @@ class Prompt extends React.Component<{remote : T.WebRemote, festate : T.FeStateT render() { let {remote, festate} = this.props; let remoteStr = getRemoteStr(remote); - let cwd = getCwdStr(festate); - let isRoot = false; - // if (remote && remote.remotevars) { - // if (remote.remotevars["sudo"] || remote.remotevars["bestuser"] == "root") { - // isRoot = true; - // } - // } + let cwd = getCwdStr(remote, festate); + let isRoot = !!remote.isroot; let remoteColorClass = (isRoot ? "color-red" : "color-green"); // if (remote && remote.remoteopts && remote.remoteopts.color) { // remoteColorClass = "color-" + remote.remoteopts.color;