Dashboard Neue Beiträge Statistik defekt

Hallo zusammen,

seit einem der letzten Upgrades vor ein oder zwei Wochen ist die neue Beitragestatistik auf dem Dashboard hier kaputt. Es wird nichts mehr angezeigt. Ist das nur bei mir so oder ein allgemeiner Fehler? Ich habe hier bei der Suche nichts gefunden.

Viele Grüße

Entschuldigung, können Sie bitte klarstellen, ob Sie sagen, dass diese Grafiken nicht funktionieren?

Wann haben Sie Ihre Instanz zuletzt aktualisiert, können Sie sie jetzt aktualisieren?

Entschuldigen Sie, dass ich unklar war, hier ist ein Screenshot:

Ich habe heute Abend auf 05685d430f aktualisiert.

Wenn ich mich recht erinnere, ist das jetzt etwa ein bis zwei Wochen so. Ich aktualisiere im Moment alle fünf Tage.

Und ja, im Moment ist nicht viel los, aber wir haben neue Beiträge. :wink: Ich habe auch auf das Jahr geklickt und es seit heute ausgewählt. Auch dort ist nichts.

Das Erste, was mir in den Sinn kommt, ist „nicht genügend Daten“, aber ich werde dies dem XP-Team mitteilen, das bei der Fehlersuche helfen kann.

1 „Gefällt mir“

Danke! Ein weiterer Screenshot, auf dem man sehen kann, dass es neue Themen gibt. Also muss es auch neue Beiträge geben. Zumindest so viele wie Themen (aber hier sind es sicher mehr :wink:).

Wenn Sie zur Seite mit dem vollständigen Bericht unter \u003chttps://IHRESEITE.COM/admin/reports/posts?end_date=2025-02-17\u0026start_date=2025-01-17\u003e navigieren, werden Ihnen dann Daten angezeigt, wenn Sie die Daten/Filter anpassen? Sehen Sie Fehler in den Protokollen unter \u003chttps://IHRESEITE.COM/logs\u003e oder im Chrome DevTools Network-Tab, wenn Sie diese Seite oder das Dashboard laden?

1 „Gefällt mir“

Nein, dort ist auch alles leer. Ich kann auch Start- und Enddaten anpassen, keine Änderung.

Nein, keine. Nur einige Deprecation Notices, die (laut Zeit) nichts mit den Statistiken zu tun haben.

Tatsächlich gibt es Fehler. Wenn ich die Seite lade, sind es 9, nach einiger Zeit werden es mehr.

Hilft das? Soll ich einen/alle dieser Fehler kopieren und einfügen (Text)?

2 „Gefällt mir“

In der Tat ist mir diese Situation auch schon begegnet. In meiner Community werden ebenfalls nicht die korrekten Beitragszahlen angezeigt.

Nicht korrekt oder gar nichts wie hier?

1 „Gefällt mir“

Ich habe ein wenig recherchiert, es scheint, dass die domQueryService-Fehler von der Bitwarden Chrome-Erweiterung stammen, sie verursachen wahrscheinlich keine Probleme. Die Mini-Profiler-Fehler können ignoriert werden.

Der fingerprint-report-Fehler stammt von GitHub - discourse/discourse-fingerprint: A plugin that computes user fingerprints to help administrators combat internet trolls., und obwohl es ein Problem ist, das wir beheben müssen, scheint es mich lokal nicht daran zu hindern, den Beichte-Bericht zu laden.

Diese body_tag_1.js-Datei, mit der andere Leute manchmal Probleme auf Discourse haben Lost ability to scroll through HA community site - community-feedback - Home Assistant Community. Haben Sie Adblocker? Wenn ja, versuchen Sie, diese zu deaktivieren. Wenn nicht oder wenn das nicht hilft, versuchen Sie, den sicheren Modus zu aktivieren Using Safe Mode to troubleshoot issues with themes and plugins und sehen Sie, ob Sie die Seite laden können. Wenn ja, würde das auf ein Plugin- oder Theme-Problem hindeuten.

Versuchen Sie schließlich, die JSON-Datei für den Bericht zu laden und zu sehen, ob Sie hier Ergebnisse erhalten:

https://YOURSITE.COM/admin/reports/bulk.json?reports[posts][facets][]=prev_period&reports[posts][start_date]=2025-01-18&reports[posts][end_date]=2025-02-18&reports[posts][limit]=50

4 „Gefällt mir“

Ich habe das, was bereits in Opera integriert ist, dem Browser, den ich auf dem Computer verwende. Ich benutze auch Pi-hole mit mehreren Blocklisten.

Aber: Diese Probleme treten auch auf meinem iPad in der Discourse-App und in anderen Netzwerken auf, einschließlich Mobilfunkdaten. Also keine Adblocker oder Ähnliches.

