fix: restore sudo password autofill settings (#1056)

This commit is contained in:
ZacharyZcR
2026-07-16 11:52:04 +08:00
committed by GitHub
parent 287b0fa656
commit b2328ce2f7
3 changed files with 37 additions and 1 deletions
+22
View File
@@ -755,6 +755,28 @@ export function HostEditor({
onChange={(v) => setField("allowLegacyAlgorithms", v)} onChange={(v) => setField("allowLegacyAlgorithms", v)}
/> />
</SettingRow> </SettingRow>
<SettingRow
label={t("hosts.sudoPasswordAutoFillLabel")}
description={t("hosts.sudoPasswordAutoFillDesc")}
>
<FakeSwitch
checked={form.sudoPasswordAutoFill}
onChange={(v) => setField("sudoPasswordAutoFill", v)}
/>
</SettingRow>
{form.sudoPasswordAutoFill && (
<div className="flex flex-col gap-1.5">
<label className="text-[10px] font-bold uppercase tracking-widest text-muted-foreground">
{t("hosts.sudoPasswordLabel")}
</label>
<PasswordInput
className="h-8 text-xs pr-8"
placeholder="••••••••"
value={form.sudoPassword}
onChange={(e) => setField("sudoPassword", e.target.value)}
/>
</div>
)}
</div> </div>
</SectionCard> </SectionCard>
</> </>
+14
View File
@@ -120,4 +120,18 @@ describe("buildHostEditorPayload auth field isolation", () => {
expect(tc?.agentSocketPath).toBeNull(); expect(tc?.agentSocketPath).toBeNull();
}); });
it("preserves sudo password autofill settings", () => {
const form = {
...createHostEditorForm(null),
sudoPasswordAutoFill: true,
sudoPassword: "sudo-secret",
};
const payload = buildHostEditorPayload(form, sshOnly);
const tc = payload.terminalConfig as Record<string, unknown> | null;
expect(tc?.sudoPasswordAutoFill).toBe(true);
expect(tc?.sudoPassword).toBe("sudo-secret");
});
}); });
+1 -1
View File
@@ -407,7 +407,7 @@ export function buildHostEditorPayload(
agentForwarding: form.agentForwarding, agentForwarding: form.agentForwarding,
autoMosh: form.autoMosh, autoMosh: form.autoMosh,
autoTmux: form.autoTmux, autoTmux: form.autoTmux,
sudoPasswordAutoFill: false, sudoPasswordAutoFill: form.sudoPasswordAutoFill,
sudoPassword: form.sudoPassword || null, sudoPassword: form.sudoPassword || null,
keepaliveInterval: Number(form.keepaliveInterval), keepaliveInterval: Number(form.keepaliveInterval),
keepaliveCountMax: Number(form.keepaliveCountMax), keepaliveCountMax: Number(form.keepaliveCountMax),