mirror of
https://github.com/Eugeny/tabby.git
synced 2025-07-20 02:18:01 +00:00
fix: avoid error Uncaught (in promise) on modal dismiss
This commit is contained in:
@@ -113,8 +113,8 @@ export class SFTPPanelComponent {
|
||||
|
||||
async openCreateDirectoryModal (): Promise<void> {
|
||||
const modal = this.ngbModal.open(SFTPCreateDirectoryModalComponent)
|
||||
const directoryName = await modal.result
|
||||
if (directoryName !== '') {
|
||||
const directoryName = await modal.result.catch(() => null)
|
||||
if (directoryName?.trim()) {
|
||||
this.sftp.mkdir(path.join(this.path, directoryName)).then(() => {
|
||||
this.notifications.notice('The directory was created successfully')
|
||||
this.navigate(path.join(this.path, directoryName))
|
||||
|
@@ -75,7 +75,7 @@ export class SSHProfileSettingsComponent {
|
||||
modal.componentInstance.prompt = `Password for ${this.profile.options.user}@${this.profile.options.host}`
|
||||
modal.componentInstance.password = true
|
||||
try {
|
||||
const result = await modal.result
|
||||
const result = await modal.result.catch(() => null)
|
||||
if (result?.value) {
|
||||
this.passwordStorage.savePassword(this.profile, result.value)
|
||||
this.hasSavedPassword = true
|
||||
@@ -89,11 +89,13 @@ export class SSHProfileSettingsComponent {
|
||||
}
|
||||
|
||||
async addPrivateKey () {
|
||||
const ref = await this.fileProviders.selectAndStoreFile(`private key for ${this.profile.name}`)
|
||||
this.profile.options.privateKeys = [
|
||||
...this.profile.options.privateKeys!,
|
||||
ref,
|
||||
]
|
||||
const ref = await this.fileProviders.selectAndStoreFile(`private key for ${this.profile.name}`).catch(() => null)
|
||||
if (ref) {
|
||||
this.profile.options.privateKeys = [
|
||||
...this.profile.options.privateKeys!,
|
||||
ref,
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
removePrivateKey (path: string) {
|
||||
|
@@ -210,7 +210,6 @@ export class SSHSession {
|
||||
if (!await this.verifyHostKey(handshake)) {
|
||||
this.ssh.end()
|
||||
reject(new Error('Host key verification failed'))
|
||||
return
|
||||
}
|
||||
this.logger.info('Handshake complete:', handshake)
|
||||
resolve()
|
||||
@@ -300,7 +299,7 @@ export class SSHSession {
|
||||
const modal = this.ngbModal.open(PromptModalComponent)
|
||||
modal.componentInstance.prompt = `Username for ${this.profile.options.host}`
|
||||
try {
|
||||
const result = await modal.result
|
||||
const result = await modal.result.catch(() => null)
|
||||
this.authUsername = result?.value ?? null
|
||||
} catch {
|
||||
this.authUsername = 'root'
|
||||
@@ -428,11 +427,7 @@ export class SSHSession {
|
||||
const modal = this.ngbModal.open(HostKeyPromptModalComponent)
|
||||
modal.componentInstance.selector = selector
|
||||
modal.componentInstance.digest = this.hostKeyDigest
|
||||
try {
|
||||
return await modal.result
|
||||
} catch {
|
||||
return false
|
||||
}
|
||||
return modal.result.catch(() => false)
|
||||
}
|
||||
return true
|
||||
}
|
||||
@@ -495,7 +490,7 @@ export class SSHSession {
|
||||
modal.componentInstance.showRememberCheckbox = true
|
||||
|
||||
try {
|
||||
const result = await modal.result
|
||||
const result = await modal.result.catch(() => null)
|
||||
if (result) {
|
||||
if (result.remember) {
|
||||
this.savedPassword = result.value
|
||||
|
@@ -53,6 +53,6 @@ export class CommonSFTPContextMenu extends SFTPContextMenuItemProvider {
|
||||
const modal = this.ngbModal.open(SFTPDeleteModalComponent)
|
||||
modal.componentInstance.item = item
|
||||
modal.componentInstance.sftp = session
|
||||
await modal.result
|
||||
await modal.result.catch(() => {return})
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user