From 53f8d2cad5430c016826663fb36094315fe3bccb Mon Sep 17 00:00:00 2001 From: Dotty Dotter Date: Wed, 6 May 2026 23:52:17 +0200 Subject: [PATCH] fix(Phase 17 audit): Cluster-Sort nutzte members.length statt size/drucksachen.length MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Audit-Befund: alte UI sortierte _clusters nach (members || []).length — Backend liefert aber size + drucksachen, members ist leer. Folge: alle Cards hatten size 0 als Sort-Wert, Reihenfolge war effektiv random. Backwards-compat-Lookup mit drucksachen → members → size-Fallback. (Andere c.members-Lookups in antrag_detail.html + aktuelle-themen.html betreffen News-Cluster, deren API tatsächlich 'members' liefert — kein Bug.) --- app/templates/v2/screens/cluster.html | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/templates/v2/screens/cluster.html b/app/templates/v2/screens/cluster.html index 3f38710..4694f31 100644 --- a/app/templates/v2/screens/cluster.html +++ b/app/templates/v2/screens/cluster.html @@ -178,7 +178,11 @@ async function loadClusters() { } // Sort by size descending - _clusters.sort((a, b) => (b.members || []).length - (a.members || []).length); + // Backend liefert size + drucksachen; alte UI nutzte members.length. + const _clusterSize = (cl) => (cl.size != null + ? cl.size + : (cl.drucksachen || cl.members || []).length); + _clusters.sort((a, b) => _clusterSize(b) - _clusterSize(a)); // Top-10 list const top = _clusters.slice(0, 10);