fix(session): reject symlinked legacy session migration

This commit is contained in:
Xubin Ren
2026-08-13 01:41:10 +09:00
parent b34f1bd0e8
commit d2cbe6536e
2 changed files with 45 additions and 1 deletions
+6 -1
View File
@@ -550,9 +550,14 @@ class JsonlSessionStore:
def _migrate_from_workspace(self, workspace: Path) -> None:
"""Move legacy in-workspace session files into the out-of-workspace store."""
old_dir = Path(workspace).expanduser() / "sessions"
if not old_dir.is_dir():
if old_dir.is_symlink() or not old_dir.is_dir():
if old_dir.is_symlink():
logger.warning("Skipping symlinked legacy sessions directory: {}", old_dir)
return
for src in old_dir.glob("*.jsonl"):
if src.is_symlink() or not src.is_file():
logger.warning("Skipping unsafe legacy session file: {}", src)
continue
dst = self.sessions_dir / src.name
if dst.exists():
continue