fix(sidecars): report over-long migration paths and fix root relocation (#1142)

- Surface Windows WinError 206 / ENAMETOOLONG during sidecar migration as
  an actionable per-model error instead of a bare OSError
- Offer root relocation based on the resolved sidecar root, so moving off
  (or back to) the default storage directory relocates existing sidecars
- Hint in the migration confirm dialog when the destination is the default
  location, so a custom folder can be set before migrating
This commit is contained in:
Will Miao
2026-10-10 14:35:08 +08:00
parent 6d45f9296b
commit 5796a0e2e9
15 changed files with 345 additions and 24 deletions
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "Sidecar-Dateien zurück neben die Modelldateien verschieben?",
"confirmButton": "Jetzt verschieben",
"titleRelocateRoot": "Sidecar-Dateien in das neue Speicherverzeichnis verschieben?",
"destination": "Ziel: {path}"
"destination": "Ziel: {path}",
"defaultLocationHint": "Es wird der Standard-Speicherort verwendet. Um einen eigenen Ordner zu nutzen, brechen Sie ab, setzen Sie oben den Speicherpfad und klicken Sie dann auf „Sidecar-Dateien jetzt verschieben“."
},
"sidecarMigrationResult": {
"title": "Sidecar-Migrationsübersicht",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "Move sidecars back next to model files?",
"confirmButton": "Migrate Now",
"titleRelocateRoot": "Move sidecars to the new storage directory?",
"destination": "Destination: {path}"
"destination": "Destination: {path}",
"defaultLocationHint": "This uses the default location. To use a custom folder, cancel, set the storage path above, then click \"Migrate Sidecars Now\"."
},
"sidecarMigrationResult": {
"title": "Sidecar Migration Summary",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "¿Devolver los archivos sidecar junto a los archivos de modelo?",
"confirmButton": "Migrar ahora",
"titleRelocateRoot": "¿Mover los archivos sidecar al nuevo directorio de almacenamiento?",
"destination": "Destino: {path}"
"destination": "Destino: {path}",
"defaultLocationHint": "Se usará la ubicación predeterminada. Para usar una carpeta personalizada, cancela, define la ruta de almacenamiento arriba y luego haz clic en «Migrar archivos sidecar ahora»."
},
"sidecarMigrationResult": {
"title": "Resumen de la migración de archivos sidecar",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "Remettre les fichiers sidecar à côté des fichiers de modèle ?",
"confirmButton": "Migrer maintenant",
"titleRelocateRoot": "Déplacer les fichiers sidecar vers le nouveau dossier de stockage ?",
"destination": "Destination : {path}"
"destination": "Destination : {path}",
"defaultLocationHint": "L’emplacement par défaut sera utilisé. Pour utiliser un dossier personnalisé, annulez, définissez le chemin de stockage ci-dessus, puis cliquez sur « Migrer les fichiers sidecar maintenant »."
},
"sidecarMigrationResult": {
"title": "Résumé de la migration des fichiers sidecar",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "להחזיר את קובצי הלוואי לצד קובצי המודל?",
"confirmButton": "העבר כעת",
"titleRelocateRoot": "להעביר את קובצי הלוואי לתיקיית האחסון החדשה?",
"destination": "יעד: {path}"
"destination": "יעד: {path}",
"defaultLocationHint": "נעשה שימוש במיקום ברירת המחדל. כדי להשתמש בתיקייה מותאמת אישית, בטל, הגדר את נתיב האחסון למעלה ולאחר מכן לחץ על «העבר קובצי לוואי כעת»."
},
"sidecarMigrationResult": {
"title": "סיכום העברת קובצי לוואי",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "サイドカーファイルをモデルファイルの隣に戻しますか?",
"confirmButton": "今すぐ移動",
"titleRelocateRoot": "サイドカーファイルを新しい保存ディレクトリに移動しますか?",
"destination": "移動先:{path}"
"destination": "移動先:{path}",
"defaultLocationHint": "デフォルトの保存場所が使用されます。カスタムフォルダを使用するには、キャンセルして上の保存先パスを設定してから、「今すぐサイドカーファイルを移動」をクリックしてください。"
},
"sidecarMigrationResult": {
"title": "サイドカーファイル移動の概要",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "사이드카 파일을 모델 파일 옆으로 되돌릴까요?",
"confirmButton": "지금 이동",
"titleRelocateRoot": "사이드카 파일을 새 저장 디렉터리로 이동할까요?",
"destination": "대상 위치: {path}"
"destination": "대상 위치: {path}",
"defaultLocationHint": "기본 저장 위치가 사용됩니다. 사용자 지정 폴더를 사용하려면 취소하고 위에서 저장 경로를 설정한 다음 '지금 사이드카 파일 이동'을 클릭하세요."
},
"sidecarMigrationResult": {
"title": "사이드카 파일 이동 요약",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "Вернуть sidecar-файлы рядом с файлами моделей?",
"confirmButton": "Перенести сейчас",
"titleRelocateRoot": "Перенести sidecar-файлы в новый каталог хранилища?",
"destination": "Назначение: {path}"
"destination": "Назначение: {path}",
"defaultLocationHint": "Будет использовано расположение по умолчанию. Чтобы использовать свою папку, отмените, укажите путь хранилища выше, затем нажмите «Перенести sidecar-файлы сейчас»."
},
"sidecarMigrationResult": {
"title": "Сводка переноса sidecar-файлов",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "要将附属文件移回模型文件旁边吗?",
"confirmButton": "立即迁移",
"titleRelocateRoot": "要将附属文件移到新的存储目录吗?",
"destination": "目标位置:{path}"
"destination": "目标位置:{path}",
"defaultLocationHint": "将使用默认存储位置。如需使用自定义文件夹,请取消,在上方设置存储路径,然后点击“立即迁移附属文件”。"
},
"sidecarMigrationResult": {
"title": "附属文件迁移摘要",
+2 -1
View File
@@ -1749,7 +1749,8 @@
"titleToAlongside": "要將附屬檔案移回模型檔案旁邊嗎?",
"confirmButton": "立即遷移",
"titleRelocateRoot": "要將附屬檔案移到新的儲存目錄嗎?",
"destination": "目標位置:{path}"
"destination": "目標位置:{path}",
"defaultLocationHint": "將使用預設儲存位置。如需使用自訂資料夾,請取消,在上方設定儲存路徑,然後點擊「立即遷移附屬檔案」。"
},
"sidecarMigrationResult": {
"title": "附屬檔案遷移摘要",