Beiträge von Alexander Ebert

    Hallo,

    versende die E-Mail einfach ganz normal und verfolge es nicht länger. Beim ACP wird die Background-Queue nicht sofort abgearbeitet, weshalb es in deiner Testumgebung zu keinem unmittelbaren Versand führt. Das ist aber der nicht-existenten Aktivität in der Testumgebung anzulasten und in einer produktiven Umgebung kein Problem.

    Da ein Event von n Klassen / Methoden ausgelöst werden kann, dachte ich nur, es wäre sinnvoll, im Listener die Stelle, an der das Event ausgeführt wurde, irgendwie mitzubekommen.

    Und genau deswegen ist es eben nicht im Event drin. Für dein Vorhaben ist nur relevant, ob ein Login erfolgt und in welchem Kontext, nicht aber wie dies am Ende zustande kam. Letzteres ist ein Implementierungsdetail, dass dein Plugin „nicht zu interessieren“ hat.

    Ein Beispiel dafür ist ein Single Sign-on, bei dem der Login implizit auch beim Aufruf der Themenseite erfolgen kann. In so einem Szenario wurde das Login-Formular zu keinem Zeitpunkt aufgerufen und dennoch wirst du über den erfolgreichen Login per Event benachrichtigt. Alleine im Core gibt es 7 verschiedene Stellen, an denen dieses Event erzeugt werden kann.

    Das illustriert eigentlich ganz gut die Probleme der „alten“ Event-API: Du musst als Consumer sehr genau wissen, wo überall so ein Login stattfinden kann und gleichzeitig entsteht ein gigantisches „API-Surface“, weil der Event-Listener auf alle möglichen public-Methoden und -Properties Zugriff hat, obwohl das für den Sinn und Zweck des jeweiligen Events gar nicht notwendig ist.

    Hello,

    Thanks for clarifying this, indeed this message originates from our software. Usually those kind of issues are caused by the an issue with the server configuration and the error message is only vaguely described, which mislead me in this case.

    Regarding your question, it looks like you’re using a heavily restricted account with only very little access. There are essentially only three conditions that should cause this error message and I don’t see how you would violate any of those.

    Does the change to the user actually take place and you simply cannot edit the user afterwards?

    Was soll die UserLoggedIn Klasse bezwecken statt der „normalen“ Angabe von einem eventNamen? Der Hintergrund ist, dass ich gerne auf einen Listener der LoginForm hören möchte […]

    Und genau deswegen sind diese Arten von Events super. Es gibt eben nicht nur den Login auf dem Wege der manuellen Anmeldung sondern auch bei der Anmeldung über Drittanbieter, beispielsweise Facebook. Jede dieser Wege löst am Ende dieses Event aus, um eine erfolgreiche Anmeldung zu signalisieren, unabhängig davon wie diese zustande kam.

    Ich möchte validieren, ob sich ein Benutzer erfolgreich eingeloggt hat.

    Das Auftreten des UserLoggedIn-Events signalisiert dies bereits.

    Hallo,

    das Problem ist hierbei das Fehlverhalten von Safari, denn URLs mit Umlauten sind ungültig. In Chrome und Firefox werden diese URL in Textform automatisch in kodierter Form eingefügt, sodass diese gültige URLs darstellen.

    Umlaute gibt es in URLs nicht, diese müssen kodiert werden und dies geschieht beim Aufruf im Browser transparent. In der Adresszeile steht zwar die URL in „lesbarer“ Form, aber tatsächlich lautet diese etwa so:

    Code
    https://www.woltlab.com/community/thread/300474-anfangsbuchstaben-werden-beim-n%C3%A4chsten-wort-mitgezogen/

    %C3%A4 ist die hexadezimale Form von U+00E4 und ist der UTF-8 code point von ä.

    Encode UTF-8 characters in an URI’s path · WoltLab/WCF@a29ca76
    See https://www.woltlab.com/community/thread/304901-keine-linkvorschau-bei-links-mit-umlauten/
    github.com

    Hello,

    This isn’t really an error. Your settings allow the external source to be embedded directly which instructs the browser to read the image directly from the source. However, on woltlab.com we’re blocking all external embeds through the cross-origin-resource-policy: same-site header.

    We’re planing to make some changes to this feature in 6.1 which will address this problem.

    PSPad … lol. Mit dem Teil hatte ich Anfang der 2000er mit PHP gearbeitet, weil es einen Syntax-Highlighter hatte.

    Dennis Augenstein Aus meiner persönlichen Erfahrung hinaus würde ich nicht nach der „eierlegenden Wollmilchsau“ Ausschau halten. Eine gute IDE muss in erster Linie bei der Programmierung etwas taugen und dich entsprechend dabei unterstützen, alles weitere ist nur eine Dreingabe. Sobald du ein Programm suchst, das alles „kann“, wirst du irgendwo wieder einen Kompromiss eingehen müssen.

    Ich nutze VSCode mit Intelephenese, dazu GitHub Desktop (mit VSCode als Merge-Editor) und zum gelegentlichen Hochladen von Dateien scp. Letzteres ist mit Public Key und SSH-Config durchaus sehr effizient. Falls ich in ganz seltenen Fällen mal FTP benötige, dann verwende ich FileZilla, wobei das Teil wirklich mies ist, ich gleichzeitig aber so selten FTP nutze, dass ich zu faul bin mir etwas neues zu suchen.

    Ansonsten, Neovim soll ganz nett sein … ;)

    Ist Fleet nur „hübscher“ oder bietet es auch endlich mal mehr Performance? Ich habe Anfang des Jahres PhpStorm nochmals ausprobiert und die Performance bei großen Projekten lässt zu wünschen übrig, insbesondere die Neuindizierung beim Wechsel der Branches (ich habe ein CLI-Tool, um alle Repositories gleichzeitig zu ändern) macht die IDE für 5-10 Sekunden faktisch unbrauchbar.

    Die Fuzzy Search in PhpStorm ist ein Witz, weil die Reihenfolge der Begriffe relevant ist. Bei VsCode kann ich auch einfach package calendar eingeben, und damit gezielt die package.xml von com.woltlab.calendar aufrufen. Es kommt bei mir öfters vor, dass ich mit Dateien mit dem gleichen Namen arbeite und je nach der Historie ist die gesuchte Datei bereits in der Liste oder ich muss es weiter konkretisieren.

    Besonders negativ aufgefallen ist mir auch die Suche nach Symbolen. Ich verwende keine Outline sondern die Suche nach Symbolen in einer Datei (in VSCode ist dies eine Suche mit @, habe ich per Shortcut auf Cmd+Shift+O), um schnell die gesuchte Funktion oder Methode zu finden. In PhpStorm ist das eine globale Suche mit einer entsprechend katastrophalen Geschwindigkeit.

    Wenn ich von meiner IDE etwas will, dann will ich es jetzt und nicht erst nach ein paar Gedenksekunden, ist das wirklich so ein vermessener Anspruch?

    Leider ist die Weiterentwicklung des Intelephense-Plugin für VSCode ziemlich unzuverlässig und DEVSENSE ist noch zu unvollständig. Vielleicht sollte ich doch endlich mal über meinen Schatten springen und mich mit vim motions anfreunden …