From 01397071a833d01eb434b207d271bd027b5f86e5 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Thu, 28 May 2026 17:29:00 +0200 Subject: [PATCH] Pass the socket path to openVFS using the -s switch --- src/gui/folder.cpp | 3 ++- src/libsync/vfs/vfs.h | 1 + src/plugins/vfs/openvfs/vfs_openvfs.cpp | 11 ++++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/gui/folder.cpp b/src/gui/folder.cpp index a7d4ed84b..d7b61c0b4 100644 --- a/src/gui/folder.cpp +++ b/src/gui/folder.cpp @@ -19,7 +19,6 @@ #include "account.h" #include "accountstate.h" #include "application.h" -#include "common/depreaction.h" #include "common/filesystembase.h" #include "common/syncjournalfilerecord.h" #include "common/version.h" @@ -39,6 +38,7 @@ #include "syncresult.h" #include "syncrunfilelog.h" #include "theme.h" +#include "guiutility.h" #ifdef Q_OS_WIN #include "common/utility_win.h" @@ -524,6 +524,7 @@ void Folder::startVfs() vfsParams.providerDisplayName = Theme::instance()->appNameGUI(); vfsParams.providerName = Theme::instance()->appName(); vfsParams.providerVersion = Version::version(); + vfsParams.socketPath = Utility::socketApiSocketPath(); connect(&_engine->syncFileStatusTracker(), &SyncFileStatusTracker::fileStatusChanged, _vfs.data(), &Vfs::fileStatusChanged); diff --git a/src/libsync/vfs/vfs.h b/src/libsync/vfs/vfs.h index 3e8208f13..928732697 100644 --- a/src/libsync/vfs/vfs.h +++ b/src/libsync/vfs/vfs.h @@ -60,6 +60,7 @@ struct OPENCLOUD_SYNC_EXPORT VfsSetupParams QString providerDisplayName; QString providerName; QVersionNumber providerVersion; + QString socketPath; const QUrl &baseUrl() const { return _baseUrl; } const QString &spaceId() const { return _spaceId; } diff --git a/src/plugins/vfs/openvfs/vfs_openvfs.cpp b/src/plugins/vfs/openvfs/vfs_openvfs.cpp index 6c4885fc3..baecaf273 100644 --- a/src/plugins/vfs/openvfs/vfs_openvfs.cpp +++ b/src/plugins/vfs/openvfs/vfs_openvfs.cpp @@ -210,14 +210,15 @@ void OpenVFS::startImpl(const VfsSetupParams ¶ms) connect(_openVfsProcess, &QProcess::finished, this, [logPrefix, this] { qCFatal(lcOpenVFS) << logPrefix() << "finished" << _openVfsProcess->exitCode(); }); connect(_openVfsProcess, &QProcess::started, this, [logPrefix, this] { qCInfo(lcOpenVFS) << logPrefix() << u"started"; - // TODO: - // give it time to mount + QTimer::singleShot(1s, this, &Vfs::started); }); connect(_openVfsProcess, &QProcess::errorOccurred, this, [logPrefix, this] { qCWarning(lcOpenVFS) << logPrefix() << _openVfsProcess->errorString(); }); - _openVfsProcess->start(openVFSExePath().toString(), - {u"-d"_s, u"-i"_s, openVFSConfigFilePath().toString(), u"-o"_s, xattrOwnerString(params.account->uuid()), params.root().toString()}, - QIODevice::ReadOnly); + + const QStringList pparams{u"-d"_s, u"-i"_s, openVFSConfigFilePath().toString(), u"-o"_s, xattrOwnerString(params.account->uuid()), + u"-s"_s, params.socketPath, params.root().toString()}; + qCDebug(lcOpenVFS) << "Starting openvfs" << pparams; + _openVfsProcess->start(openVFSExePath().toString(), pparams, QIODevice::ReadOnly); } void OpenVFS::stop()