diff --git a/apps/desktop/src/app/page.tsx b/apps/desktop/src/app/page.tsx index f553af1..dda8de6 100644 --- a/apps/desktop/src/app/page.tsx +++ b/apps/desktop/src/app/page.tsx @@ -346,6 +346,7 @@ export default function Workspace() { state={left} saved={saved} sshConfig={sshConfig} + onRefreshHosts={refreshConnections} active={active === 'left'} onFocus={() => setActive('left')} onChange={(patch) => setLeft((current) => ({ ...current, ...patch }))} @@ -371,6 +372,7 @@ export default function Workspace() { state={right} saved={saved} sshConfig={sshConfig} + onRefreshHosts={refreshConnections} active={active === 'right'} onFocus={() => setActive('right')} onChange={(patch) => setRight((current) => ({ ...current, ...patch }))} diff --git a/apps/desktop/src/components/endpoint-select.tsx b/apps/desktop/src/components/endpoint-select.tsx index 81bae0c..0c5a6f1 100644 --- a/apps/desktop/src/components/endpoint-select.tsx +++ b/apps/desktop/src/components/endpoint-select.tsx @@ -37,12 +37,15 @@ export function EndpointSelect({ sshConfig, onChange, onAddServer, + onOpen, }: { value: PaneEndpoint saved: readonly Connection[] sshConfig: readonly Connection[] onChange: (endpoint: PaneEndpoint) => void onAddServer: () => void + /** Re-reads the host lists, so an edited ~/.ssh/config shows without a restart. */ + onOpen?: () => void }) { const current = value.kind === 'local' ? LOCAL : value.connectionId const selectedLabel = @@ -53,6 +56,12 @@ export function EndpointSelect({ return (