tabby-sftp-ui 0.2.5 → 0.2.7

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.
@@ -1,7 +1,7 @@
1
1
  import { Injector, OnInit } from '@angular/core';
2
2
  import { AppService, BaseTabComponent, FileTransfer, ProfilesService } from 'tabby-core';
3
3
  import type { RecoveryToken } from 'tabby-core';
4
- import { SftpConnectionService, SFTPFile, SSHSessionLike } from './sftp.service';
4
+ import { SftpConnectionService, SFTPFile, SSHSessionLike, SSHShellSessionLike } from './sftp.service';
5
5
  type LocalEntry = {
6
6
  name: string;
7
7
  fullPath: string;
@@ -14,6 +14,7 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
14
14
  private profilesService;
15
15
  private app;
16
16
  sshSession: SSHSessionLike | null;
17
+ shellSession: SSHShellSessionLike | null;
17
18
  profile: any;
18
19
  recoveredStub: boolean;
19
20
  connecting: boolean;
@@ -27,6 +28,7 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
27
28
  remotePath: string;
28
29
  remoteEntries: SFTPFile[];
29
30
  private sftpSession;
31
+ private connectPromise;
30
32
  localDropActive: boolean;
31
33
  remoteDropActive: boolean;
32
34
  transfers: Array<{
@@ -97,10 +99,14 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
97
99
  constructor(injector: Injector, sftp: SftpConnectionService, profilesService: ProfilesService, app: AppService);
98
100
  ngOnInit(): void;
99
101
  connect(): Promise<void>;
102
+ private waitForConnection;
103
+ private connectInternal;
104
+ private initializeRemotePath;
100
105
  disconnect(): Promise<void>;
101
106
  canLocalUp(): boolean;
102
107
  localUp(): void;
103
108
  remoteUp(): void;
109
+ canRemoteUp(): boolean;
104
110
  refreshLocal(): Promise<void>;
105
111
  refreshRemote(): Promise<void>;
106
112
  openLocal(e: LocalEntry): void;
@@ -123,7 +129,12 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
123
129
  private uploadDirectoryUploadToRemote;
124
130
  private writeDirectoryUploadToLocal;
125
131
  private downloadRemoteDirectoryRecursive;
132
+ private getElectronWebUtils;
133
+ private countDirectoryUploadItems;
134
+ private captureDropData;
135
+ private uploadDroppedFilesToRemote;
126
136
  private getDroppedOsPaths;
137
+ private resolveDroppedOsPaths;
127
138
  getFilteredLocalEntries(): LocalEntry[];
128
139
  getFilteredRemoteEntries(): SFTPFile[];
129
140
  private sortLocalEntries;
@@ -164,7 +175,17 @@ export declare class SftpManagerTabComponent extends BaseTabComponent implements
164
175
  }): void;
165
176
  private normalizeLocalPath;
166
177
  private normalizeRemotePath;
167
- private getDefaultRemotePath;
178
+ private resolveDefaultRemotePath;
179
+ private syncRemotePathFromInput;
180
+ private ensureRemoteDirectoryReady;
181
+ private getRemoteUsername;
182
+ private buildDefaultRemotePathCandidates;
183
+ private canonicalizeRemotePath;
184
+ private remotePathExists;
185
+ private toRemoteSftpPath;
186
+ private isWindowsSftpPath;
187
+ private getWindowsSftpBreadcrumbs;
188
+ private remoteParentPath;
168
189
  private loadRecentProfiles;
169
190
  getProfileLabel(p: any): string;
170
191
  launchProfileFromSFTP(p: any): void;
@@ -15,6 +15,13 @@ export type SFTPSessionLike = {
15
15
  rename: (oldPath: string, newPath: string) => Promise<void>;
16
16
  upload: (remotePath: string, transfer: import('tabby-core').FileUpload) => Promise<void>;
17
17
  download: (remotePath: string, transfer: import('tabby-core').FileDownload) => Promise<void>;
18
+ stat?: (p: string) => Promise<{
19
+ isDirectory: boolean;
20
+ }>;
21
+ };
22
+ export type SSHShellSessionLike = {
23
+ getWorkingDirectory?: () => Promise<string | null>;
24
+ supportsWorkingDirectory?: () => boolean;
18
25
  };
19
26
  export type SSHSessionLike = {
20
27
  openSFTP: () => Promise<SFTPSessionLike>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tabby-sftp-ui",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "SFTP UI for Tabby (Termius-like file manager).",
5
5
  "keywords": [
6
6
  "tabby-plugin"