Log avatar preparation generation and teardown state

This commit is contained in:
evgeny committed 2026-10-27 12:28:12 +01:00
1 parent 90d6f78a9e
commit d72a2c092e
1 file changed
+5
@@ -38,6 +38,8 @@ AvatarManager::AvatarManager(DbManager* db, QObject* parent) : QObject(parent),
}
AvatarManager::~AvatarManager() {
DEBUG_DEBUG(DEBUG_CATEGORY_MEDIA, "avatar: manager destroying preparing=%d jobs=%d workers=%d",
m_preparing, int(m_jobs.size()), m_pool.activeThreadCount());
m_timer.stop(); s_manager = nullptr; m_pool.waitForDone();
for (auto id : m_jobs.keys()) {
if (!gui_bridge_is_uasync_ready()) break;
@@ -282,6 +284,8 @@ void AvatarManager::uploadDefault(const QString& source, quint64 server, const Q
const QString directory = m_directory; const quint64 generation = ++m_generation; cancelUploads();
QStringList pinned; if (!m_defaultHash.isEmpty()) pinned << m_defaultHash;
for (const auto& job : m_jobs) if (job.upload) pinned << job.ref.hash;
DEBUG_DEBUG(DEBUG_CATEGORY_MEDIA, "avatar: preparing generation=%llu server=%016llx source=%s",
(unsigned long long)generation, (unsigned long long)server, qPrintable(source));
m_pool.start(QRunnable::create([this, source, directory, server, generation, pinned, crop] {
const auto result = AvatarCache::prepare(source, directory, crop);
if (!result.image.isNull()) { auto keep = pinned; keep << result.hash; AvatarCache::prune(directory, keep); }
@@ -321,6 +325,7 @@ void AvatarManager::cancelUploads() {
void AvatarManager::clearDefault() {
if (!m_ready || !gui_bridge_is_uasync_ready()) return;
DEBUG_DEBUG(DEBUG_CATEGORY_MEDIA, "avatar: clear default generation=%llu preparing=%d", (unsigned long long)m_generation, m_preparing);
++m_generation; m_preparing = false; cancelUploads(); m_defaultHash.clear(); m_defaultServer = 0; saveDefault();
for (const auto& ref : m_refs) if (ref.owner == m_db->myNodeId()) {
Job job; job.ref = ref; job.ref.server = 0; job.ref.hash.clear(); job.upload = true; job.generation = m_generation;