Das kann ich, aber heute nicht mehr. :wink:

Sicher:

{"reports":[{"type":"posts","title":"Beiträge","xaxis":"Tag","yaxis":"Anzahl neuer Beiträge","description":"Neue Beiträge, die in dieser Zeit erstellt wurden","description_link":null,"data":[],"start_date":"2025-01-18T00:00:00Z","end_date":"2025-02-18T23:59:59Z","prev_data":null,"prev_start_date":"2024-12-17T00:00:00Z","prev_end_date":"2025-01-18T00:00:00Z","prev30Days":null,"dates_filtering":true,"report_key":"reports:posts:20250118:20250218:[:prev_period]:50:4","primary_color":"rgba(113,184,254,1)","secondary_color":"rgba(113,184,254,0.1)","available_filters":[{"id":"category","type":"category","default":null}],"labels":[{"type":"date","property":"x","title":"Tag"},{"type":"number","property":"y","title":"Anzahl"}],"average":false,"percent":false,"higher_is_better":true,"modes":["chart","table"],"prev_period":0,"limit":50}]}

Da dies nichts anzeigt, wenn ich das richtig lese, macht der Safe Mode dann Sinn?

1 „Gefällt mir“

Okay, danke, das ist hilfreich und deutet darauf hin, dass die Daten selbst fehlen und nicht, dass es ein Fehler im Frontend gibt :thinking:

Die SQL-Abfrage, die diesem Bericht zugrunde liegt, ist ziemlich einfach. Wenn Sie Zugriff auf den Data Explorer oder direkt auf Ihre Datenbank haben, können Sie versuchen, diese auszuführen und anzupassen, um zu sehen, ob sie Ihnen Daten liefert:

SELECT
  COUNT(*) AS "count_all",
  date(posts.created_at) AS "date_posts_created_at"
FROM
  "posts"
  INNER JOIN "topics" ON "topics"."deleted_at" IS NULL
  AND "topics"."id" = "posts"."topic_id"
WHERE
  "posts"."deleted_at" IS NULL
  AND (
    topics.archetype <> 'private_message'
  )
  AND (
    posts.created_at >= '2025-02-01'
    AND posts.created_at <= '2025-02-28'
  )
  AND "posts"."post_type" = 1
GROUP BY
  date(posts.created_at)
ORDER BY
  date(posts.created_at)

Und hier ist der Berichtscode selbst:

Ich fürchte, es ist ziemlich schwierig, dies weiter zu debuggen, ohne Zugriff auf Ihre Website zu haben, um in der Datenbank nachzuforschen.

1 „Gefällt mir“

Die Abfrage im Daten-Explorer liefert Daten:

1 „Gefällt mir“

Tut mir leid Roi, das ist ein wenig untergegangen. Ich schätze, es muss etwas mit dem Berichtscode selbst nicht stimmen? discourse/app/models/concerns/reports/posts.rb at 8596aa34c46071eb42ffbb9e19ad733d1765578e · discourse/discourse · GitHub .

Hast du Zugriff auf die Rails-Konsole deiner Seite? Wenn ja, versuche Folgendes und sieh nach, ob du Daten erhältst:

Report.find("posts", start_date: 4.weeks.ago, end_date: Time.zone.now).data

Dies gibt auch die ausgeführten SQL-Abfragen aus, sodass es dort weitere Hinweise geben könnte.

1 „Gefällt mir“

Kein Problem! Es sieht im Admin-Dashboard nicht perfekt aus, aber es ist nicht so kritisch wie andere Fehler.

Ja.

Hm, habe ich das richtig gemacht?

root@prometheus-discourse-sidemount:/var/www/discourse# rails c
Plugin name is 'discourse-docs', but plugin directory is named 'discourse-knowledge-explorer'
Plugin name is 'discourse-user-notes', but plugin directory is named 'discourse-staff-notes'
[1] pry(main)> Report.find("posts", start_date: 4.weeks.ago, end_date: Time.zone.now).data
=> []
[2] pry(main)>

Die Antwort ist leer. Das würde die leere Box im Admin-Dashboard erklären. Aber Sie schrieben, dass die Antwort auch eine SQL-Anweisung enthalten sollte?

1 „Gefällt mir“

Ah, Entschuldigung, vielleicht habe ich es nur gesehen, weil ich es lokal ausgeführt habe. Versuchen Sie Folgendes:

MethodProfiler.output_sql_to_stderr!
Report.find("posts", start_date: 4.weeks.ago, end_date: Time.zone.now).data

Sie werden jetzt viel mehr Abfragen sehen, aber die letzten Abfragen werden die aus dem Bericht sein:

1 „Gefällt mir“

Okay, viel mehr Rauschen. :wink: Ist das, was Sie suchen, oder brauchen Sie mehr von oben?

