데스크톱 앱: 데이터 폴더 위치를 사용자가 지정할 수 있게 해주세요
배경
여러 대의 맥(작업용 맥북 + 상시 가동 맥미니)에서 같은 회사를 쓰고 싶고, 회사 데이터를 NAS 동기화 폴더에 두어 백업 대상에 포함시키고 싶습니다.
소스에서 실행할 때(npm run dev)와 셀프호스트(scripts/install.sh)는 ARGO_ROOT로 데이터 루트를 지정할 수 있는데, 데스크톱 앱은 지정할 수 없습니다.
// src-tauri/src/lib.rs (v0.1.34)
let data_root = app.path().app_local_data_dir()…;
…
.env("ARGO_ROOT", format!("{data_root}/workspaces"))
기존 환경변수를 보지 않고 항상 OS 앱 로컬 데이터 폴더로 고정합니다. 설정 UI에도 항목이 없어, 현재로선 앱 데이터 폴더를 심볼릭 링크로 바꿔치기하는 우회밖에 없습니다. 이 방법은 앱 업데이트로 폴더가 재생성되면 조용히 끊깁니다.
제안 ① — 기존 ARGO_ROOT를 존중 (최소 변경)
.env("ARGO_ROOT", std::env::var("ARGO_ROOT")
.unwrap_or_else(|_| format!("{data_root}/workspaces")))
- 지정하지 않은 사용자는 동작이 전혀 바뀌지 않습니다 (후방 호환)
- 지정한 사람만 다른 경로를 씁니다
- 소스 실행·셀프호스트와 동작이 통일됩니다
제안 ② — 설정에 「데이터 폴더」 항목 (더 친절한 형태)
이미 설정에 「데이터 내보내기」(경로 입력)와 「외부 작업 폴더」(경로 검증·등록)가 있으니, 같은 UI 패턴을 재사용할 수 있을 것 같습니다.
- 경로 지정 → 검증(
validateWorkRoot 계열) → 재시작 후 적용
- 기존 데이터 이동 여부는 사용자 선택(이동 / 새로 시작)
감수할 수 있는 제약
경로를 옮긴 사용자가 책임져야 할 부분은 이해하고 있습니다.
- 네트워크 볼륨이 마운트되지 않았을 때의 실패 — 명확한 에러 메시지만 있으면 충분합니다
- 두 기기가 동시에 같은 폴더를 쓸 때의 충돌 — 사용자 책임
- 성능 저하 가능성
참고
소스를 읽고 쓴 제안이라 구현 사정과 안 맞을 수 있습니다. 방향만 참고해 주셔도 감사하겠습니다. 좋은 제품 만들어 주셔서 고맙습니다.
데스크톱 앱: 데이터 폴더 위치를 사용자가 지정할 수 있게 해주세요
배경
여러 대의 맥(작업용 맥북 + 상시 가동 맥미니)에서 같은 회사를 쓰고 싶고, 회사 데이터를 NAS 동기화 폴더에 두어 백업 대상에 포함시키고 싶습니다.
소스에서 실행할 때(
npm run dev)와 셀프호스트(scripts/install.sh)는ARGO_ROOT로 데이터 루트를 지정할 수 있는데, 데스크톱 앱은 지정할 수 없습니다.기존 환경변수를 보지 않고 항상 OS 앱 로컬 데이터 폴더로 고정합니다. 설정 UI에도 항목이 없어, 현재로선 앱 데이터 폴더를 심볼릭 링크로 바꿔치기하는 우회밖에 없습니다. 이 방법은 앱 업데이트로 폴더가 재생성되면 조용히 끊깁니다.
제안 ① — 기존
ARGO_ROOT를 존중 (최소 변경)제안 ② — 설정에 「데이터 폴더」 항목 (더 친절한 형태)
이미 설정에 「데이터 내보내기」(경로 입력)와 「외부 작업 폴더」(경로 검증·등록)가 있으니, 같은 UI 패턴을 재사용할 수 있을 것 같습니다.
validateWorkRoot계열) → 재시작 후 적용감수할 수 있는 제약
경로를 옮긴 사용자가 책임져야 할 부분은 이해하고 있습니다.
참고
소스를 읽고 쓴 제안이라 구현 사정과 안 맞을 수 있습니다. 방향만 참고해 주셔도 감사하겠습니다. 좋은 제품 만들어 주셔서 고맙습니다.