Babble-Chat

Ich habe eine Korrektur erstellt und einen PR eingereicht, da @gdpelican in der letzten Woche nicht geantwortet hat. Bis die Korrektur in das Haupt-Repository integriert ist, können Sie das alternative Repository verwenden.
Alternatives Repository: https://github.com/PuttyTribe/babble
PR: Fix issue with search controller by ti0 · Pull Request #302 · gdpelican/babble · GitHub

Zum Wechseln ändern Sie einfach Ihre Konfiguration und ersetzen Sie das vorhandene babble-Repository durch: https://github.com/PuttyTribe/babble.git, und bauen Sie es neu.

@Newuser @itsbhanusharma @Boost @4ong

3 „Gefällt mir“

Oh, lol, scheint, als hätten wir einen Schönheitswettbewerb :wink:

Der Fehler liegt an dieser Änderung im Core:

@angus, ich überlasse dir die Entscheidung :wink:

ooo, das Timing! :slight_smile: Keine Aktivität seit einer Woche, und dann zwei Lösungen im Abstand von 20 Minuten!
Ich habe ursprünglich diese Lösung gewählt, mich dann aber für eine allgemeine Lösung entschieden, da der Parameter in keinem Fall verwendet wird.

1 „Gefällt mir“

Ich habe den PR von @merefield zusammengeführt, der das Problem hier behebt.

@ti0 Danke auch für den PR. Das Argument wird tatsächlich verwendet :slight_smile: Wenn du super ohne Argumente aufrufst (also statt super()), werden die Argumente der Unterklasse automatisch an super weitergegeben. Wenn du dir die Methode ansiehst, die überschrieben wird, siehst du, wo das Argument verwendet wird: discourse/lib/search.rb at main · discourse/discourse · GitHub.

@ti0 @merefield Als Randbemerkung: Wir sollten einen PR in das Discourse-Kernsystem einreichen, um einen Hook hinzuzufügen, der es Plugins ermöglicht, neue type_filters in die Search-Klasse einzufügen. Das wäre performanter und stabiler als das Patchen der execute-Methode. Das könnte ein interessantes kleines Projekt sein, wenn du es schaffst, das Discourse-Team davon zu überzeugen, dass dies eine sinnvolle Ergänzung ist.

@justin Hast du das Problem schließlich gelöst? Ich hatte dasselbe Problem, bis ich in meinem eigenen Branch die Art und Weise geändert habe, wie Babble seine Engine lädt. Ich vermute, es hat etwas damit zu tun, wie verschiedene Umgebungen @gdpelicans Methode zum Laden von Dateien im Initialisierer behandeln, also:

require Rails.root.join('plugins', 'babble', 'app', path).to_s

Es ist schwer, das genau zu lokalisieren. Ich könnte einen PR erstellen, um die Babble-Dateilademethode zu aktualisieren, und schauen, ob @gdpelican damit einverstanden ist, dies auf die Standard-Discourse-Plugin-Methode umzustellen, bei der load mit File.expand_path anstelle von require mit Rails.root verwendet wird.


Edit: Ich habe Babble auch zu try.thepavilion.io hinzugefügt, damit du es in einer Umgebung testen kannst, die alle 24 Stunden aktualisiert wird.

Falls in Zukunft ein kritischer Fehler bei Babble auftritt (d. h. es funktioniert überhaupt nicht) und James nicht verfügbar ist, markiere bitte @angus oder @merefield, und wir werden es beheben (oder einen PR prüfen :slight_smile: ).

6 „Gefällt mir“

Ich meinte, dass der Parameter innerhalb der überschriebenen Methode, die wir geändert haben, nicht verwendet wird. Basierend auf dem, was du sagst, sollte mein Code trotzdem funktionieren, da der super-Aufruf einfach **args weitergeben würde, was benannte Argumente sammelt, und das ist stabiler, falls in Zukunft weitere Parameter hinzugefügt werden. Ergibt das Sinn? Oder übersehe ich da etwas?

1 „Gefällt mir“

Ja, du hast recht :slight_smile:

Ich habe gerade einen kleinen Test durchgeführt, und dein Ansatz scheint auch für den unmittelbaren Zweck zu funktionieren (d. h. er erhält die Funktionalität von readonly_mode). Es ist jedoch etwas konzeptionell seltsam, wenn man bedenkt, dass **args theoretisch bereits vor dem Aufruf der Superklasse festgelegt werden sollte. Persönlich (und vielleicht hätte James eine andere Meinung) bevorzuge ich weiterhin die explizitere Variante, da wir die Argumente ohnehin bereits implizit über den einfachen Aufruf von super weitergeben. Zusätzliche Implizitheit durch **args wirkt hier etwas zu komplex.

Auch wenn ich verstehe, worauf du hinauswillst, finde ich es insgesamt besser, in solchen Situationen nach einer expliziten Lösung zu suchen, um Konflikte mit dem Kerncode zu vermeiden, anstatt auf allgemeine implizite Methoden zurückzugreifen. Dieser Ansatz führt tendenziell zu weiteren Problemen im weiteren Verlauf. Wie oben erwähnt, würde ich es bevorzugen, wenn wir dies durch die Einführung eines neuen type_filter im Kerncodebase refaktorisieren könnten. Das wäre meiner Meinung nach ein gutes kleines Projekt.

