{"type":"rich","html":"<div style=\"width: 640; height: 426; font-family: sans-serif,arial,freesans;\" ><div id=\"shared_container_1643661591\" class=\"shared_container\"><div id=\"shared_header_1643661591\" class=\"shared_header\"><a href=\"https:\/\/hub.hubzilla.hu\/channel\/pepecyb\"><img src=\"https:\/\/klacker.org\/photo\/4c3a0a7c-302f-46a1-86ab-0266372be477-6\" alt=\"Der Pepe (Hubzilla) \u2042\" height=\"32\" width=\"32\" loading=\"lazy\" \/><\/a><span><a href=\"https:\/\/hub.hubzilla.hu\/channel\/pepecyb\">Der Pepe (Hubzilla) \u2042<\/a>  wrote the following  <a href=\"https:\/\/klacker.org\/display\/c93923eb-18d4-46d7-a453-de7346d7d583\">post <\/a><span class=\"autotime\" title=\"2025-05-11T15:54:57+02:00\">Sun, 11 May 2025 15:54:57 +0200<\/span><\/span><\/div><div id=\"reshared-content-1643661591\" class=\"reshared-content\"><strong>Hubzilla Filter<\/strong><br \/>Ich wei\u00df nicht genau, wie die Filter von Hubzilla funktionieren (und wie sie nicht funktionieren). Ich habe nur Theorien. Sie entstanden, als ich versuchte, eine erweiterte Filter-Whitelist zu erstellen, die noch nie in Betracht gezogen worden war, geschweige denn au\u00dferhalb sehr spezifischer und grundlegender Anwendungsf\u00e4lle unter Laborbedingungen getestet worden war.<br \/><br \/>Der Filter verwendet wahrscheinlich nicht sowohl Schl\u00fcsselwortzeilen als auch Filtersyntaxzeilen zusammen<br \/>Die Idee war, <em>Beitr\u00e4ge<\/em> nur dann durchzulassen, wenn sie mindestens eines von mehreren Schl\u00fcsselw\u00f6rtern enthalten, <em>Kommentare<\/em> und <em>private Nachrichten<\/em> jedoch immer durchzulassen.<br \/><br \/>Ich glaube, mir wurde gesagt, dass ein Filter nicht beide Schl\u00fcsselwortzeilen enthalten kann, so wie ...<br \/><br \/><pre><code>Foo<br \/>Bar<br \/>Baz<\/code><\/pre><br \/><br \/>...und Filter-Syntax-Zeilen wie folgt...<br \/><br \/><pre><code>?body ~= Qux<br \/>?body ~= Quux<br \/>?item_private == 0<br \/>?item_thread_top == 1<\/code><\/pre><br \/><br \/>Das bedeutet, dass der Filterparser nur <em>entweder die<\/em> Schl\u00fcsselwortzeilen <em>oder die<\/em> Filtersyntaxzeilen verwendet.<br \/><br \/>Nach meiner Beobachtung verwendet der Filterparser das, was zuletzt kommt. Wenn die letzte Zeile eine Schl\u00fcsselwortzeile ist, verwendet der Filterparser nur Schl\u00fcsselwortzeilen. Wenn die letzte Zeile eine Filtersyntaxzeile ist, verwendet der Filterparser nur Filtersyntaxzeilen.<br \/><br \/>Das wiederum bedeutet:<br \/><br \/><em>Entweder<\/em> verwendet der Filterparser <em>alle<\/em> Zeilen dessen, was zuletzt kommt, und ignoriert alles andere.<br \/><br \/><del>Schl\u00fcsselwort<\/del><br \/><del>Schl\u00fcsselwort<\/del><br \/>Filtersyntax<br \/>Filtersyntax<br \/><del>Schl\u00fcsselwort<\/del><br \/><del>Schl\u00fcsselwort<\/del><br \/>Filtersyntax &lt;- diese Zeile definiert, dass Filtersyntaxzeilen verwendet werden<br \/>Filtersyntax<br \/><br \/><em>Oder<\/em> wenn der Filterparser auf die andere Art von Filterzeile st\u00f6\u00dft, wechselt er nicht nur zu dieser Art von Filterzeile, sondern vergisst auch alle dar\u00fcber liegenden Zeilen.<br \/><br \/><del>Schl\u00fcsselwort<\/del><br \/><del>Schl\u00fcsselwort<\/del><br \/><del>Filter-Syntax<\/del> &lt;- Filter hat alle vorherigen Zeilen vergessen<br \/><del>Filter-Syntax<\/del><br \/><del>Schl\u00fcsselwort<\/del> &lt;- Filter hat alle vorherigen Zeilen vergessen <del>Schl\u00fcsselwort<\/del><br \/>Filter-Syntax &lt;- Filter hat alle vorherigen Zeilen vergessen<br \/>Filter-Syntax<br \/><br \/>Mit anderen Worten: Wenn Sie<br \/><br \/><code class=\"inline-code\">?verb == Announce<\/code><br \/><br \/><br \/>in Ihrer Blacklist haben, um Wiederholungen zu entfernen, aber dieselbe Blacklist endet mit einer Schl\u00fcsselwortzeile, die Anti-Wiederholungsfilter-Syntaxzeile wird nicht analysiert.<br \/><br \/>Filterzeilen sind mit ODER verbunden, mit Ausnahme von Whitelists im Filtersyntaxmodus, die mit UND verbunden sind.<br \/>Erschwerend kommt hinzu, dass Filterzeilen nicht immer mit ODER verbunden sind.<br \/><br \/>Meines Wissens nach verwendet die Blacklist ODER. Die Whitelist verwendet ODER jedoch nur, wenn Schl\u00fcsselwortzeilen analysiert werden. Wenn Filter-Syntaxzeilen in der Whitelist analysiert werden, sind sie mit UND verbunden. Dies w\u00e4re ein weiterer Grund, zumindest im Fall der Whitelist, warum Schl\u00fcsselwortzeilen und Filter-Syntaxzeilen nicht zusammen analysiert werden.<br \/><br \/>Regex funktionieren nicht in Filter-Syntaxzeilen<br \/><br \/>Das wei\u00df ich ganz sicher, weil mir das gesagt wurde: Filter-Syntaxzeilen verstehen keine regul\u00e4ren Ausdr\u00fccke.<br \/><br \/><code class=\"inline-code\">\/\\b([#]?masto[don]?)\\b\/<\/code><br \/><br \/>funktioniert.<br \/><br \/><code class=\"inline-code\">?body ~= \/\\b([#]?masto[don]?)\\b\/<\/code><br \/><br \/>funktioniert nicht.<br \/><br \/>In Ihrem Fall spielt das wahrscheinlich keine Rolle. Ich wollte es nur erw\u00e4hnen.<br \/><br \/><hr \/><br \/><br \/>Ich habe dies teilweise in Hubzillas Bug-Tracker auf Framagit <a href=\"https:\/\/framagit.org\/hubzilla\/core\/-\/issues\/1760?f=&zid=pepecyb@hub.hubzilla.hu#note_1985082\" target=\"_blank\" rel=\"nofollow noopener\">in einem Kommentar zu einem Problem von jayrope<\/a> erkl\u00e4rt.<br \/><br \/>Au\u00dferdem habe ich selbst <a href=\"https:\/\/framagit.org\/hubzilla\/core\/-\/issues\/1855?f=&zid=pepecyb@hub.hubzilla.hu\" target=\"_blank\" rel=\"nofollow noopener\">eine Funktionsanfrage<\/a> eingereicht, um w\u00e4hlen zu k\u00f6nnen, ob die Zeilen in einer bestimmten Filterliste mit ODER oder UND verbunden werden sollen. Diese Anfrage umfasst Filterlisten, die immer sowohl Schl\u00fcsselwortzeilen als auch Filtersyntaxzeilen zusammen analysieren.<br \/><br \/><hr \/><br \/>Von: jupiter_rowland@hub.netzgemeinde.eu<\/div><\/div><br \/><\/div>","width":640,"height":426}