Beiträge von Max

    Hi,


    wenn ich ehrlich bin, wüsste ich momentan nicht einmal, wie dieses Feature in das UI integriert werden könnte.

    Ein Tab-Menü wie in Tims Chat 3 werde ich nicht noch einmal zusammenhacken (das war wirklich nicht schön, vor allem vom Code her).

    Die Sidebar bietet sich da auch nur bedingt an. Würde dann ein neuer „Raum“ in der Raumliste auftauchen und eventuell aktiv markiert werden? Würde stattdessen der Benutzer in der Nutzerliste als aktiver Raum markiert werden, aber was passiert, wenn der Benutzer offline geht?

    Im mobilen Nutzer-Interface kommt man aktuell noch gar nicht an die Infos in der Sidebar.


    Wenn man dieses Feature unterstützen möchte, dann muss man konsequenterweise auch beliebig viele Räume im selben Browser-Tab nutzen können.

    Wir hatten uns damals aber dazu entschieden, das die Tab-Verwaltung des Browsers machen zu lassen:

    Möchte man mehrere Räume gleichzeitig nutzen, öffnet man einfach einen weiteren Browser-Tab mit dem entsprechenden Raum.

    Im Chrome trifft auch Folgendes zu:

    As mentioned in #14, tabs with active connections (websockets, webrtc) will not be throttled. Soundless sound will not grant exception, only audible sound (user will see a traditional "tab is playing audio" icon).

    Da kann man die Probleme also mit Push/nodePush umgehen.


    Wenn Push nicht konfiguriert ist, müssen wir wohl checken, ob der Tab aktiv ist und wenn nicht, dann den Repeating Timer langsamer stellen und hoffen, dass dann genug Anfragen verschickt werden, sodass die Session am Leben erhalten wird :/

    Vermutlich müssen wir dann auch noch das Rendern von Nachrichten pausieren, solange der inaktiv ist, um CPU-Zeit zu sparen.


    Und was man im Safari machen kann: Keine Ahnung. Dazu habe ich nur eine Entwickler-Option gefunden, um das Verhalten im Safari global zu deaktivieren.


    Ist doch alles doof :(

    Notizen an selbst:

    Die Stelle im min.js: https://github.com/WoltLab/WCF…i/Dropdown/Simple.js#L134

    var containerId = DomUtil.identify(dropdown);


    Damit kommen wir (vermutlich, der TypeError würde passen) zu https://github.com/WoltLab/WCF…uite/Core/Dom/Util.js#L86

    JavaScript
    if (!(el instanceof Element)) {
        throw new TypeError("Expected a valid DOM element as argument.");
    }

    Das Element kommt aber von hier und ist damit ein „Element“:

    https://github.com/WoltLab/WCF…/Dropdown/Reusable.js#L47

    JavaScript
    var ghostElement = elCreate('div');
    ghostElement.id = 'reusableDropdownGhost' + _ghostElementId++;
                
    UiSimpleDropdown.initFragment(ghostElement, menu);


    Daraus folgt: Debugging im Browser durchführen.

    Gefällt mir was ich da sehe :thumbup:

    Ich mag das neue Design! <3

    Das freut mich :)


    Darf ich fragen in wiefern das Plugin Nutzungbestimmungen mit dem Chat zusammenhängt?
    Ich dachte immer das seien doch zwei eigenständige Plug-Ins von dir gewesen oder wie ist das nun zu verstehen? Musst du erst das Plugin Nutzungsbestimmungen noch anpassen um den Chat weiter vorantreiben zu können?

    Es ist korrekt, dass dies zwei eigentständige Plugins sind, die eigentlich nichts miteinander zu tun haben.
    Das Nutzungsbestimmungen-Plugin aber hindert uns aktuell noch daran die Bastelstube zu aktualisieren.
    Vorher können wir hier leider keine Demo des Chats zur Verfügung stellen.


    In den letzten Tagen haben wir noch ganz gut was geschafft, auf der TODO-Liste dürften momentan primär kleinere Dinge sowie ein etwas größeres Modul stehen.

    Hi,


    nodePush 2 ist noch unveröffentlicht, liegt als nur als Source-Code vor.
    Wie du für nodePush 1 die Umgebugsvariable setzen kannst, liegt an dem von dir verwendeten System.
    Da du vermutlich eine BASH nutzt, kannst du nodePush über DEBUG='*' npm start starten.

    Hi,


    wenn ich das jetzt noch richtig im Kopf habe, dann wurde auf der Statusseite in nodePush 1 die Statistik angezeigt, wenn der Debug-Modus aktiviert wurde (die Umgebugsvariable DEBUG müsste auf * oder nodePush gesetzt werden), in nodePush 2 kann man diese über die Option „enableStats“ aktivieren.

    Hi,

    emerg Failed when initializing inbound socket { Error: listen EADDRINUSE /var/www/vhosts/ktownmods.de/httpdocs/forum/wcf/acp/be.bastelstu.wcf.nodePush/tmp/inbound.sock

    das bedeutet, dass der Unix-Domain-Socket bereits existiert. Wenn du sicher bist, dass keine Instanz von nodePush läuft, solltest du diese Datei einfach löschen können.
    Weiterhin empfehle ich, dass nodePush direkt unter einem Benutzer ungleich „root“ gestartet wird, nodePush 1 versucht noch sich als „nobody“ zu starten, aber mit späteren Versionen wurde dieses Verhalten entfernt und ein Starten als root verweigert.

    Hi, sorry, dass es aktuell ein wenig länger gedauert hat.


    Diese templateListener.xml Datei wird doch nur bei der Installation verwendet, oder?

    Korrekt, die Template Listener werden bei der Installation im System registriert.


    Wäre es nicht der sauberere Weg (ich frag nur, ich bin absoluter Anfänger) ein Plugin für den Chat zu schreiben? Also erst den Chat installieren und dann das Plugin mit den Extra Buttons mit der Abhängigkeit vom Chat. Könnte ich zwar jetzt nicht direkt umsetzen, aber so von der Idee her. Vielleicht hat da jemand auch schon was gemacht und könnte seine Erfahrungen teilen.

    Jap, das wäre der Weg.
    Das Paket besteht dann quasi aus package.xml, eventListener.xml und templates.tar.
    Falls du noch weitere Hilfe benötigst, helfen wir gerne weiter :)


    Alternativ sollten sich diese Dinge auch über folgendes Plugin relativ einfach realisieren lassen: https://pluginstore.woltlab.co…eigene-template-listener/

    Hi,


    momentan bekommt man die Liste der Befehle, wenn man / in das Eingabefeld eingibt und die Tab-Taste drückt.
    Mit jedem Druck wird zum nächsten Befehl gesprungen.
    Eine richtige Hilfe ist für spätere Versionen geplant.

    Hallo,


    die Fehlermeldung ist nicht vollständig.
    Anhand des Fehlercodes vermute ich1, dass du entweder npm install nicht ausgeführt hast oder der Unterordner node_modules im nodePush-Verzeichnis für den Nutzer, welcher npm start ausführt, nicht lesbar ist.


    1) Hatte eben über die Suche nach „Exit status 8“ gesucht und zwei Themen gefunden, bei denen der Fehlercode in diesem Zusammenhang auftrat, zum Beispiel: Socket.io

    Hi,


    das ist ein Problem einer Abhängigkeit, die wir zu ungenau spezifiziert hatten, in Verbindung mit deiner alten NodeJS-Version (du hast offensichtlich noch 0.10 :) ), da eine zu neue Version der Abhängigkeit geladen wurde. Leider weiß ich nicht, welche die aktuellste Version wäre, die mit dieser node-Version funktioniert, da müsste ich die Versionshistorie dieser Abhängigkeit abarbeiten :(
    Aber wenn ich mich korrekt erinnere, gab es dann wiederum eine Abhängigkeit, die mit aktuellen node-Versionen nicht mehr funktionierte (dazu sollte hier schon etwas im Forum stehen, inklusive Anleitung, um die Abhängigkeit zu entfernen, da diese nur dazu diente, um auf einen normalen Systembenutzer zu wechseln, falls der Prozess als root gestartet wurde. Aktuelle Versionen verweigern den Start dann aus Sicherheitsgründen einfach.
    Tim und ich werden diese Woche versuchen, nodePush 2.0 und Tims Chat 3.1 zu veröffentlichen. nodePush 2.0 läuft dann mit aktuellen node-Versionen.