debugsql (sql): SELECT COUNT(*) AS "count_all", date(posts.created_at) AS "date_posts_created_at" FROM "posts" INNER JOIN "topics" ON "topics"."deleted_at" IS NULL AND "topics"."id" = "posts"."topic_id" WHERE "posts"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND NOT ((topics.category_id IN (NULL))) AND (posts.created_at >= '2025-02-03 06:00:45.160432' AND posts.created_at <= '2025-03-03 06:00:45.160586') AND "posts"."post_type" = 1 GROUP BY date(posts.created_at) ORDER BY date(posts.created_at)
debugsql (sec): 0.001
debugsql (sql): SELECT "category_custom_fields"."category_id" FROM "category_custom_fields" WHERE "category_custom_fields"."name" = 'private_topics_enabled'
debugsql (sec): 0.0
debugsql (sql): SELECT COUNT(*) FROM "posts" INNER JOIN "topics" ON "topics"."deleted_at" IS NULL AND "topics"."id" = "posts"."topic_id" WHERE "posts"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND NOT ((topics.category_id IN (NULL))) AND "posts"."post_type" = 1
debugsql (sec): 0.0
debugsql (sql): SELECT COUNT(*) FROM "posts" INNER JOIN "topics" ON "topics"."deleted_at" IS NULL AND "topics"."id" = "posts"."topic_id" WHERE "posts"."deleted_at" IS NULL AND (topics.archetype <> 'private_message') AND NOT ((topics.category_id IN (NULL))) AND "posts"."post_type" = 1 AND (posts.created_at >= '2025-01-04 06:00:45.160432' and posts.created_at < '2025-02-03 06:00:45.160432')
debugsql (sec): 0.0
debugsql (sql): COMMIT
debugsql (sec): 0.0
=> []
1 „Gefällt mir“

Ja, das ist es, was ich brauche :slight_smile: Der Teil, der mir ins Auge sticht, ist AND NOT ((topics.category_id IN (NULL))); das habe ich nicht in der Abfrage, die ich oben im Screenshot zeige. Dies würde alle Themen ohne Kategorie von der Zählung ausschließen, was je nach Foreneinrichtung viel sein könnte?

Ich sehe im Code nicht, woher das kommt. Als nächsten Schritt würde ich versuchen, dies im Data Explorer zu tun:

SELECT 
  COUNT(*) AS "count_all", 
  date(posts.created_at) AS "date_posts_created_at" 
FROM 
  "posts" 
  INNER JOIN "topics" ON "topics"."deleted_at" IS NULL 
  AND "topics"."id" = "posts"."topic_id" 
WHERE 
  "posts"."deleted_at" IS NULL 
  AND (
    topics.archetype <> 'private_message'
  ) 
  AND (
    posts.created_at >= '2025-02-03 06:00:45.160432' 
    AND posts.created_at <= '2025-03-03 06:00:45.160586'
  ) 
  AND "posts"."post_type" = 1 
GROUP BY 
  date(posts.created_at) 
ORDER BY 
  date(posts.created_at)

(Ich habe hier die Klausel AND NOT entfernt) und sehen, ob Sie ein Ergebnis erhalten. Wenn ich dies lokal ausführe, erhalte ich:

 count_all | date_posts_created_at
-----------+-----------------------
         1 | 2025-02-03
         8 | 2025-02-04
         7 | 2025-02-05
         1 | 2025-02-06
         7 | 2025-02-12
         4 | 2025-02-26

Während ich, wenn ich die Klausel category_id beibehalte, die Ihre Abfragen zeigen, keine Daten erhalte.

1 „Gefällt mir“

Funktioniert:\n\n

\n\n🤘\n\n[quote="Martin Brennan, post:19, topic:352599, username:martin"]\nDer Teil, der mir ins Auge sticht, ist AND NOT ((topics.category_id IN (NULL))); Ich habe das nicht in der Abfrage, die ich oben im Screenshot zeige. Dies würde alle Themen ohne Kategorie von der Zählung ausschließen, was je nach Foreneinrichtung viel sein könnte?\n[/quote]\n\nAlle unsere Beiträge haben eine Kategorie.\n\nWoher kommt diese zusätzliche Bedingung? :thinking:

1 „Gefällt mir“

Ja, ich bin mir wirklich nicht sicher :frowning: Ein Versuch, aber es könnte ein Plugin sein, das etwas hinzufügt/modifiziert? :thinking: Welche Plugins verwendest du? Die erste Abfrage oben (die mit count_all) kommt von hier:

Wenn das Aufrufen in der Konsole immer noch diese category_id IN (NULL)-Klausel hinzufügt, dann ist etwas sehr seltsam:

Post.public_posts_count_per_day(4.weeks.ago, Time.zone.now)
1 „Gefällt mir“