Ist es möglich, die Option „Chat beim Laden der Seite automatisch öffnen

Ist es möglich, URLs in Babble so darzustellen wie in Threads?

Ein Beispiel wäre das Posten eines Twitter-Links im Babble-Chat, wobei der Tweet-Inhalt anstelle der reinen URL angezeigt wird.

Hat jemand bereits Memberful integriert und festgestellt, dass der echte Name der Benutzer unter ihrem Kontonamen im Chat angezeigt wird?

Ich würde gerne verhindern, dass ihr echter Name angezeigt wird, wenn das möglich ist.

Edit: Ich habe eine vorübergehende Lösung gefunden: Mitglieder verwenden bei der Anmeldung ihren Spitznamen als vollständigen Namen, oder ich ändere manuell ihren vollständigen Namen nach der Registrierung so, dass er mit dem Spitznamen übereinstimmt.

Nutzt das jemand Stand 17. September 2020?

Ich wollte nur kurz prüfen, ob es sich nicht um ein Nebenprojekt handelt.

3 „Gefällt mir“

@angus, du bist derzeit wahrscheinlich der am besten verfügbare Babble-Helfer. Deshalb melde ich mich bei dir mit einer Anfrage zu einem Code-Update, auch wenn ich mich freuen würde, wenn jemand anderes sich darum kümmert.

Ich habe unsere Discourse-Version gerade auf 2.6.0beta2 aktualisiert (genauer gesagt diese GitHub-Commit-Version), und der Emoji-Picker funktioniert jetzt nicht mehr.

@itsbhanusharma unterstützt uns bei der Discourse-Installation, und seine erste Vermutung ist ein Kompatibilitätsproblem mit dem Update des Emoji-Pickers im Discourse-Kern.

Problem mit dem Emoji-Picker

Umgebung:

Browser: Firefox oder Chrome (aktuellste Version)
Ansicht: Desktop, Tablet und Mobil
Möglichkeit, das Problem zu reproduzieren: 100 %

Schritte zur Reproduktion:

  • Ein Babble-Chatfenster öffnen.
  • Auf das Emoji-Picker-Symbol klicken oder die entsprechende Taste drücken.

Erwartetes Ergebnis:

Die Benutzeroberfläche des Emoji-Pickers öffnet sich.

Tatsächliches Ergebnis:

Es passiert nichts. Das Emoji-Picker-Fenster öffnet sich nicht.


Falls es die Dinge nicht komplizierter macht, könnte die Person, die das Emoji-Picker-Problem behebt, auch eine fehlende Übersetzung korrigieren.

Wenn du auf das Icon „…

2 „Gefällt mir“

Der Emoji-Auswahl in Babble funktioniert auch für meine Seite nicht mehr.

1 „Gefällt mir“

Außerdem scrollt mein Chat zufällig nach oben. Ich glaube, das war schon einmal ein Problem.

1 „Gefällt mir“

@angus oder jemand anderes, der über die technischen Fähigkeiten verfügt, um Babble zu unterstützen – besteht irgendeine Hoffnung, dass die beiden Probleme, die ich vor drei Wochen in dieser Forum-Antwort gemeldet habe, behoben werden?

Danke für die schnelle Rückmeldung, Joel.

Ich habe Unterstützung für den neuen Discourse-Emoji-Picker hinzugefügt.

Das habe ich ebenfalls behoben.

7 „Gefällt mir“

Hallo @angus, danke für deine harte Arbeit an diesem Plugin!

Mein Discourse-System funktioniert mit einer benutzerdefinierten Basis-URL für Long Polling. Da ich gerade Babble hinzugefügt habe, stelle ich fest, dass keine Access-Control-Header (CORS) hinzugefügt werden, was dazu führt, dass eine Reihe von Anfragen fehlschlägt.

Ich könnte möglicherweise eine Lösung schreiben, wenn du mich in die richtige Richtung im Code weisen könntest. :slight_smile:

Nach der Installation der neuesten Discourse-Updates und der neuesten Version von Babble (vor ein paar Tagen und erneut gestern, um zu prüfen, ob das Problem behoben ist), habe ich Probleme beim Senden von Nachrichten, und der Lese-Indikator zeigt weiterhin festgefroren an, dass neue Nachrichten vorhanden sind.

Gerade als ich keine Nachricht senden konnte, erhielt ich im Browser-Console eine Reihe dieser Fehlermeldungen:

Uncaught Error: No Reason Phrase
    jQuery 13
    error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
    jQuery 4
_ember_jquery-865569b174cc91f4563f3552f437b32c6eadf9f6c3d49eae02cfe50e5a8c7dfa.js:38573:14
    jQuery 13
    u self-hosted:1177
    error _application-49dab3118e527975ea48703627a0152cbe26663b7fde8423c667b094d716ae08.js:8967
    jQuery 4
1 „Gefällt mir“

In der Liste der Forenkonten wurden Konten mit seltsamen Benutzernamen entdeckt (die mit „f5c…

Was könnte der Grund sein (bis zu diesem Zeitpunkt gab es auf der Testseite keine Kanäle)?


babble
6db4042

Bitte beheben (babble_initial_user_count)

Pfad admin/site_settings/category/plugins?filter=plugin%3Ababble

1 „Gefällt mir“