修复: 连接回退池校验与进度重试累计等四处
- connect 失败回退目标校验仍在池中,防幻影本地列表 - SFTP 下载/上传进度跨重试累计,重试入口重置基线 - OSS 签名 base64 改标准字母表,URL 字母表致校验必败 - 剪切粘贴同目录 no-op 清剪贴板,防源文件被改名副本
This commit is contained in:
@@ -318,7 +318,8 @@ class ConnectionManagerImpl {
|
||||
try {
|
||||
await this.buildAndPool(profileId, profile)
|
||||
} catch (err) {
|
||||
this._activeId = prevActiveId
|
||||
// 回退目标可能已不在池中(死连接重建时 disconnectProfile 先移除),指向池外会让 getTransport 静默回落本地造成 UI 幻影
|
||||
this._activeId = (prevActiveId && this._pool.has(prevActiveId)) ? prevActiveId : 'local-default'
|
||||
this.setProfileState(profileId, 'error', err instanceof Error ? err.message : String(err))
|
||||
this.notifyChange()
|
||||
throw err
|
||||
|
||||
@@ -992,6 +992,12 @@ const handlePasteClipboard = async () => {
|
||||
const targetDir = filePath.value
|
||||
if (!targetDir) return
|
||||
|
||||
// 剪切源即目标目录时无操作(继续执行会把源文件改名成副本),Explorer 语义是清空剪贴板
|
||||
if (clip.mode === 'cut' && clip.fromDir === targetDir) {
|
||||
clearClipboard()
|
||||
return
|
||||
}
|
||||
|
||||
let failed = 0
|
||||
for (const item of clip.items) {
|
||||
const dstName = uniqueNameInList(item.name)
|
||||
|
||||
Reference in New Issue
Block a user