Zeig doch bitte mal einen Screenshot, auf dem man die Datei-/Ordnernamen und deren Größe sehen kann.
Beiträge von Thunder
-
-
Der lädt den Kram nicht. Wenn ich in Deine onLoad function ein console.log("xyz"); einfüge, dann kann ich davon in der Fehlerkonsole nichts sehen.
-
Mhhh, dat will noch nicht.
Ich habe daraus jetzt mal ein GitLab-Projekt gemacht:
master-Branch ist für den 78er:
https://gitlab.com/ThunderbirdMailDE/quote-colors
Im Branch Thunderbird_68 kann man die alten Overlays noch sehen, die so im 68er auch korrekt funktionieren.
-
Ich schaue es mir gleich mal an.
Blöd gefragt: muss ich window. dann quer durch die 3 JS Dateien hinzufügen, in denen diese Variablen / Objekte drin sind?
-
Ich habe QuoteColors für Thunderbird 68 komplett korrekt zum Laufen gebracht - jedenfalls fallen mir erstmal keine Fehler mehr auf. Im Gegensatz zu "meinem Vorgänger" auf ATN funktionieren jetzt auch die Optionen wieder korrekt. Ich werde mich bei beiden Autoren (altes "QuoteColor" und "New QuoteColor" melden, um das wieder unter einen Hut zu bekommen.
Für Thunderbird 78 habe ich mir nun ein Herz gefasst und habe Deine Wrapper API eingebaut. Die Optionen funktionieren schon komplett. Ich scheitere aber noch am JS Injection, um die alten Overlays nun zum Laufen zu bekommen. Die drei alten Overlays enthalten quasi Keinen XUL-Code, sondern jeweils nur eingebundene weitere JS Dateien und jeweils einen CDATA-Block mit in bisschen Iinline JavaScript.
Hier ein Beispiel eines alten Overlays:
XML
Alles anzeigen<?xml version="1.0"?> <!-- // Quote Colors extension, overlay for messenger.xul --> <!DOCTYPE overlay SYSTEM "chrome://quotecolors/locale/qc_options.dtd"> <overlay id="quotecolors" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript" src="chrome://quotecolors/content/qc_globals.js"/> <script type="application/x-javascript" src="chrome://quotecolors/content/qc_overlay.js"/> <script type="application/x-javascript" src="chrome://quotecolors/content/quotecolors.js"/> <script type="application/x-javascript"> <![CDATA[ // observe mail pane config changes QCMailPaneConfigObserver.register(); // observe QC pref changes to reload message QCPrefUpdateObserver.register(); window.addEventListener("load", QCObj.initMain, false); window.addEventListener("unload", QCunloadMessenger, false); ]]> </script> </overlay>Daraus habe ich folgende neue JS-Datei gemacht:
JavaScript: qc_messengeroverlay.js
Alles anzeigen// Import any needed modules. var { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm"); // Load an additional JavaScript file. Services.scriptloader.loadSubScript("chrome://quotecolors/content/qc_globals.js", window, "UTF-8"); Services.scriptloader.loadSubScript("chrome://quotecolors/content/qc_overlay.js", window, "UTF-8"); Services.scriptloader.loadSubScript("chrome://quotecolors/content/quotecolors.js", window, "UTF-8"); function onLoad(activatedWhileWindowOpen) { // observe mail pane config changes QCMailPaneConfigObserver.register(); // observe QC pref changes to reload message QCPrefUpdateObserver.register(); window.addEventListener("load", QCObj.initMain, false); window.addEventListener("unload", QCunloadMessenger, false); } function onUnload(deactivatedWhileWindowOpen) { }Meine background.js sieht so aus:
JavaScript: background.js
Alles anzeigenmessenger.WindowListener.registerDefaultPrefs("defaults/preferences/quotecolors.js"); messenger.WindowListener.registerChromeUrl([ ["content", "quotecolors", "chrome/content/"], ["locale", "quotecolors", "en-US", "chrome/locale/en-US/"], ["locale", "quotecolors", "de-DE", "chrome/locale/de-DE/"], ["locale", "quotecolors", "es-ES", "chrome/locale/es-ES/"], ["locale", "quotecolors", "fr-FR", "chrome/locale/fr-FR/"], ["locale", "quotecolors", "it-IT", "chrome/locale/it-IT/"], ["locale", "quotecolors", "ja-JP", "chrome/locale/ja-JP/"], ["locale", "quotecolors", "pl-PL", "chrome/locale/pl-PL/"], ["locale", "quotecolors", "cs-CZ", "chrome/locale/cs-CZ/"], ["locale", "quotecolors", "hu-HU", "chrome/locale/hu-HU/"], ["locale", "quotecolors", "ru-RU", "chrome/locale/ru-RU/"], ["locale", "quotecolors", "da-DK", "chrome/locale/da-DK/"] ]); messenger.WindowListener.registerOptionsPage("chrome://quotecolors/content/options/qc_options.xhtml"); messenger.WindowListener.registerWindow( "chrome://messenger/content/messenger.xul", "chrome://quotecolors/content/qc_messengeroverlay.js"); messenger.WindowListener.registerWindow( "chrome://messenger/content/messageWindow.xul", "chrome://quotecolors/content/qc_msgwindowoverlay.js"); messenger.WindowListener.registerWindow( "chrome://messenger/content/msgPrintEngine.xul", "chrome://quotecolors/content/qc_printpreviewoverlay.js"); // messenger.WindowListener.registerShutdownScript("chrome://quotecolors/content/shutdown.js") messenger.WindowListener.startListening();Das erneuerte Overlay (wie auch immer ich das jetzt bezeichnen soll, wenn es jetzt diese neue JS-Datei ist) bleibt letztlich wirkungslos. Fehlermeldungen in der Konsole gibt es keine.
-
Starte Thunderbird bitte ein paar mal im abgesicherten Modus und setze dabei auch mal die Symbolleisten zurück (was letztlich noch mehr "repariert").
-
Die Frage ist übrigens auch, ob der Punkt im Betreff der Mails technisch überhaupt unser Punkt ist, oder ob es womöglich ein anderes Zeichen ist, was man optisch gar nicht erkennt bzw. nicht unterscheiden kann. Dann würde der Filter nämlich auf jeden Fall versagen.
-
Wenn ich an dieser Stelle nicht durcheinander bin, dann ist Option 2 letztlich genau das, was ich oben geschrieben habe: Schaltet um auf OAuth2. Dafür ist es nicht notwendig die Konten zu löschen / neu anzulegen. Man muss dann nur kurz das OAuth-Login durchlaufen und gut ist es.
Im Übrigen wird Option 2 ja sogar als sichere Methode angepriesen:
Zitatkönnen Sie diese in wenigen Schritten mit unserer sicheren Anmeldemethode synchronisieren
-
Es ist wie so oft: Vieles könnte besser, anders oder umfangreicher sein. Nur muss es jemand wollen und können. Es gibt einfach zu wenige Leute, die daran arbeiten, um alles umzusetzen - auch wenn manches noch so banal erscheinen mag.
-
Wo erden die Ordner erstellt? Was ist in den Ordnern drin? kannst Du bestimmte Aktionen zuordnen, bei denen dies passiert?
-
-
Mit "unten" meinst Du nicht nur am Ende der Mail, sondern wirklich "ganz unten" - auch wenn darüber dann jede Menge leerer Platz wäre? Nein, das geht nicht und wird bestimmt so auch nie umgesetzt werden.
-
Das Adressbuch verlangt eine vollständige primäre Adresse, ich kann die nicht weglassen und nur "Weitere Adressen" eintragen.
Ich kann das aber schon?!
-
Würden denn die Trainingsdaten des Junk-Filters kontenübergreifend arbeiten, weiß das jemand? Oder müsste man da auch jedes Konto einzeln trainieren?
Das Training gilt für das komplette Profil in Thunderbird.
-
Auch das funzt nicht
Geht das etwas genauer? An welcher Stelle geht es denn nicht? Beim Ausführen der Filter?
-
Hast Du meinen Tipp von oben versucht, bevor Du nun alles direkt in die Filter-Regeln einbaust?
Ach schau mal an:
Probiere Dein Glück mal, indem Du alle E-Mail-Adressen nicht als "primäre Adresse" eingibst, sondern als "weitere Adresse". Da kann ich einfach sowas wie "@example.com" eingeben. Musst halt kontrollieren, ob ein Filter damit dann tatsächlich funktioniert.
-
Das Adressbuch hat außerdem den Vorteil, dass man dieses für die Filter von mehreren Konten immer wieder verwenden kann. Mir ist nämlich gerade bewusst nochmal aufgefallen, dass die "riesige" Liste von blockierten E-Mail-Domains direkt im Filter dann ja immer nur für ein Konto zur Verfügung steht. Dann müsste man das alles immer wieder für alle Konten parallel pflegen, was eigentlich ein No-Go ist.
-
Ach schau mal an:
Probiere Dein Glück mal, indem Du alle E-Mail-Adressen nicht als "primäre Adresse" eingibst, sondern als "weitere Adresse". Da kann ich einfach sowas wie "@example.com" eingeben. Musst halt kontrollieren, ob ein Filter damit dann tatsächlich funktioniert.
-
Ich denke, dass ich Dein Problem verstehe. Du hättest gerne die Platzhalter E-Mail-Adressen in der Art *@example.com in Deinem Adressbuch, welches Du als "Blockierliste" zusammen mit den Filtern verwenden möchtest. Ich fürchte, dass Thunderbird tatsächlich solche Platzhalter E-Mail-Adressen für die einzelnen Kontakte nicht akzeptiert. Ich hätte zwar Ideen, wie man solche "abgehackten" Adressen in die Kontakte / Adressbücher rein bekommt, bin aber unsicher, was dann bei der Verwendung mittels Deines Blockier-Filters passieren würde. Womöglich zickt Thunderbird dann noch rum.
Spontan bleibt Dir also nur die Möglichkeit, dass Du die gekürzten E-Mail-Adressen bzw. deren Domains alle direkt in die Filter-Regel einbauen würdest und jeweils eine Filter-Zeile in der Art: E-Mail-Adresse → endet mit / enthält → example.com
Blöde ist dann aber, dass man diese aufwändigen Filterregeln etwas schlechter als Backup sichern kann, falls mal etwas schief geht. Wobei man die Datei mit den Filter-Regeln natürlich schon sichern kann. Ich finde es dennoch "undurchsichtiger".
-
Das Passwort scheint irgendwo in Thunderbird gespeichert zu sein.
Wenn ich nicht irre, werden die OpenPGP-Passwörter durch Thunderbirds Master-Passwort geschützt. Dieses muss man halt nur einmal pro Sitzung eingeben. Hast Du in Thunderbird ein Master-Passwort eingerichtet? Wenn nicht, dann mache dies bitte mal probeweise, und prüfe was dann bezüglich OpenPGP passiert, wenn Du das Master-Passwort bei einer Sitzung nicht eingibst. Letztlich wird das Verhalten vergleichbar zu S/MIME, wo die Zertifikate auch "nur" durch das Master-Passwort geschützt sind.