Hai lỗi riêng biệt cùng gây ra "chọn folder khác, sang tab khác rồi quay lại
thì về folder cũ":
1. WorkspaceFileTree.root_changed KHÔNG có ai lắng nghe trong toàn bộ repo.
Người dùng chọn thư mục trong cây thì chỉ cái cây đổi gốc; _root, khung xem
và terminal ở lại thư mục cũ — ba widget con lệch nhau ngay từ lúc bấm chọn.
2. _load_current gọi set_root(project.workspace_dir()) vô điều kiện, và _goto
gọi workspace.refresh() mỗi lần vào lại màn Workspace, nên mỗi cú chuyển tab
kéo thư mục về workspace của project.
set_project_root() bỏ qua khi project KHÔNG đổi. Đổi sang project khác thì vẫn
re-root — thư mục của màn này thuộc về project; chỉ lần refresh trong CÙNG một
project là không được đụng.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>