mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2026-06-30 18:19:11 -04:00
fix: Remove files and folder watches
This commit is contained in:
@@ -5,12 +5,9 @@
|
||||
#include "ProviderInstanceFactory.hpp"
|
||||
|
||||
#include <QDir>
|
||||
#include <QFileInfo>
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QLoggingCategory>
|
||||
#include <QSet>
|
||||
#include <QThread>
|
||||
#include <QTimer>
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
|
||||
@@ -39,15 +36,6 @@ ProviderInstanceFactory::ProviderInstanceFactory(QObject *parent)
|
||||
{
|
||||
::initProviderInstancesResource();
|
||||
|
||||
m_watcher = new QFileSystemWatcher(this);
|
||||
m_reloadDebounce = new QTimer(this);
|
||||
m_reloadDebounce->setSingleShot(true);
|
||||
m_reloadDebounce->setInterval(150);
|
||||
connect(m_reloadDebounce, &QTimer::timeout, this, [this] { reload(); });
|
||||
auto kick = [this](const QString &) { m_reloadDebounce->start(); };
|
||||
connect(m_watcher, &QFileSystemWatcher::fileChanged, this, kick);
|
||||
connect(m_watcher, &QFileSystemWatcher::directoryChanged, this, kick);
|
||||
|
||||
reload();
|
||||
}
|
||||
|
||||
@@ -65,6 +53,7 @@ void ProviderInstanceFactory::reload()
|
||||
Q_FUNC_INFO, "ProviderInstanceFactory must be used from its owner thread");
|
||||
clear();
|
||||
|
||||
QDir().mkpath(userInstancesDir());
|
||||
auto result = ProviderInstanceLoader::load(instanceQrcPrefix(), userInstancesDir());
|
||||
for (const QString &err : result.errors)
|
||||
LOG_MESSAGE(QString("[ProviderInstances] error: %1").arg(err));
|
||||
@@ -83,7 +72,6 @@ void ProviderInstanceFactory::reload()
|
||||
m_warnings = std::move(result.warnings);
|
||||
|
||||
rebuildIndexes();
|
||||
rewatchUserDir();
|
||||
emit instancesReloaded();
|
||||
}
|
||||
|
||||
@@ -113,23 +101,6 @@ void ProviderInstanceFactory::rebuildIndexes()
|
||||
});
|
||||
}
|
||||
|
||||
void ProviderInstanceFactory::rewatchUserDir()
|
||||
{
|
||||
if (!m_watcher)
|
||||
return;
|
||||
|
||||
const QStringList stale = m_watcher->files() + m_watcher->directories();
|
||||
if (!stale.isEmpty())
|
||||
m_watcher->removePaths(stale);
|
||||
|
||||
const QString userDir = userInstancesDir();
|
||||
QDir().mkpath(userDir);
|
||||
m_watcher->addPath(userDir);
|
||||
QDir d(userDir);
|
||||
for (const QFileInfo &fi : d.entryInfoList({"*.toml"}, QDir::Files))
|
||||
m_watcher->addPath(fi.absoluteFilePath());
|
||||
}
|
||||
|
||||
const ProviderInstance *ProviderInstanceFactory::instanceByName(const QString &name) const
|
||||
{
|
||||
const auto it = m_nameIndex.constFind(name.toCaseFolded());
|
||||
|
||||
@@ -13,9 +13,6 @@
|
||||
|
||||
#include "ProviderInstance.hpp"
|
||||
|
||||
class QFileSystemWatcher;
|
||||
class QTimer;
|
||||
|
||||
namespace QodeAssist::Providers {
|
||||
|
||||
class ProviderInstanceFactory : public QObject
|
||||
@@ -47,7 +44,6 @@ signals:
|
||||
void instancesReloaded();
|
||||
|
||||
private:
|
||||
void rewatchUserDir();
|
||||
void rebuildIndexes();
|
||||
|
||||
std::vector<ProviderInstance> m_instances;
|
||||
@@ -55,10 +51,6 @@ private:
|
||||
QStringList m_knownClientApisCache;
|
||||
QStringList m_errors;
|
||||
QStringList m_warnings;
|
||||
|
||||
|
||||
QFileSystemWatcher *m_watcher = nullptr;
|
||||
QTimer *m_reloadDebounce = nullptr;
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Providers
|
||||
|
||||
@@ -2,7 +2,7 @@ schema_version = 1
|
||||
|
||||
name = "Mistral AI"
|
||||
client_api = "Mistral AI"
|
||||
description = "Cloud (Mistral). Mistral chat/instruct models, incl. the Magistral reasoning model. For Mistral's FIM code model, use Codestral."
|
||||
description = "Cloud (Mistral). Mistral chat/instruct models, the Magistral reasoning model, and the Codestral code model — including native FIM via /v1/fim/completions. The dedicated Codestral provider (codestral.mistral.ai) has its own key and endpoint."
|
||||
|
||||
url = "https://api.mistral.ai"
|
||||
api_key_ref = "qodeassist/providers/Mistral AI"
|
||||
|
||||
Reference in New Issue
Block a user