From facad90c2e4855da0c7e948f65184ac4014f28a4 Mon Sep 17 00:00:00 2001 From: Patrick Schurig Date: Sun, 25 Oct 2026 11:28:13 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9lestage=20visible=20:=20shedding.open=20?= =?UTF-8?q?publi=C3=A9=20en=20liste=20de=20variantes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le JSON ne change pas. Mais une QStringList échappait au parcours par type de l'enregistreur `decisions`, qui anonymise les ThingId des listes : la référence portait les identifiants tirés au hasard d'une exécution, et le `check` sortait en ÉCART à chaque passage. Co-Authored-By: Claude Opus 5.5 --- energyplugin/etm/types/sheddinglog.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/energyplugin/etm/types/sheddinglog.cpp b/energyplugin/etm/types/sheddinglog.cpp index b62ccc8..a98a7e5 100644 --- a/energyplugin/etm/types/sheddinglog.cpp +++ b/energyplugin/etm/types/sheddinglog.cpp @@ -173,6 +173,12 @@ QVariantMap SheddingLog::resume() const { if (m_revision == 0) return QVariantMap(); + // Une QVariantList de chaînes, comme le reste de la télémétrie — pas une QStringList : le JSON + // est le même, mais un consommateur qui parcourt la carte par type (l'enregistreur de + // `decisions` anonymise les ThingId des listes) ne reconnaîtrait pas la seconde. + QVariantList ids; + for (const QString &id : ouverts()) + ids.append(id); return QVariantMap{{QStringLiteral("revision"), m_revision}, - {QStringLiteral("open"), ouverts()}}; + {QStringLiteral("open"), ids}}; }