diff --git a/flutter/lib/models/file_model.dart b/flutter/lib/models/file_model.dart index 108c76f1e..9a9c0f491 100644 --- a/flutter/lib/models/file_model.dart +++ b/flutter/lib/models/file_model.dart @@ -375,8 +375,14 @@ class FileController { history.add(directory.value.path); } - void goToHomeDirectory() { - openDirectory(homePath); + void goToHomeDirectory() async { + if (isLocal) { + openDirectory(homePath); + return; + } + final homeDir = (await bind.sessionGetPeerOption( + sessionId: sessionId, name: "remote_home_dir")); + openDirectory(homeDir); } void goBack() { @@ -403,7 +409,7 @@ class FileController { } // TODO deprecated this - void initDirAndHome(Map evt) { + void initDirAndHome(Map evt) async { try { final fd = FileDirectory.fromJson(jsonDecode(evt['value'])); fd.format(options.value.isWindows, sort: sortBy.value); @@ -423,6 +429,14 @@ class FileController { } } else if (options.value.home.isEmpty) { options.value.home = fd.path; + + final homeDir = ( await bind.sessionGetPeerOption( + sessionId: sessionId, name: "remote_home_dir")); + + if (homeDir.isEmpty){ + bind.sessionPeerOption( + sessionId: sessionId, name: "remote_home_dir", value: fd.path); + } debugPrint("init remote home: ${fd.path}"); directory.value = fd; }