@lemoncat7/dsh-ssh 1.14.2 → 1.16.20
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/README.md +10 -3
- package/docs/releases/1.15.0.md +16 -0
- package/docs/releases/1.16.0.md +19 -0
- package/docs/releases/1.16.1.md +7 -0
- package/docs/releases/1.16.10.md +8 -0
- package/docs/releases/1.16.11.md +5 -0
- package/docs/releases/1.16.12.md +9 -0
- package/docs/releases/1.16.13.md +7 -0
- package/docs/releases/1.16.14.md +7 -0
- package/docs/releases/1.16.15.md +5 -0
- package/docs/releases/1.16.16.md +5 -0
- package/docs/releases/1.16.17.md +5 -0
- package/docs/releases/1.16.18.md +5 -0
- package/docs/releases/1.16.19.md +21 -0
- package/docs/releases/1.16.2.md +7 -0
- package/docs/releases/1.16.20.md +7 -0
- package/docs/releases/1.16.3.md +11 -0
- package/docs/releases/1.16.4.md +10 -0
- package/docs/releases/1.16.5.md +9 -0
- package/docs/releases/1.16.6.md +7 -0
- package/docs/releases/1.16.7.md +7 -0
- package/docs/releases/1.16.8.md +19 -0
- package/docs/releases/1.16.9.md +7 -0
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +29 -1
- package/lib/api.js.map +1 -1
- package/lib/client-api.d.ts +1 -0
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +381 -140
- package/lib/client.js.map +4 -4
- package/lib/commands-panel.js +1 -1
- package/lib/commands-panel.js.map +1 -1
- package/lib/domain.d.ts +3 -0
- package/lib/domain.d.ts.map +1 -1
- package/lib/domain.js +2 -0
- package/lib/domain.js.map +1 -1
- package/lib/file-transfer-workspace.d.ts.map +1 -1
- package/lib/file-transfer-workspace.js +4 -4
- package/lib/file-transfer-workspace.js.map +1 -1
- package/lib/host-action-menu.d.ts +10 -0
- package/lib/host-action-menu.d.ts.map +1 -0
- package/lib/host-action-menu.js +32 -0
- package/lib/host-action-menu.js.map +1 -0
- package/lib/host-select.d.ts +9 -0
- package/lib/host-select.d.ts.map +1 -0
- package/lib/host-select.js +92 -0
- package/lib/host-select.js.map +1 -0
- package/lib/locales/messages.d.ts +256 -0
- package/lib/locales/messages.d.ts.map +1 -1
- package/lib/locales/messages.js +64 -0
- package/lib/locales/messages.js.map +1 -1
- package/lib/profile-editor.d.ts.map +1 -1
- package/lib/profile-editor.js +4 -1
- package/lib/profile-editor.js.map +1 -1
- package/lib/remote-workspace-tree.d.ts +4 -0
- package/lib/remote-workspace-tree.d.ts.map +1 -1
- package/lib/remote-workspace-tree.js +97 -34
- package/lib/remote-workspace-tree.js.map +1 -1
- package/lib/settings-pane.js +1 -1
- package/lib/settings-pane.js.map +1 -1
- package/lib/sftp-client.d.ts +3 -1
- package/lib/sftp-client.d.ts.map +1 -1
- package/lib/sftp-client.js +11 -10
- package/lib/sftp-client.js.map +1 -1
- package/lib/sftp-path-mapping.d.ts +9 -0
- package/lib/sftp-path-mapping.d.ts.map +1 -0
- package/lib/sftp-path-mapping.js +36 -0
- package/lib/sftp-path-mapping.js.map +1 -0
- package/lib/sftp.js +1 -1
- package/lib/sftp.js.map +1 -1
- package/lib/split-icon.d.ts +4 -0
- package/lib/split-icon.d.ts.map +1 -0
- package/lib/split-icon.js +5 -0
- package/lib/split-icon.js.map +1 -0
- package/lib/sync-panel.js +1 -1
- package/lib/sync-panel.js.map +1 -1
- package/lib/terminal-bootstrap-echo.d.ts +1 -1
- package/lib/terminal-bootstrap-echo.d.ts.map +1 -1
- package/lib/terminal-bootstrap-echo.js +57 -19
- package/lib/terminal-bootstrap-echo.js.map +1 -1
- package/lib/terminal-desk-state.d.ts +71 -0
- package/lib/terminal-desk-state.d.ts.map +1 -0
- package/lib/terminal-desk-state.js +205 -0
- package/lib/terminal-desk-state.js.map +1 -0
- package/lib/terminal-desk.d.ts +16 -0
- package/lib/terminal-desk.d.ts.map +1 -0
- package/lib/terminal-desk.js +197 -0
- package/lib/terminal-desk.js.map +1 -0
- package/lib/terminal-session.d.ts +5 -1
- package/lib/terminal-session.d.ts.map +1 -1
- package/lib/terminal-session.js +52 -18
- package/lib/terminal-session.js.map +1 -1
- package/lib/terminal-transport.d.ts.map +1 -1
- package/lib/terminal-transport.js +7 -4
- package/lib/terminal-transport.js.map +1 -1
- package/lib/terminal-workspace-state.d.ts +45 -0
- package/lib/terminal-workspace-state.d.ts.map +1 -0
- package/lib/terminal-workspace-state.js +110 -0
- package/lib/terminal-workspace-state.js.map +1 -0
- package/lib/terminal-workspace.d.ts +2 -1
- package/lib/terminal-workspace.d.ts.map +1 -1
- package/lib/terminal-workspace.js +43 -19
- package/lib/terminal-workspace.js.map +1 -1
- package/lib/terminal.d.ts +10 -3
- package/lib/terminal.d.ts.map +1 -1
- package/lib/terminal.js +33 -4
- package/lib/terminal.js.map +1 -1
- package/lib/vault-password-dialog.d.ts +7 -0
- package/lib/vault-password-dialog.d.ts.map +1 -0
- package/lib/vault-password-dialog.js +80 -0
- package/lib/vault-password-dialog.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useSshLocale } from './use-ssh-locale.js';
|
|
3
3
|
import { t } from './i18n.js';
|
|
4
|
-
import { useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
5
5
|
import { IconChevronDownOutlineRegular as IconChevronDownOutline14, IconChevronRightOutlineRegular as IconChevronRightOutline14, IconEditOutlineRegular as IconEditOutline16, IconFolderCloseRegular as IconFolderClose16, IconEllipsisOutlineRegular as IconEllipsisOutline16, IconFolderOpenOutlineRegular as IconFolderOpenOutline16, IconPlusOutlineRegular as IconPlusOutline16, IconTrashOutlineRegular as IconTrashOutline16, } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
6
6
|
import { createRemoteProject, deleteRemoteProject, loadRemoteProjects, updateRemoteProject, } from './client-api.js';
|
|
7
7
|
import { ProjectSessionDialog } from './project-session-dialog.js';
|
|
@@ -10,12 +10,28 @@ import { useBorderGlowSurface } from './border-glow.js';
|
|
|
10
10
|
import { Dialog } from './ui-components.js';
|
|
11
11
|
import { useConfirmationDialog } from './confirmation-dialog.js';
|
|
12
12
|
import { mountedProjects } from './project-mounts.js';
|
|
13
|
+
import { HostActionMenu, TerminalActionIcon } from './host-action-menu.js';
|
|
13
14
|
import { SessionDefaults } from './session-defaults-ui.js';
|
|
14
15
|
const HOST_DRAG_TYPE = 'application/x-dsh-ssh-profile';
|
|
15
16
|
export function RemoteWorkspaceTree(props) {
|
|
16
17
|
useSshLocale();
|
|
17
18
|
const panelGlow = useBorderGlowSurface();
|
|
18
19
|
const [query, setQuery] = useState('');
|
|
20
|
+
const [display, setDisplay] = useState(() => { try {
|
|
21
|
+
return localStorage.getItem('dsh-ssh:catalogue-view') === 'list' ? 'list' : 'cards';
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return 'cards';
|
|
25
|
+
} });
|
|
26
|
+
const chooseDisplay = (value) => { setDisplay(value); try {
|
|
27
|
+
localStorage.setItem('dsh-ssh:catalogue-view', value);
|
|
28
|
+
}
|
|
29
|
+
catch { } };
|
|
30
|
+
const [accessOpen, setAccessOpen] = useState(false);
|
|
31
|
+
const groupChoices = useRef(new Set());
|
|
32
|
+
const hostClick = useRef();
|
|
33
|
+
const menuAnchor = useRef(null);
|
|
34
|
+
const [collapsedHosts, setCollapsedHosts] = useState(() => new Set());
|
|
19
35
|
const [expandedGroups, setExpandedGroups] = useState(() => new Set());
|
|
20
36
|
const [expanded, setExpanded] = useState(() => new Set());
|
|
21
37
|
const [projects, setProjects] = useState({});
|
|
@@ -24,24 +40,26 @@ export function RemoteWorkspaceTree(props) {
|
|
|
24
40
|
const [creatingSession, setCreatingSession] = useState();
|
|
25
41
|
const [createMenuOpen, setCreateMenuOpen] = useState(false);
|
|
26
42
|
const [hostMenu, setHostMenu] = useState();
|
|
43
|
+
const [projectMenu, setProjectMenu] = useState();
|
|
27
44
|
const [draggedProfileId, setDraggedProfileId] = useState();
|
|
28
45
|
const [dropGroup, setDropGroup] = useState(null);
|
|
29
46
|
const [movingProfileId, setMovingProfileId] = useState();
|
|
30
47
|
const [error, setError] = useState();
|
|
31
48
|
const normalized = query.trim().toLocaleLowerCase();
|
|
32
|
-
const groups = useMemo(() => groupProfiles(props.profiles, props.groupConfigs, normalized), [normalized, props.groupConfigs, props.profiles]);
|
|
49
|
+
const groups = useMemo(() => groupProfiles(props.profiles, props.groupConfigs, normalized, projects), [normalized, props.groupConfigs, props.profiles, projects]);
|
|
33
50
|
const mountedGroups = JSON.stringify([...new Set(props.profiles.filter(profile => props.access?.profileIds.includes(profile.id)).map(profile => profile.group?.trim() || ''))].sort());
|
|
34
51
|
useEffect(() => {
|
|
35
52
|
const names = JSON.parse(mountedGroups);
|
|
36
53
|
if (names.length)
|
|
37
|
-
setExpandedGroups(current => new Set([...current, ...names]));
|
|
38
|
-
}, [mountedGroups]);
|
|
54
|
+
setExpandedGroups(current => new Set([...current, ...names.filter(name => !groupChoices.current.has(name))]));
|
|
55
|
+
}, [mountedGroups, props.catalogue]);
|
|
39
56
|
useEffect(() => {
|
|
40
57
|
const closeMenus = (event) => {
|
|
41
58
|
if (event.target instanceof Element && event.target.closest('.dsh-ssh-tree-menu-wrap'))
|
|
42
59
|
return;
|
|
43
60
|
setCreateMenuOpen(false);
|
|
44
61
|
setHostMenu(undefined);
|
|
62
|
+
setProjectMenu(undefined);
|
|
45
63
|
};
|
|
46
64
|
const closeOnEscape = (event) => {
|
|
47
65
|
if (event.key !== 'Escape')
|
|
@@ -49,6 +67,7 @@ export function RemoteWorkspaceTree(props) {
|
|
|
49
67
|
const trigger = document.querySelector('.dsh-ssh-tree-menu')?.previousElementSibling;
|
|
50
68
|
setCreateMenuOpen(false);
|
|
51
69
|
setHostMenu(undefined);
|
|
70
|
+
setProjectMenu(undefined);
|
|
52
71
|
if (trigger instanceof HTMLButtonElement)
|
|
53
72
|
window.requestAnimationFrame(() => trigger.focus());
|
|
54
73
|
};
|
|
@@ -70,8 +89,34 @@ export function RemoteWorkspaceTree(props) {
|
|
|
70
89
|
setLoadingProfile(current => current === profileId ? undefined : current);
|
|
71
90
|
}
|
|
72
91
|
};
|
|
73
|
-
|
|
74
|
-
|
|
92
|
+
useEffect(() => {
|
|
93
|
+
if (!props.catalogue)
|
|
94
|
+
return;
|
|
95
|
+
let live = true;
|
|
96
|
+
void Promise.allSettled(props.profiles.map(async (profile) => ({ id: profile.id, projects: await loadRemoteProjects(profile.id) }))).then(results => {
|
|
97
|
+
if (!live)
|
|
98
|
+
return;
|
|
99
|
+
setProjects(current => { const next = { ...current }; for (const result of results)
|
|
100
|
+
if (result.status === 'fulfilled')
|
|
101
|
+
next[result.value.id] = result.value.projects; return next; });
|
|
102
|
+
const failed = results.find(result => result.status === 'rejected');
|
|
103
|
+
if (failed?.status === 'rejected')
|
|
104
|
+
setError(message(failed.reason));
|
|
105
|
+
});
|
|
106
|
+
return () => { live = false; };
|
|
107
|
+
}, [props.catalogue, props.profiles]);
|
|
108
|
+
const selectProfile = (profileId, open) => {
|
|
109
|
+
setHostMenu(undefined);
|
|
110
|
+
setProjectMenu(undefined);
|
|
111
|
+
hostClick.current = { id: profileId, expanded: open };
|
|
112
|
+
setExpanded(current => { const next = new Set(current); if (open)
|
|
113
|
+
next.delete(profileId);
|
|
114
|
+
else
|
|
115
|
+
next.add(profileId); return next; });
|
|
116
|
+
setCollapsedHosts(current => { const next = new Set(current); if (open)
|
|
117
|
+
next.add(profileId);
|
|
118
|
+
else
|
|
119
|
+
next.delete(profileId); return next; });
|
|
75
120
|
if (projects[profileId] === undefined)
|
|
76
121
|
void refreshProjects(profileId);
|
|
77
122
|
props.onSelect({ profileId, path: '~' });
|
|
@@ -84,6 +129,7 @@ export function RemoteWorkspaceTree(props) {
|
|
|
84
129
|
props.onDirectory(profileId, undefined);
|
|
85
130
|
};
|
|
86
131
|
const toggleGroup = (name) => setExpandedGroups(current => {
|
|
132
|
+
groupChoices.current.add(name);
|
|
87
133
|
const next = new Set(current);
|
|
88
134
|
if (next.has(name))
|
|
89
135
|
next.delete(name);
|
|
@@ -108,37 +154,54 @@ export function RemoteWorkspaceTree(props) {
|
|
|
108
154
|
setDropGroup(null);
|
|
109
155
|
}
|
|
110
156
|
};
|
|
111
|
-
return _jsxs("aside", { ref: panelGlow.ref, onPointerMove: panelGlow.onPointerMove, onPointerLeave: panelGlow.onPointerLeave, className:
|
|
112
|
-
const collapsed = !expandedGroups.has(group.name);
|
|
157
|
+
return _jsxs("aside", { ref: panelGlow.ref, onPointerMove: panelGlow.onPointerMove, onPointerLeave: panelGlow.onPointerLeave, className: `dsh-ssh-remote-tree dsh-ssh-border-surface${props.catalogue ? ` dsh-ssh-host-catalogue is-${display}` : ''}`, children: [props.catalogue ? _jsxs(_Fragment, { children: [_jsxs("div", { className: "dsh-ssh-catalogue-tools", children: [_jsxs("label", { className: "dsh-ssh-search", children: [_jsx("span", { className: "sr-only", children: t('remote-workspace-tree.searchHosts') }), _jsx("input", { value: query, onChange: event => setQuery(event.target.value), placeholder: t('desk.searchCatalogue') })] }), _jsxs("div", { className: "dsh-ssh-catalogue-actions", children: [_jsxs("button", { type: "button", className: "dsh-ssh-secondary-button", "aria-haspopup": "dialog", onClick: () => setAccessOpen(true), children: [t('remote-workspace-tree.currentSessionPermissions'), props.accessSaving ? ` · ${t('remote-workspace-tree.saving')}` : props.accessError ? ' !' : ''] }), _jsx("button", { type: "button", "aria-pressed": display === 'list', onClick: () => chooseDisplay('list'), children: t('desk.list') }), _jsx("button", { type: "button", "aria-pressed": display === 'cards', onClick: () => chooseDisplay('cards'), children: t('desk.cards') }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: props.onNewGroup, children: t('remote-workspace-tree.addGroup') }), _jsx("button", { type: "button", className: "dsh-ssh-primary-button", onClick: props.onNewProfile, children: t('remote-workspace-tree.addHost') })] })] }), _jsx("p", { className: "dsh-ssh-catalogue-purpose", children: t('desk.mountPurpose') }), (error || props.accessError) && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error || props.accessError })] }) : _jsxs(_Fragment, { children: [_jsxs("header", { className: "dsh-ssh-tree-header", children: [_jsxs("span", { children: [_jsx("strong", { children: t("remote-workspace-tree.hostsProjects") }), _jsxs("small", { children: [props.profiles.length, " ", t("remote-workspace-tree.hosts")] })] }), _jsxs("div", { className: "dsh-ssh-tree-menu-wrap", children: [_jsx("button", { type: "button", className: "dsh-ssh-icon-button", "aria-haspopup": "menu", "aria-expanded": createMenuOpen, onClick: () => { setCreateMenuOpen(value => !value); setHostMenu(undefined); }, "aria-label": t("remote-workspace-tree.addHostOrGroup"), title: t("remote-workspace-tree.addHostOrGroup"), children: _jsx(IconPlusOutline16, { size: 16 }) }), createMenuOpen && _jsxs("div", { className: "dsh-ssh-tree-menu is-header", role: "menu", "aria-label": t("remote-workspace-tree.addHostOrGroup"), onKeyDown: navigateMenu, children: [_jsxs("button", { type: "button", role: "menuitem", autoFocus: true, onClick: () => { setCreateMenuOpen(false); props.onNewProfile(); }, children: [_jsx(IconPlusOutline16, { size: 14 }), t("remote-workspace-tree.addHost")] }), _jsxs("button", { type: "button", role: "menuitem", onClick: () => { setCreateMenuOpen(false); props.onNewGroup(); }, children: [_jsx(IconFolderClose16, { size: 14 }), t("remote-workspace-tree.addGroup")] })] })] })] }), _jsxs("label", { className: "dsh-ssh-search", children: [_jsx("span", { className: "sr-only", children: t("remote-workspace-tree.searchHosts") }), _jsx("input", { value: query, onChange: event => setQuery(event.target.value), placeholder: t("remote-workspace-tree.searchHostsGroupsTags") })] })] }), _jsxs("div", { className: "dsh-ssh-tree-scroll dsh-ssh-scroll-surface", children: [groups.map(group => {
|
|
158
|
+
const collapsed = !expandedGroups.has(group.name) && !normalized;
|
|
113
159
|
const draggedProfile = props.profiles.find(profile => profile.id === draggedProfileId);
|
|
114
160
|
const acceptsDrop = draggedProfile !== undefined && (draggedProfile.group?.trim() || '') !== group.name;
|
|
115
161
|
return _jsxs("section", { className: `dsh-ssh-tree-group${dropGroup === group.name && acceptsDrop ? ' is-drop-target' : ''}`, "data-collapsed": collapsed, onDragOver: event => { if (!acceptsDrop || !event.dataTransfer.types.includes(HOST_DRAG_TYPE))
|
|
116
162
|
return; event.preventDefault(); event.dataTransfer.dropEffect = 'move'; setDropGroup(group.name); }, onDragLeave: event => { if (!event.currentTarget.contains(event.relatedTarget))
|
|
117
163
|
setDropGroup(current => current === group.name ? null : current); }, onDrop: event => { if (!acceptsDrop || draggedProfile === undefined)
|
|
118
|
-
return; event.preventDefault(); void moveProfile(draggedProfile, group.name); }, children: [_jsxs("h3", { children: [_jsxs("button", { type: "button", "aria-expanded": !collapsed, onClick: () => toggleGroup(group.name), children: [collapsed ? _jsx(IconChevronRightOutline14, { size: 14 }) : _jsx(IconChevronDownOutline14, { size: 14 }), _jsx("span", { children: group.name || t("remote-workspace-tree.ungrouped") }), _jsx("small", { children: group.profiles.length })] }), group.name && props.onGroupProxy && _jsx("button", { type: "button", className: "dsh-ssh-group-proxy-button", "aria-label": t('group-proxy.editTitle', [group.name]), title: t('group-proxy.editTitle', [group.name]), onClick: () => props.onGroupProxy?.(group.name), children: _jsx(IconEditOutline16, { size: 14 }) })] }), !collapsed && group.profiles.map(profile => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
164
|
+
return; event.preventDefault(); void moveProfile(draggedProfile, group.name); }, children: [_jsxs("h3", { children: [_jsxs("button", { type: "button", "aria-expanded": !collapsed, onClick: () => toggleGroup(group.name), children: [collapsed ? _jsx(IconChevronRightOutline14, { size: 14 }) : _jsx(IconChevronDownOutline14, { size: 14 }), _jsx("span", { children: group.name || t("remote-workspace-tree.ungrouped") }), _jsx("small", { children: group.profiles.length })] }), group.name && props.onGroupProxy && _jsx("button", { type: "button", className: "dsh-ssh-group-proxy-button", "aria-label": t('group-proxy.editTitle', [group.name]), title: t('group-proxy.editTitle', [group.name]), onClick: () => props.onGroupProxy?.(group.name), children: _jsx(IconEditOutline16, { size: 14 }) })] }), !collapsed && _jsx("div", { className: "dsh-ssh-catalogue-group-items", children: group.profiles.map(profile => {
|
|
165
|
+
const open = !collapsedHosts.has(profile.id) && (expanded.has(profile.id) || (!!query.trim() && (projects[profile.id] ?? []).some(project => `${project.name} ${project.path}`.toLocaleLowerCase().includes(query.trim().toLocaleLowerCase()))));
|
|
166
|
+
const enabled = props.access?.profileIds.includes(profile.id) === true;
|
|
167
|
+
const children = projects[profile.id] ?? [];
|
|
168
|
+
const active = props.selected?.profileId === profile.id && props.selected.projectId === undefined;
|
|
169
|
+
return _jsxs("div", { className: "dsh-ssh-tree-host", "data-open": open, children: [_jsxs("div", { "data-ssh-interactive": "row", "data-ssh-context-row": true, draggable: movingProfileId !== profile.id, className: `dsh-ssh-tree-host-row${enabled ? ' is-authorized' : ''}${active ? ' is-active' : ''}${hostMenu === profile.id ? ' is-menu-open' : ''}${movingProfileId === profile.id ? ' is-moving' : ''}`, onDragStart: event => { setDraggedProfileId(profile.id); setHostMenu(undefined); event.dataTransfer.effectAllowed = 'move'; event.dataTransfer.setData(HOST_DRAG_TYPE, profile.id); }, onDragEnd: () => { setDraggedProfileId(undefined); setDropGroup(null); }, children: [_jsxs("button", { type: "button", className: "dsh-ssh-tree-host-main", "aria-pressed": active, "aria-expanded": open, "aria-label": `${profile.name} ${profile.username}@${profile.host}`, title: `${profile.name} · ${profile.username}@${profile.host}\n${t('desk.hostClickHint')}`, onClick: event => { if (event.detail <= 1)
|
|
170
|
+
selectProfile(profile.id, open); }, onDoubleClick: () => {
|
|
171
|
+
// The first click toggles immediately; a double-click restores that
|
|
172
|
+
// disclosure state and opens exactly one terminal.
|
|
173
|
+
const before = hostClick.current;
|
|
174
|
+
if (before?.id === profile.id) {
|
|
175
|
+
setExpanded(current => { const next = new Set(current); if (before.expanded)
|
|
176
|
+
next.add(profile.id);
|
|
177
|
+
else
|
|
178
|
+
next.delete(profile.id); return next; });
|
|
179
|
+
setCollapsedHosts(current => { const next = new Set(current); if (before.expanded)
|
|
180
|
+
next.delete(profile.id);
|
|
181
|
+
else
|
|
182
|
+
next.add(profile.id); return next; });
|
|
183
|
+
}
|
|
184
|
+
props.onOpen?.({ profileId: profile.id, path: '~' });
|
|
185
|
+
}, onKeyDown: event => { if (event.key === 'Enter' && props.onOpen) {
|
|
186
|
+
event.preventDefault();
|
|
187
|
+
props.onOpen({ profileId: profile.id, path: '~' });
|
|
188
|
+
} }, children: [_jsx("span", { className: "dsh-ssh-host-monogram", "aria-hidden": "true", children: profile.name.slice(0, 1).toUpperCase() }), _jsxs("span", { className: "dsh-ssh-host-copy", children: [_jsx("strong", { children: profile.name }), _jsxs("small", { className: "dsh-ssh-host-address", children: [profile.username, "@", profile.host] }), props.catalogue && _jsx("small", { className: "dsh-ssh-host-hover-hint", children: t('desk.hostClickHint') })] })] }), _jsx("button", { type: "button", "data-ssh-interactive": "choice", className: `dsh-ssh-tree-mount dsh-ssh-context-action${enabled ? ' is-mounted' : ''}`, "aria-label": `${enabled ? t("remote-workspace-tree.unmount") : t("remote-workspace-tree.mount")} ${profile.name}`, "aria-pressed": enabled, title: props.access === null ? t("remote-workspace-tree.openADshSessionBeforeMountingHosts") : enabled ? t("remote-workspace-tree.unmountFromCurrentSession") : t("remote-workspace-tree.mountToCurrentSession"), disabled: props.access === null || props.accessLoading || props.accessSaving, onClick: () => toggleProfile(profile.id), children: enabled ? t("remote-workspace-tree.unmount") : t("remote-workspace-tree.mount") }), _jsxs("div", { className: "dsh-ssh-tree-menu-wrap is-host dsh-ssh-context-action", children: [_jsx("button", { type: "button", draggable: false, className: "dsh-ssh-tree-more", "aria-haspopup": "menu", "aria-expanded": hostMenu === profile.id, "aria-label": t("remote-workspace-tree.hostMenuFor", [profile.name]), title: t("remote-workspace-tree.moreHostActions"), onClick: event => { menuAnchor.current = event.currentTarget; setProjectMenu(undefined); setHostMenu(current => current === profile.id ? undefined : profile.id); setCreateMenuOpen(false); }, children: _jsx(IconEllipsisOutline16, { size: 15 }) }), hostMenu === profile.id && _jsxs(HostActionMenu, { anchor: menuAnchor.current, label: t("remote-workspace-tree.hostMenuFor", [profile.name]), onKeyDown: navigateMenu, children: [props.onOpen && _jsxs("button", { type: "button", role: "menuitem", onClick: () => { setHostMenu(undefined); props.onOpen?.({ profileId: profile.id, path: '~' }); }, children: [_jsx(TerminalActionIcon, {}), t('desk.openTerminal')] }), _jsxs("button", { type: "button", role: "menuitem", autoFocus: true, onClick: () => { setHostMenu(undefined); props.onEditProfile(profile); }, children: [_jsx(IconEditOutline16, { size: 14 }), t("client.editHost")] }), props.onDeleteProfile && _jsxs("button", { type: "button", role: "menuitem", onClick: () => { setHostMenu(undefined); props.onDeleteProfile?.(profile); }, children: [_jsx(IconTrashOutline16, { size: 14 }), t('client.deleteHost2')] }), _jsxs("button", { type: "button", role: "menuitem", onClick: () => { setHostMenu(undefined); setEditing({ profile }); }, children: [_jsx(IconPlusOutline16, { size: 14 }), t("remote-workspace-tree.addPinnedDirectory")] })] })] })] }), open && _jsx("div", { className: "dsh-ssh-tree-branches", children: loadingProfile === profile.id && projects[profile.id] === undefined ? _jsx("p", { className: "dsh-ssh-tree-state", children: t("remote-workspace-tree.readingPinnedDirectories") })
|
|
189
|
+
: children.length === 0 ? _jsxs("button", { type: "button", className: "dsh-ssh-tree-empty", onClick: () => setEditing({ profile }), children: [_jsx(IconPlusOutline16, { size: 13 }), t("remote-workspace-tree.addPinnedDirectory")] })
|
|
190
|
+
: children.map(project => {
|
|
191
|
+
const projectActive = props.selected?.projectId === project.id;
|
|
192
|
+
const bound = props.access !== null && mountedProjects(props.access, profile.id).includes(project.id);
|
|
193
|
+
const isDefault = props.access?.workingProjectIds[profile.id] === project.id;
|
|
194
|
+
return _jsx("div", { className: "dsh-ssh-tree-project", children: _jsxs("div", { "data-ssh-interactive": "row", "data-ssh-context-row": true, className: `dsh-ssh-tree-project-row${projectActive ? ' is-active' : ''}${bound ? ' is-bound' : ''}${projectMenu === project.id ? ' is-menu-open' : ''}`, children: [_jsxs("button", { type: "button", className: "dsh-ssh-tree-project-main", "aria-pressed": projectActive, title: `${project.name} · ${project.path}\n${t('desk.openProjectHint')}${bound ? ` · ${isDefault ? t('remote-workspace-tree.mountedDefaultWorkingDirectory') : t('client.mounted')}` : ''}`, onClick: () => props.onSelect({ profileId: profile.id, path: project.path, projectId: project.id, label: project.name }), onDoubleClick: () => props.onOpen?.({ profileId: profile.id, path: project.path, projectId: project.id, label: project.name }), onKeyDown: event => { if (event.key === 'Enter' && props.onOpen) {
|
|
195
|
+
event.preventDefault();
|
|
196
|
+
props.onOpen({ profileId: profile.id, path: project.path, projectId: project.id, label: project.name });
|
|
197
|
+
} }, children: [_jsx("span", { children: bound ? _jsx(IconFolderOpenOutline16, { size: 15 }) : _jsx(IconFolderClose16, { size: 15 }) }), _jsxs("span", { children: [_jsx("strong", { children: project.name }), _jsx("small", { children: project.path })] })] }), _jsxs("div", { className: "dsh-ssh-tree-project-actions dsh-ssh-context-action", children: [_jsx("button", { type: "button", className: "dsh-ssh-tree-mount", "aria-pressed": bound, "aria-label": `${bound ? t('remote-workspace-tree.unmount') : t('remote-workspace-tree.mount')} ${project.name}`, disabled: !enabled || props.accessLoading || props.accessSaving, title: !enabled ? t('remote-workspace-tree.mountThisHostFirst') : t('desk.manualHint'), onClick: () => props.onToggleProject(profile.id, project.id, project.path), children: bound ? t('remote-workspace-tree.unmount') : t('remote-workspace-tree.mount') }), _jsxs("div", { className: "dsh-ssh-tree-menu-wrap is-project", children: [_jsx("button", { type: "button", className: "dsh-ssh-tree-more", "aria-haspopup": "menu", "aria-expanded": projectMenu === project.id, "aria-label": t('desk.projectActions', [project.name]), onClick: event => { menuAnchor.current = event.currentTarget; setHostMenu(undefined); setProjectMenu(current => current === project.id ? undefined : project.id); }, children: _jsx(IconEllipsisOutline16, { size: 15 }) }), projectMenu === project.id && _jsxs(HostActionMenu, { anchor: menuAnchor.current, label: t('desk.projectActions', [project.name]), onKeyDown: navigateMenu, children: [_jsxs("button", { type: "button", role: "menuitem", onClick: () => { setProjectMenu(undefined); props.onOpen?.({ profileId: profile.id, path: project.path, projectId: project.id, label: project.name }); }, children: [_jsx(TerminalActionIcon, {}), t('desk.openTerminal')] }), bound && !isDefault && _jsxs("button", { type: "button", role: "menuitem", disabled: props.accessSaving, onClick: () => { setProjectMenu(undefined); props.onDirectory(profile.id, project.path, project.id); }, children: [_jsx(IconFolderOpenOutline16, { size: 14 }), t('remote-workspace-tree.setAsDefaultWorkingDirectory')] }), _jsxs("button", { type: "button", role: "menuitem", onClick: event => { setError(undefined); setCreatingSession({ profile, project, returnFocus: menuAnchor.current ?? event.currentTarget }); setProjectMenu(undefined); }, children: [_jsx(IconPlusOutline16, { size: 14 }), t('remote-workspace-tree.newSession')] }), _jsxs("button", { type: "button", role: "menuitem", onClick: () => { setProjectMenu(undefined); setEditing({ profile, project }); }, children: [_jsx(IconEditOutline16, { size: 14 }), t('remote-workspace-tree.editPinnedDirectory')] })] })] })] })] }) }, project.id);
|
|
198
|
+
}) })] }, profile.id);
|
|
199
|
+
}) })] }, group.name);
|
|
200
|
+
}), groups.length === 0 && _jsx("p", { className: "dsh-ssh-tree-no-results", children: props.profiles.length === 0 ? t("remote-workspace-tree.noSshHostsYet") : t("remote-workspace-tree.noMatchingHosts") })] }), props.catalogue ? _jsx("p", { className: "dsh-ssh-catalogue-hint", children: t('desk.catalogueHint') }) : _jsx(SessionAccessFooter, { access: props.access, loading: props.accessLoading, saving: props.accessSaving, error: props.accessError ?? error, onPermission: props.onPermission, onApproval: props.onApproval }), accessOpen && _jsx(Dialog, { title: t('remote-workspace-tree.currentSessionPermissions'), onClose: () => setAccessOpen(false), children: _jsx(SessionAccessFooter, { access: props.access, loading: props.accessLoading, saving: props.accessSaving, error: props.accessError, onPermission: props.onPermission, onApproval: props.onApproval }) }), editing !== undefined && _jsx(RemoteProjectDialog, { profile: editing.profile, project: editing.project, onClose: () => setEditing(undefined), onSaved: async () => { const profileId = editing.profile.id; setEditing(undefined); await refreshProjects(profileId); await props.onProjectsChanged(); } }), creatingSession !== undefined && _jsx(ProjectSessionDialog, { ...creatingSession, workspaces: props.workspaces, currentWorkspaceId: props.currentWorkspaceId, recentWorkspaceId: props.recentWorkspaceId, onClose: () => setCreatingSession(undefined), onCreate: props.onCreateSession })] });
|
|
138
201
|
}
|
|
139
202
|
function SessionAccessFooter({ access, loading, saving, error, onPermission, onApproval }) {
|
|
140
203
|
useSshLocale();
|
|
141
|
-
return _jsxs("footer", { className: "dsh-ssh-access-footer", children: [_jsxs("div", { className: "dsh-ssh-access-heading", children: [_jsxs("span", { children: [_jsx("strong", { children: t("remote-workspace-tree.currentSessionPermissions") }), _jsxs("small", { children: [access?.profileIds.length ?? 0, " ", t("remote-workspace-tree.availableHosts")] })] }), _jsx("em", { children: loading ? t("remote-workspace-tree.loading") : saving ? t("remote-workspace-tree.saving") : error ? t("remote-workspace-tree.notSynced") : t("remote-workspace-tree.synced") })] }), _jsxs("div", { className: "dsh-ssh-access-segments", "aria-label": t("remote-workspace-tree.sshPermissions"), children: [_jsx("button", { type: "button", "data-ssh-interactive": "choice", className: access?.permission === 'exec' ? 'is-active' : '', "aria-pressed": access?.permission === 'exec', disabled: access === null, onClick: () => onPermission('exec'), children: t("remote-workspace-tree.commandsOnly") }), _jsx("button", { type: "button", "data-ssh-interactive": "choice", className: access?.permission === 'terminal' ? 'is-active' : '', "aria-pressed": access?.permission === 'terminal', disabled: access === null, onClick: () => onPermission('terminal'), children: t("remote-workspace-tree.terminalControl") })] }), _jsxs("label", { className: "dsh-ssh-access-approval", children: [_jsxs("span", { children: [_jsx("strong", { children: t("remote-workspace-tree.confirmBeforeRunning") }), _jsx("small", { children: access?.requireCommandApproval === false ? t("remote-workspace-tree.whenOffRunsDirectlyUnderCurrentSessionPermissions") : t("remote-workspace-tree.requiresDshAskModeFullAccessIsRejectedOutright") })] }), _jsx("input", { type: "checkbox", checked: access?.requireCommandApproval ?? true, disabled: access === null, onChange: event => onApproval(event.target.checked) }), _jsx("i", { "aria-hidden": "true" })] }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsx(SessionDefaults, {})] });
|
|
204
|
+
return _jsxs("footer", { className: "dsh-ssh-access-footer", children: [_jsxs("div", { className: "dsh-ssh-access-heading", children: [_jsxs("span", { children: [_jsx("strong", { children: t("remote-workspace-tree.currentSessionPermissions") }), _jsxs("small", { children: [access?.profileIds.length ?? 0, " ", t("remote-workspace-tree.availableHosts")] })] }), _jsx("em", { children: loading ? t("remote-workspace-tree.loading") : saving ? t("remote-workspace-tree.saving") : error ? t("remote-workspace-tree.notSynced") : t("remote-workspace-tree.synced") })] }), _jsxs("div", { className: "dsh-ssh-access-segments", "aria-label": t("remote-workspace-tree.sshPermissions"), children: [_jsx("button", { type: "button", "data-ssh-interactive": "choice", className: access?.permission === 'exec' ? 'is-active' : '', "aria-pressed": access?.permission === 'exec', disabled: access === null || loading || saving, onClick: () => onPermission('exec'), children: t("remote-workspace-tree.commandsOnly") }), _jsx("button", { type: "button", "data-ssh-interactive": "choice", className: access?.permission === 'terminal' ? 'is-active' : '', "aria-pressed": access?.permission === 'terminal', disabled: access === null || loading || saving, onClick: () => onPermission('terminal'), children: t("remote-workspace-tree.terminalControl") })] }), _jsxs("label", { className: "dsh-ssh-access-approval", children: [_jsxs("span", { children: [_jsx("strong", { children: t("remote-workspace-tree.confirmBeforeRunning") }), _jsx("small", { children: access?.requireCommandApproval === false ? t("remote-workspace-tree.whenOffRunsDirectlyUnderCurrentSessionPermissions") : t("remote-workspace-tree.requiresDshAskModeFullAccessIsRejectedOutright") })] }), _jsx("input", { type: "checkbox", checked: access?.requireCommandApproval ?? true, disabled: access === null || loading || saving, onChange: event => onApproval(event.target.checked) }), _jsx("i", { "aria-hidden": "true" })] }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsx(SessionDefaults, {})] });
|
|
142
205
|
}
|
|
143
206
|
function RemoteProjectDialog({ profile, project, onClose, onSaved }) {
|
|
144
207
|
useSshLocale();
|
|
@@ -170,7 +233,7 @@ function RemoteProjectDialog({ profile, project, onClose, onSaved }) {
|
|
|
170
233
|
};
|
|
171
234
|
return _jsxs(Dialog, { className: "dsh-ssh-project-dialog", title: project === undefined ? t("remote-workspace-tree.addPinnedDirectory") : t("remote-workspace-tree.editPinnedDirectory"), subtitle: t("remote-workspace-tree.defaultRemotePathForTheTerminalAndSftp", [profile.name]), onClose: onClose, children: [confirmation, _jsxs("form", { className: "dsh-ssh-form", onSubmit: event => { void submit(event); }, children: [_jsxs("label", { className: "dsh-ssh-field", children: [_jsx("span", { children: t("client.name") }), _jsx("input", { required: true, maxLength: 80, value: name, placeholder: t("remote-workspace-tree.websiteProject"), onChange: event => setName(event.target.value) })] }), _jsx(RemotePathInput, { profileId: profile.id, value: path, disabled: saving, onChange: setPath }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error }), _jsxs("div", { className: "dsh-ssh-dialog-actions", children: [project !== undefined && _jsxs("button", { type: "button", className: "dsh-ssh-danger-button", disabled: saving, onClick: () => { void remove(); }, children: [_jsx(IconTrashOutline16, { size: 15 }), t("client.delete")] }), _jsx("span", { className: "dsh-ssh-dialog-spacer" }), _jsx("button", { type: "button", className: "dsh-ssh-secondary-button", "data-ssh-dialog-close": true, disabled: saving, onClick: onClose, children: t("client.cancel") }), _jsx("button", { className: "dsh-ssh-primary-button", disabled: saving, children: saving ? t("client.saving2") : t("remote-workspace-tree.saveDirectory") })] })] })] });
|
|
172
235
|
}
|
|
173
|
-
function groupProfiles(profiles, groupConfigs, query) {
|
|
236
|
+
function groupProfiles(profiles, groupConfigs, query, projects = {}) {
|
|
174
237
|
const result = new Map();
|
|
175
238
|
if (profiles.length > 0)
|
|
176
239
|
result.set('', []);
|
|
@@ -186,15 +249,15 @@ function groupProfiles(profiles, groupConfigs, query) {
|
|
|
186
249
|
if (!result.has(group.name))
|
|
187
250
|
result.set(group.name, []);
|
|
188
251
|
return [...result]
|
|
189
|
-
.map(([name, grouped]) => ({ name, profiles: grouped }))
|
|
190
|
-
.filter(group => !query || group.
|
|
252
|
+
.map(([name, grouped]) => ({ name, profiles: grouped.filter(profile => !query || name.toLocaleLowerCase().includes(query) || searchText(profile).includes(query) || (projects[profile.id] ?? []).some(project => `${project.name} ${project.path}`.toLocaleLowerCase().includes(query))) }))
|
|
253
|
+
.filter(group => !query || group.profiles.length > 0 || group.name.toLocaleLowerCase().includes(query));
|
|
191
254
|
}
|
|
192
255
|
function searchText(profile) { return `${profile.name} ${profile.group ?? ''} ${profile.host} ${profile.username} ${profile.tags.join(' ')}`.toLocaleLowerCase(); }
|
|
193
256
|
function navigateMenu(event) {
|
|
194
257
|
if (!['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key))
|
|
195
258
|
return;
|
|
196
259
|
event.preventDefault();
|
|
197
|
-
const items = [...event.currentTarget.querySelectorAll('[role="menuitem"]')];
|
|
260
|
+
const items = [...event.currentTarget.querySelectorAll('[role="menuitem"]:not(:disabled)')];
|
|
198
261
|
if (items.length === 0)
|
|
199
262
|
return;
|
|
200
263
|
const current = items.indexOf(document.activeElement);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-workspace-tree.js","sourceRoot":"","sources":["../src/remote-workspace-tree.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-workspace-tree.js","sourceRoot":"","sources":["../src/remote-workspace-tree.tsx"],"names":[],"mappings":"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"}
|
package/lib/settings-pane.js
CHANGED
|
@@ -48,7 +48,7 @@ export function SettingsPane() {
|
|
|
48
48
|
onBlur: (event) => { if (event.currentTarget.reportValidity())
|
|
49
49
|
void save({ [key]: Number(event.currentTarget.value) }); },
|
|
50
50
|
});
|
|
51
|
-
return _jsxs("div", { className: "dsh-ssh-settings-pane", children: [_jsxs("div", { className: "dsh-ssh-
|
|
51
|
+
return _jsxs("div", { className: "dsh-ssh-settings-pane", children: [_jsxs("div", { className: "dsh-ssh-page-tools", children: [_jsx("p", { className: "dsh-ssh-page-hint", children: t('sync.localSettingsHint') }), _jsx("small", { role: "status", children: saving ? t('connection.saving') : saved ? t('connection.saved') : '' })] }), _jsxs("div", { className: "dsh-ssh-settings-stack", children: [_jsx(ConfigBackupPanel, {}), settings && _jsxs(_Fragment, { children: [_jsxs("section", { className: "dsh-ssh-settings-section", children: [_jsx("div", { className: "dsh-ssh-settings-section-heading", children: _jsx("strong", { children: t('connection.timeout') }) }), _jsxs("fieldset", { disabled: saving, className: "dsh-ssh-settings-group", style: fieldsetStyle, children: [_jsxs("label", { className: "dsh-ssh-number-row", children: [_jsxs("span", { children: [_jsx("strong", { children: t('connection.defaultTimeout') }), _jsx("small", { children: t('connection.defaultHint') })] }), _jsx("input", { "aria-label": t('connection.defaultTimeout'), "aria-describedby": "ssh-connect-timeout-help", required: true, type: "number", min: "1000", max: "120000", step: "1000", value: settings.defaultConnectTimeoutMs ?? 15000, ...numbers('defaultConnectTimeoutMs') }), _jsx("em", { children: t('client.ms') })] }), _jsx("p", { id: "ssh-connect-timeout-help", className: "dsh-ssh-form-hint", children: t('connection.timeoutHint') }), _jsxs("label", { className: "dsh-ssh-switch-row", children: [_jsxs("span", { children: [_jsx("strong", { children: t('connection.reuse') }), _jsx("small", { children: t('connection.reuseHint') })] }), _jsx("input", { type: "checkbox", checked: settings.reuseTerminalConnections === true, onChange: event => { void save({ reuseTerminalConnections: event.target.checked }); } })] })] })] }), _jsxs("section", { className: "dsh-ssh-settings-section", "aria-labelledby": "dsh-ssh-local-title", children: [_jsx("div", { className: "dsh-ssh-settings-section-heading", children: _jsxs("span", { children: [_jsx("strong", { id: "dsh-ssh-local-title", children: t('client.localRuntimeSettings') }), _jsx("small", { children: t('client.affectsThisDshInstanceOnlyNotSyncedViaGist') })] }) }), _jsxs("fieldset", { disabled: saving, className: "dsh-ssh-settings-group", style: fieldsetStyle, children: [_jsxs("label", { className: "dsh-ssh-switch-row", children: [_jsxs("span", { children: [_jsx("strong", { children: t('client.allowPublicPortBinding') }), _jsx("small", { children: t('client.allowsForwardsToListenOn0000') })] }), _jsx("input", { type: "checkbox", checked: settings.allowPublicBind, onChange: event => { void save({ allowPublicBind: event.target.checked }); } })] }), _jsxs("label", { className: "dsh-ssh-number-row", children: [_jsxs("span", { children: [_jsx("strong", { children: t('client.defaultCommandTimeout') }), _jsx("small", { children: t('client.maximumWaitTimeForTheAiSSshExec') })] }), _jsx("input", { required: true, type: "number", min: "1000", max: "300000", step: "1000", value: settings.defaultCommandTimeoutMs, ...numbers('defaultCommandTimeoutMs') }), _jsx("em", { children: t('client.ms') })] }), _jsxs("label", { className: "dsh-ssh-number-row", children: [_jsxs("span", { children: [_jsx("strong", { children: t('client.maxCommandOutput') }), _jsx("small", { children: t('client.keepsTheNewestOutputBeyondThisLimitSoContext') })] }), _jsx("input", { required: true, type: "number", min: "1000", max: "1000000", step: "1000", value: settings.maxOutputChars, ...numbers('maxOutputChars') }), _jsx("em", { children: t('client.chars') })] })] })] })] })] }), error && _jsx("p", { className: "dsh-ssh-inline-error", role: "alert", children: error })] });
|
|
52
52
|
}
|
|
53
53
|
const fieldsetStyle = { border: 0, margin: 0, padding: 0, minWidth: 0 };
|
|
54
54
|
//# sourceMappingURL=settings-pane.js.map
|
package/lib/settings-pane.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-pane.js","sourceRoot":"","sources":["../src/settings-pane.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"settings-pane.js","sourceRoot":"","sources":["../src/settings-pane.tsx"],"names":[],"mappings":"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"}
|
package/lib/sftp-client.d.ts
CHANGED
|
@@ -10,7 +10,9 @@ export declare function ActivitySftpBrowser({ sessionId, profile, profiles, onPr
|
|
|
10
10
|
onProfile(id: string): void;
|
|
11
11
|
onSaved(): Promise<void>;
|
|
12
12
|
}): JSX.Element;
|
|
13
|
-
export declare function ProfileSftpPane({ profile, initialPath, onEdit, onDelete, embedded, terminalPath }: {
|
|
13
|
+
export declare function ProfileSftpPane({ profile, initialPath, onEdit, onDelete, embedded, terminalPath, paneKey, initialFollow }: {
|
|
14
|
+
paneKey?: string;
|
|
15
|
+
initialFollow?: boolean;
|
|
14
16
|
profile: ProfileView;
|
|
15
17
|
initialPath?: string;
|
|
16
18
|
onEdit?(): void;
|
package/lib/sftp-client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sftp-client.d.ts","sourceRoot":"","sources":["../src/sftp-client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sftp-client.d.ts","sourceRoot":"","sources":["../src/sftp-client.tsx"],"names":[],"mappings":"AAYA,OAAO,EAML,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAA0B,KAAK,aAAa,EAAE,KAAK,mBAAmB,EACjH,MAAM,iBAAiB,CAAA;AAYxB,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAA;AA0C7E,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CASvF;AAED,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAqBlP;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,WAAiB,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAgB,EAAE,YAAY,EAAE,OAAO,EAAE,aAAoB,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAgBlV;AA0MD,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAwB,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAAC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,MAAM,IAAI,IAAI,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA4Brc"}
|
package/lib/sftp-client.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { mapTerminalSftpPath } from './sftp-path-mapping.js';
|
|
2
3
|
import { useSshLocale } from './use-ssh-locale.js';
|
|
3
4
|
import { trackDownloadClick } from './browser-transfers.js';
|
|
4
5
|
import { LocalTransferTasks } from './transfer-task-list.js';
|
|
@@ -52,19 +53,19 @@ export function ActivitySftpBrowser({ sessionId, profile, profiles, onProfile, o
|
|
|
52
53
|
const header = _jsxs("div", { className: "dsh-ssh-sftp-hostbar", children: [_jsx("span", { className: "dsh-ssh-host-monogram", children: profile.name.slice(0, 1).toUpperCase() }), _jsxs("label", { children: [_jsx("span", { className: "sr-only", children: t("sftp-client.selectRemoteHost") }), _jsx("select", { value: profile.id, onChange: event => onProfile(event.target.value), children: profiles.map(item => _jsx("option", { value: item.id, children: item.name }, item.id)) }), _jsxs("small", { children: [profile.username, "@", profile.host, ":", profile.port] })] })] });
|
|
53
54
|
return _jsx(SftpExplorer, { persistenceKey: explorerStateKey(sessionId, profile.id), initialPath: profile.cwd, mountedDirectories: profile.mountedDirectories, header: header, loadPathEntry: loadPathEntry, loadDirectory: loadDirectory, loadPreview: loadPreview, saveMarkdown: saveMarkdown, fileUrl: fileUrl, uploadFile: uploadFile, operations: { paneId, endpointId, endpointName: profile.name }, deletion: { locationName: profile.name, locationKind: 'remote', remove } }, `${sessionId}:${profile.id}`);
|
|
54
55
|
}
|
|
55
|
-
export function ProfileSftpPane({ profile, initialPath = '~', onEdit, onDelete, embedded = false, terminalPath }) {
|
|
56
|
+
export function ProfileSftpPane({ profile, initialPath = '~', onEdit, onDelete, embedded = false, terminalPath, paneKey, initialFollow = true }) {
|
|
56
57
|
useSshLocale();
|
|
57
|
-
const [following, setFollowing] = useState(
|
|
58
|
+
const [following, setFollowing] = useState(initialFollow);
|
|
58
59
|
const saveMarkdown = useCallback((input) => saveProfileMarkdown(profile.id, input), [profile.id]);
|
|
59
60
|
const loadPathEntry = useCallback((path, signal) => loadProfileSftpPathEntry(profile.id, path, signal), [profile.id]);
|
|
60
61
|
const loadDirectory = useCallback((path) => loadProfileSftpDirectory(profile.id, path), [profile.id]);
|
|
61
62
|
const loadPreview = useCallback((path, signal) => loadProfileSftpFilePreview(profile.id, path, signal), [profile.id]);
|
|
62
63
|
const fileUrl = useCallback((path, inline = false) => profileSftpFileUrl(profile.id, path, inline), [profile.id]);
|
|
63
64
|
const uploadFile = useCallback((directory, file, overwrite) => uploadProfileSftpFile(profile.id, directory, file, overwrite), [profile.id]);
|
|
64
|
-
const paneId = safePaneId(`profile-sftp-${profile.id}`);
|
|
65
|
+
const paneId = safePaneId(`profile-sftp-${profile.id}${paneKey ? `-${paneKey}` : ''}`);
|
|
65
66
|
const endpointId = `sftp:${profile.id}`;
|
|
66
67
|
const remove = useCallback((directory, paths) => deleteFileEndpointEntries({ paneId, endpointId, directory, paths }), [endpointId, paneId]);
|
|
67
|
-
return _jsxs("div", { className: `dsh-ssh-profile-sftp-pane${embedded ? ' is-embedded' : ''}`, children: [_jsxs("div", { className: "dsh-ssh-content-heading", children: [_jsxs("div", { children: [_jsx("h1", { children: embedded ? 'SFTP' : `${profile.name} · SFTP` }), _jsx("p", { children: embedded ? initialPath : `${profileAddress(profile)} · ${initialPath}` })] }), _jsxs("div", { className: "dsh-ssh-heading-actions", children: [onDelete && _jsx("button", { type: "button", className: "dsh-ssh-icon-button is-danger", "aria-label": t("client.deleteHost", [profile.name]), title: t("client.deleteHost2"), onClick: onDelete, children: _jsx(IconTrashOutline16, { size: 16 }) }), onEdit && _jsxs("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: onEdit, children: [_jsx(IconEditOutline16, { size: 16 }), t("client.editHost")] })] })] }), _jsx(SftpExplorer, { workspace: true, initialPath: initialPath, followPath: embedded && following ? terminalPath : undefined, followControl: embedded && _jsx("button", { type: "button", className: "dsh-ssh-follow-directory", "aria-label": t('sftp-client.followTerminal'), "aria-pressed": following, "data-waiting": following && terminalPath === undefined, title: terminalPath === undefined ? t('sftp-client.followWaiting') : t('sftp-client.followHint'), onClick: () => setFollowing(value => !value), children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", "aria-hidden": "true", children: _jsx("path", { d: "M10 13a5 5 0 0 0 7 .5l3-3a5 5 0 0 0-7-7l-2 2M14 11a5 5 0 0 0-7-.5l-3 3a5 5 0 0 0 7 7l2-2" }) }) }), loadPathEntry: loadPathEntry, loadDirectory: loadDirectory, loadPreview: loadPreview, saveMarkdown: saveMarkdown, fileUrl: fileUrl, uploadFile: uploadFile, operations: { paneId, endpointId, endpointName: profile.name }, deletion: { locationName: profile.name, locationKind: 'remote', remove } }, profile.id)] });
|
|
68
|
+
return _jsxs("div", { className: `dsh-ssh-profile-sftp-pane${embedded ? ' is-embedded' : ''}`, children: [!embedded && _jsxs("div", { className: "dsh-ssh-content-heading", children: [_jsxs("div", { children: [_jsx("h1", { children: embedded ? 'SFTP' : `${profile.name} · SFTP` }), _jsx("p", { children: embedded ? initialPath : `${profileAddress(profile)} · ${initialPath}` })] }), _jsxs("div", { className: "dsh-ssh-heading-actions", children: [onDelete && _jsx("button", { type: "button", className: "dsh-ssh-icon-button is-danger", "aria-label": t("client.deleteHost", [profile.name]), title: t("client.deleteHost2"), onClick: onDelete, children: _jsx(IconTrashOutline16, { size: 16 }) }), onEdit && _jsxs("button", { type: "button", className: "dsh-ssh-secondary-button", onClick: onEdit, children: [_jsx(IconEditOutline16, { size: 16 }), t("client.editHost")] })] })] }), _jsx(SftpExplorer, { workspace: true, initialPath: embedded ? mapTerminalSftpPath(initialPath, profile.sftpPathMappings) : initialPath, followPath: embedded && following && terminalPath !== undefined ? mapTerminalSftpPath(terminalPath, profile.sftpPathMappings) : undefined, followControl: embedded && _jsx("button", { type: "button", className: "dsh-ssh-follow-directory", "aria-label": t('sftp-client.followTerminal'), "aria-pressed": following, "data-waiting": following && terminalPath === undefined, title: terminalPath === undefined ? t('sftp-client.followWaiting') : t('sftp-client.followHint'), onClick: () => setFollowing(value => !value), children: _jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", "aria-hidden": "true", children: _jsx("path", { d: "M10 13a5 5 0 0 0 7 .5l3-3a5 5 0 0 0-7-7l-2 2M14 11a5 5 0 0 0-7-.5l-3 3a5 5 0 0 0 7 7l2-2" }) }) }), loadPathEntry: loadPathEntry, loadDirectory: loadDirectory, loadPreview: loadPreview, saveMarkdown: saveMarkdown, fileUrl: fileUrl, uploadFile: uploadFile, operations: { paneId, endpointId, endpointName: profile.name }, deletion: { locationName: profile.name, locationKind: 'remote', remove } }, profile.id)] });
|
|
68
69
|
}
|
|
69
70
|
function SftpExplorer({ persistenceKey, initialPath, followPath, followControl, nativeSessionId, header, mountedDirectories, workspace = false, loadDirectory, loadPreview, saveMarkdown, loadPathEntry, fileUrl, uploadFile, operations, deletion }) {
|
|
70
71
|
useSshLocale();
|
|
@@ -88,7 +89,7 @@ function SftpExplorer({ persistenceKey, initialPath, followPath, followControl,
|
|
|
88
89
|
const [operationMessage, setOperationMessage] = useState();
|
|
89
90
|
const [error, setError] = useState();
|
|
90
91
|
const lastFollowed = useRef();
|
|
91
|
-
const browse = useCallback(async (target, persist, restore) => {
|
|
92
|
+
const browse = useCallback(async (target, persist, restore, fromFollow = false) => {
|
|
92
93
|
const request = ++navigationId.current;
|
|
93
94
|
setLoading(true);
|
|
94
95
|
setError(undefined);
|
|
@@ -105,7 +106,7 @@ function SftpExplorer({ persistenceKey, initialPath, followPath, followControl,
|
|
|
105
106
|
}
|
|
106
107
|
catch (reason) {
|
|
107
108
|
if (request === navigationId.current)
|
|
108
|
-
setError(errorMessage(reason));
|
|
109
|
+
setError(fromFollow ? t('sftp-client.followUnavailable', [target, errorMessage(reason)]) : errorMessage(reason));
|
|
109
110
|
}
|
|
110
111
|
finally {
|
|
111
112
|
if (request === navigationId.current)
|
|
@@ -133,15 +134,15 @@ function SftpExplorer({ persistenceKey, initialPath, followPath, followControl,
|
|
|
133
134
|
return;
|
|
134
135
|
}
|
|
135
136
|
// Never dismiss a preview/draft, a confirmation, a path being typed, or an upload.
|
|
136
|
-
if (loading || openedFile || uploading || pendingOverwrite || deleteTarget ||
|
|
137
|
+
if (loading || openedFile || uploading || pendingOverwrite || deleteTarget || path !== (directory?.path ?? initialPath) || lastFollowed.current === followPath)
|
|
137
138
|
return;
|
|
138
139
|
const timer = window.setTimeout(() => {
|
|
139
140
|
lastFollowed.current = followPath;
|
|
140
|
-
if (followPath !== directory
|
|
141
|
-
void browse(followPath, false);
|
|
141
|
+
if (followPath !== directory?.path)
|
|
142
|
+
void browse(followPath, false, undefined, true);
|
|
142
143
|
}, 250);
|
|
143
144
|
return () => window.clearTimeout(timer);
|
|
144
|
-
}, [followPath, loading, openedFile, uploading, pendingOverwrite, deleteTarget, directory, path, browse]);
|
|
145
|
+
}, [followPath, loading, openedFile, uploading, pendingOverwrite, deleteTarget, directory, path, initialPath, browse]);
|
|
145
146
|
const openEntry = (entry) => {
|
|
146
147
|
if (isNavigableRemoteEntry(entry)) {
|
|
147
148
|
void browse(entry.path, true);
|