tabby-sftp-ui 0.2.1 → 0.2.3

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 CHANGED
@@ -1,142 +1,149 @@
1
- ## Tabby SFTP UI Plugin
2
-
3
- ![Demo picture](images/demo.png)
4
-
5
- This plugin adds a **Termius‑style two‑pane SFTP file manager** to [Tabby](https://tabby.sh).
6
- It integrates directly with your existing SSH tabs and uses Tabby's native SFTP backend.
7
-
8
- If you find this useful, please **star the repo**: [growingupfirst/tabby-sftp-ui](https://github.com/growingupfirst/tabby-sftp-ui)
9
-
10
- ### Features
11
-
12
- - **SFTP‑UI button in terminal toolbar** – opens the SFTP manager for the active SSH session.
13
- - **Two panes** – local filesystem on the left, remote on the right.
14
- - **Drag & drop**:
15
- - Between local and remote for uploads/downloads.
16
- - Within local pane and within remote pane for moves/renames.
17
- - From OS file manager into the remote pane for uploads.
18
- - **Transfer queue** – visual list of active transfers with progress and cancel button.
19
- - **Navigation & UX**:
20
- - Clickable folders, `Up` buttons, breadcrumb navigation.
21
- - Manual path input for local and remote.
22
- - Filtering by name, sortable columns (Name / Size / Modified).
23
- - Dynamic size and speed units (B / KB / MB / GB).
24
- - Optional "Show hidden" toggle for both panes.
25
- - Multi‑select with Ctrl/Cmd and Shift.
26
- - **File operations**:
27
- - Rename, Delete (with in‑UI confirmation dialog), New Folder, Refresh.
28
- - Edit permissions (chmod style input).
29
- - On‑demand folder size calculation via context action.
30
- - **Remote file editing**:
31
- - Double‑click a remote file to download it to a temp location, open with system default app,
32
- and automatically upload changes back to the remote when you save.
33
- - **Local convenience features**:
34
- - Quick path presets (Home, Desktop, Documents, Downloads).
35
- - Favorite local paths stored in `localStorage`.
36
- - Interactive breadcrumbs with context menu to switch between sibling folders/drives.
37
- - **Profiles integration**:
38
- - Top bar shows current SSH profile and recent profiles.
39
- - Clicking a recent profile opens a new SSH terminal tab.
40
- - **Safe recovery behavior**:
41
- - SFTP tabs are **not** persisted across Tabby restarts (no stale/blank SFTP tabs).
42
-
43
- ### Requirements
44
-
45
- - Tabby desktop (tested around `1.0.163`).
46
- - Node.js and npm installed on your system.
47
-
48
- ### Install
49
-
50
- #### From Tabby Plugin Manager (planned)
51
-
52
- Once published to the official registry:
53
-
54
- 1. Open **Settings → Plugins** in Tabby.
55
- 2. Search for **“tabby-sftp-ui”**.
56
- 3. Click **Install**, then restart Tabby.
57
-
58
- #### Manual install (current)
59
-
60
- 1. Clone this repository:
61
-
62
- ```bash
63
- git clone https://github.com/growingupfirst/tabby-sftp-ui
64
- cd tabby-sftp-ui
65
- ```
66
-
67
- 2. Install dependencies:
68
-
69
- ```bash
70
- npm install
71
- ```
72
-
73
- 3. Build the plugin:
74
-
75
- ```bash
76
- npm run build
77
- ```
78
-
79
- 4. Install the built plugin into Tabby’s plugins directory:
80
-
81
- ```bash
82
- # Windows
83
- cd "%APPDATA%\tabby\plugins"
84
- npm install "<path-to>/tabby-sftp-ui" --legacy-peer-deps
85
-
86
- # macOS / Linux
87
- cd ~/.config/tabby/plugins
88
- npm install "/absolute/path/to/tabby-sftp-ui" --legacy-peer-deps
89
- ```
90
-
91
- 5. **Restart Tabby completely** (close all windows and start again).
92
-
93
- ### Usage
94
-
95
- 1. Open an SSH session in Tabby.
96
- 2. In the session toolbar, click the **SFTP‑UI** button (next to Reconnect).
97
- 3. A new tab titled `<session name> + SFTP` will appear with the two‑pane file manager.
98
- 4. Use drag & drop, context actions, and the action bar to manage files.
99
-
100
- ### Development
101
-
102
- - Main plugin module: `src/index.ts`
103
- - Core UI component: `src/sftp-manager-tab.component.ts`
104
- - SFTP backend wrapper: `src/sftp.service.ts`
105
- - Local file transfer adapters: `src/local-transfers.ts`
106
- - SFTP‑UI tab launcher/service: `src/sftp-ui.service.ts`
107
-
108
- To rebuild after changes:
109
-
110
- ```bash
111
- npm run build
112
-
113
- # Reinstall into Tabby plugin directory (see paths above)
114
- cd "%APPDATA%\tabby\plugins" # or ~/.config/tabby/plugins
115
- npm install "<path-to>/tabby-sftp-ui" --legacy-peer-deps
116
- ```
117
-
118
- Then restart Tabby.
119
-
120
- ### Roadmap
121
-
122
- - Better integration with Tabby’s plugin manager (one‑click install and updates).
123
- - More granular progress details for large folder transfers.
124
- - Optional inline file editor for small text files.
125
- - Configurable keyboard shortcuts for common actions.
126
-
127
- ### Changelog
128
-
129
- - See [`CHANGELOG.md`](CHANGELOG.md)
130
-
131
- - **0.2.1**
132
- - Fix: New Folder/Rename input dialog
133
- - Fix: Robust remote file edit sync-back
134
- - Feature: OS drag-and-drop into panes
135
- - **0.2.0**
136
- - UI: removed the main toolbar SFTP icon next to Settings (terminal button remains).
137
- - **0.1.0**
138
- - Initial release.
139
-
140
- ### Problems
141
- - When reopening Tabby, the SFTP UI tabs are blank. Please contact me in [Telegram](https://t.me/Gr0w1ngUp) if you know how to fix this.
142
-
1
+ ## Tabby SFTP UI Plugin
2
+
3
+ ![Demo picture](images/demo.png)
4
+
5
+ This plugin adds a **Termius‑style two‑pane SFTP file manager** to [Tabby](https://tabby.sh).
6
+ It integrates directly with your existing SSH tabs and uses Tabby's native SFTP backend.
7
+
8
+ If you find this useful, please **star the repo**: [growingupfirst/tabby-sftp-ui](https://github.com/growingupfirst/tabby-sftp-ui)
9
+
10
+ ### Features
11
+
12
+ - **SFTP‑UI button in terminal toolbar** – opens the SFTP manager for the active SSH session.
13
+ - **Two panes** – local filesystem on the left, remote on the right.
14
+ - **Drag & drop**:
15
+ - Between local and remote for uploads/downloads.
16
+ - Within local pane and within remote pane for moves/renames.
17
+ - From OS file manager into the remote pane for uploads.
18
+ - **Transfer queue** – visual list of active transfers with progress and cancel button.
19
+ - **Navigation & UX**:
20
+ - Clickable folders, `Up` buttons, breadcrumb navigation.
21
+ - Manual path input for local and remote.
22
+ - Filtering by name, sortable columns (Name / Size / Modified).
23
+ - Dynamic size and speed units (B / KB / MB / GB).
24
+ - Optional "Show hidden" toggle for both panes.
25
+ - Multi‑select with Ctrl/Cmd and Shift.
26
+ - **File operations**:
27
+ - Rename, Delete (with in‑UI confirmation dialog), New Folder, Refresh.
28
+ - Edit permissions (chmod style input).
29
+ - On‑demand folder size calculation via context action.
30
+ - **Remote file editing**:
31
+ - Double‑click a remote file to download it to a temp location, open with system default app,
32
+ and automatically upload changes back to the remote when you save.
33
+ - **Local convenience features**:
34
+ - Quick path presets (Home, Desktop, Documents, Downloads).
35
+ - Favorite local paths stored in `localStorage`.
36
+ - Interactive breadcrumbs with context menu to switch between sibling folders/drives.
37
+ - **Profiles integration**:
38
+ - Top bar shows current SSH profile and recent profiles.
39
+ - Clicking a recent profile opens a new SSH terminal tab.
40
+ - **Safe recovery behavior**:
41
+ - SFTP tabs are **not** persisted across Tabby restarts (no stale/blank SFTP tabs).
42
+
43
+ ### Requirements
44
+
45
+ - Tabby desktop (tested around `1.0.163`).
46
+ - Node.js and npm installed on your system.
47
+
48
+ ### Install
49
+
50
+ #### From Tabby Plugin Manager (planned)
51
+
52
+ Once published to the official registry:
53
+
54
+ 1. Open **Settings → Plugins** in Tabby.
55
+ 2. Search for **“tabby-sftp-ui”**.
56
+ 3. Click **Install**, then restart Tabby.
57
+
58
+ #### Manual install (current)
59
+
60
+ 1. Clone this repository:
61
+
62
+ ```bash
63
+ git clone https://github.com/growingupfirst/tabby-sftp-ui
64
+ cd tabby-sftp-ui
65
+ ```
66
+
67
+ 2. Install dependencies:
68
+
69
+ ```bash
70
+ npm install
71
+ ```
72
+
73
+ 3. Build the plugin:
74
+
75
+ ```bash
76
+ npm run build
77
+ ```
78
+
79
+ 4. Install the built plugin into Tabby’s plugins directory:
80
+
81
+ ```bash
82
+ # Windows
83
+ cd "%APPDATA%\tabby\plugins"
84
+ npm install "<path-to>/tabby-sftp-ui" --legacy-peer-deps
85
+
86
+ # macOS / Linux
87
+ cd ~/.config/tabby/plugins
88
+ npm install "/absolute/path/to/tabby-sftp-ui" --legacy-peer-deps
89
+ ```
90
+
91
+ 5. **Restart Tabby completely** (close all windows and start again).
92
+
93
+ ### Usage
94
+
95
+ 1. Open an SSH session in Tabby.
96
+ 2. In the session toolbar, click the **SFTP‑UI** button (next to Reconnect).
97
+ 3. A new tab titled `<session name> + SFTP` will appear with the two‑pane file manager.
98
+ 4. Use drag & drop, context actions, and the action bar to manage files.
99
+
100
+ ### Development
101
+
102
+ - Main plugin module: `src/index.ts`
103
+ - Core UI component: `src/sftp-manager-tab.component.ts`
104
+ - SFTP backend wrapper: `src/sftp.service.ts`
105
+ - Local file transfer adapters: `src/local-transfers.ts`
106
+ - SFTP‑UI tab launcher/service: `src/sftp-ui.service.ts`
107
+
108
+ To rebuild after changes:
109
+
110
+ ```bash
111
+ npm run build
112
+
113
+ # Reinstall into Tabby plugin directory (see paths above)
114
+ cd "%APPDATA%\tabby\plugins" # or ~/.config/tabby/plugins
115
+ npm install "<path-to>/tabby-sftp-ui" --legacy-peer-deps
116
+ ```
117
+
118
+ Then restart Tabby.
119
+
120
+ ### Roadmap
121
+
122
+ - Better integration with Tabby’s plugin manager (one‑click install and updates).
123
+ - More granular progress details for large folder transfers.
124
+ - Optional inline file editor for small text files.
125
+ - Configurable keyboard shortcuts for common actions.
126
+
127
+ ### Changelog
128
+
129
+ - See [`CHANGELOG.md`](CHANGELOG.md)
130
+
131
+ - **0.2.3**
132
+ - Fix: Remote folders drag-and-drop (Remote → Local) works again.
133
+ - Feature: Replace confirmation is now symmetric (both Local → Remote and Remote → Local).
134
+ - UI: Added “Go up” row to the Local pane.
135
+ - **0.2.2**
136
+ - Integrate Tabby’s native `startUploadFromDragEvent` for more reliable OS drag-and-drop (files & folders).
137
+ - Refine Delete key handling so it works normally inside input dialogs while still triggering delete in lists.
138
+ - **0.2.1**
139
+ - Fix: New Folder/Rename input dialog
140
+ - Fix: Robust remote file edit sync-back
141
+ - Feature: OS drag-and-drop into panes
142
+ - **0.2.0**
143
+ - UI: removed the main toolbar SFTP icon next to Settings (terminal button remains).
144
+ - **0.1.0**
145
+ - Initial release.
146
+
147
+ ### Problems
148
+ - When reopening Tabby, the SFTP UI tabs are blank. Please contact me in [Telegram](https://t.me/Gr0w1ngUp) if you know how to fix this.
149
+