ist es möglich das Symbol von TbSync links neben den Tagesplan zu legen?
Hab es mal nach links geschoben (1x Beta-Release-Channel Addons aktualisieren).
Mir persönlich gefällt es am rechten Rand aber besser. Hm. Mal gucken ob ich mich dran gewöhne.
ist es möglich das Symbol von TbSync links neben den Tagesplan zu legen?
Hab es mal nach links geschoben (1x Beta-Release-Channel Addons aktualisieren).
Mir persönlich gefällt es am rechten Rand aber besser. Hm. Mal gucken ob ich mich dran gewöhne.
Um an die Attachment Größe zu kommen, hab ich das hier als Vorlage genommen.: https://searchfox.org/comm-central/s…HdrView.js#1806
Bei meinen Tests hat das funktioniert, aber es gibt noch offene Fragen.
Zunächst habe ich eine weitere Methode von AEMessage definiert:
AEMessage.prototype.getAttSize = async function(_url, isExternalAttachment, isLinkAttachment = false) {
let url = _url;
let size = 0;
let options = { method: "HEAD" };
// NOTE: For internal mailbox, imap, news urls the response body must get
// the content length with getReader().read() but we don't need to do this
// here as libmime streams it already in addAttachmentField(). For imap or
// news urls with credentials (username, userPass), we must remove them
// as Request fails such urls with a MSG_URL_HAS_CREDENTIALS error.
if (url.startsWith("imap://") || url.startsWith("news://")) {
let uri = Services.io.newURI(url);
if (uri.username)
url = url.replace(uri.username + "@", "");
if (uri.userPass)
url = url.replace(uri.userPass + "@", "");
}
let request = new Request(url, options);
await fetch(request)
.then((response) => {
if (!response.ok) {
return null;
}
if (isLinkAttachment) {
if (response.status < 200 || response.status > 304) {
return null;
}
}
return response;
})
.then(async (response) => {
if (isExternalAttachment) {
size = response ? response.headers.get("content-length") : 0;
} else {
let data = await response.body.getReader().read();
size = data.value.length;
}
})
.catch((error) => {
console.warn("getAttSize: error - " + error.message);
});
return size;
};
Alles anzeigen
und hier eingefügt:
https://gitlab.com/ThunderbirdMai…_window.js#L883
Aufgerufen hab ich diese Funktion dann zwischen Zeile 897 und 898, also hier:
https://gitlab.com/ThunderbirdMai…_window.js#L898
mit dieser Zeile:
this.getAttSize(attachment.url, attachment.isExternalAttachment).then(function(size) { console.log("Size: " + size); });
Das ist jetzt erstmal nur zum Testen, ob du damit für die verschiedenen Attachment Typen an die richtige Größe kommst.
1. Die Methode die ich als Vorlage benutzt habe, kennt isLinkAttachment, dein AddOn scheint das nicht zu kennen, hab es daher per default auf false gesetzt. Sagt dir isLinkAttachment was?
2. Durch fetch() ist die neue getAttSize Methode async, daher auch der Aufruf mit .then(). Kennst du async/await und Promises? Im Prinzip gabelt sich der Programmablauf durch this.getAttSize() auf, der Aufruf wird in den Hintergrund geschoben und sofort die nächste Zeile (899) abgearbeitet. Irgendwann ist die async Funktion im Hintergrund fertig und führt dann die im then() angegebene Funktion aus. Ähnlich wie ein setTimeout, nur das der Callback nicht nach einer bestimmten Zeit ausgeführt wird, sondern wenn eine andere Funktion fertig ist.
Wenn du damit die richtigen Größen bekommst, und du sicher bist, dass du dann nur noch die Thunderbird eigenen Funktionen und z.B. nicht mehr saveAttachmentToFolder
benutzen willst, dann wäre es glaube ich gut, den ganzen Kram dann wirklich zu entfernen (neuer branch im gitlab) und in der reduzierten Version dann echte async Funktionen zu benutzen - oder alles nach dem Aufruf von getAttSize in den .then() zu stopfen, aber das wird so unleserlich...
Erstmal is wichtig, bekommst du den Zeitstempel (mein vorletzter Post) und die Größe und könntest somit den alten Kram rauswerfen?
Überall wo du Zugriff auf aewindow.currentTask hast, kannst du via aewindow.currentTask.getMessageHeader() auf die Header Daten der Email zugreifen (https://developer.mozilla.org/en-US/docs/Moz…BHdr#Attributes)
In AEMessage.prototype.saveAtt kannst du direkt als erstes, also hier
https://gitlab.com/ThunderbirdMai…_window.js#L885
mal folgendes einfügen
console.log(aewindow.currentTask.getMessageHeader().subject + " : " + aewindow.currentTask.getMessageHeader().dateInSeconds)
und bekommst für jede Mail den gesuchten Timestamp.
Hilft das?
Ich versuche mich gerade einzulesen.
Kannst du kurz erklären, was konzeptionell der Unterschied zwischen aeMessenger.saveAttachmentToFolder und aewindow.messenger.saveAttachmentToFile ist, und warum der erstere ein file Objekt zurückgibt und das originale file Objekt des Attachments überschreibt?
aeMessenger.saveAttachmentToFolder ist die Funktion, die am Ende die problematische startupUrl Funktion aufruft, richtig?
Trennen beide Funktionen auch das Attachment ab (also löschen es aus der Mail?) . Wo passiert das?
Danke und viele Grüße
John
Die Reihenfolge ist alphabetisch, und da der AccountName als prefix benutzt wird, kannst du den als grobe Sortierung benutzen:
- account deaktivieren
- account umbenennen
- account aktivieren
Eine Änderung des AccountNamens wärend das Account aktiviert ist hat keine Auswirkung auf die bereits angelegten Adressbücher. Daher einmal aus und wieder an.
Du kannst einfach den von Mozilla (ATN) nehmen, der CatMan ist nicht Teil des beta-release-channels.
EAS ist mein Provider für ExchangeActiveSync (outlook.de, office365 und andere)
Ich teste weiter.
Seit heute wird in der TB60 Version ein Banner eingeblendet, das ich empfehle, vor einem Update auf TB68 alle TbSync Konten zu synchronisieren und dann zu deaktivieren und nach dem Update auf TB68 diese wieder zu aktivieren. Das wurde vor ca 1h auf ATN freigeschaltet.
Hast du das bereits gesehen/gemacht? Wenn nicht, empfehle ich in TB68 alle Adressbücher/Kalender, die von TbSync verwaltet werden, im Thunderbird Adressbuch bzw. in Lightning zu löschen, danach alle TbSync Konten zu deaktivieren, neu zu aktivieren und dann sauber neu zu synchronisieren.
Danke fürs Testen!
Da ich das Profil übernommen habe dachte ich auch die Einstellungen von TbSync würde übernommen, das ist aber leider nicht der Fall, iIch musst alles neu einrichten.
Im Beta Release Channel ist das behoben, die Account Daten werden migriert Das ist leider noch nicht auf ATN angekommen.
Bzgl. Gender: Für vCard3 könnte man X-GENDER benutzen. Guck ich mir an.
Wie sieht es eigentlich mit der Neugestaltung des Thunderbird-Adressbuch aus?
Es gibt wohl Pläne für TB76 etwas am Adressbuch zu machen, aber das glaube ich erst, wenn ich es sehe Solange versuche ich mit TbSync auszuhelfen.
Wenn Bedarf besteht, könnte ich mein vCard Interface auch für lokale Adressbücher freischalten. Es ist dabei übrigens völlig egal, in welchem Format die Adressbuchdaten intern abgespeichert sind, solange es eine funktionierende vCard import/export Möglichkeit gibt. Derzeit benötige ich das noch nicht, weil die Daten bei TbSync ja immer auch auf einem CardDAV Server liegen und da importiert/exportiert werden können - bei einer Freischaltung für lokale Adressbücher wird die Import/Export Funktion aber natürlich unentbehrlich.
Seit ein paar Tagen gibt es Release Candidates von TB68, du könntest also mit deinen Tests weitermachen
https://ftp.mozilla.org/pub/thunderbir…8.0-candidates/
Für TbSync und seine Provider nutze aber bitte meinen Beta-Release-Channel, da ich da deutlich schneller Fehler fixen kann als über ATN. Ich habe gestern ein paar Fehler gefunden, die ich heute morgen in meinem Beta-Release-Channel gefixt habe, auf ATN hängen sie aber noch im Review:
Im Beta-Release-Channel ist auch web.de schon drin
VG
John
An deiner Mängelliste im Vergleich zu CardBook bin ich weiterhin sehr interessiert!
Korrektur: Bei meinem CalDAV/CardDAV Provider funktionieren die Lightning Buttons ganz normal. Beim Exchange Active Sync Provider ist das noch nicht der Fall.
Mich würde interessieren, was cardbook mehr macht als ich, was dir in TbSync fehlt.
Lightning buttons sind auf der todo Liste.
Testest du gerade mit TB60 oder TB68? Auch den Listen-Code habe ich für TB68 komplett überarbeitet.
Es scheint, Du läufst in alle Problemzonen, die ich für TB68 gefixt habe
Es gibt zwei Arten wie Gruppen über CardDAV gesynct werden: über Kategorien und über eine echte Gruppe, wie Bei Apple/iCloud.
Die echten Gruppen sync ich nach TB Listen, musst du aber explizit in den TbSync Optionen des Accounts aktivieren, weil es da in TB ein Problem mit Gruppenmitgliedern ohne Emailadresse gibt. Ich hoffe das in TB76 in Thunderbird gefixt zu haben.
Für die Kategorien brauchst du den Category Manager.
Super Danke!
Bau ich ein, sobald ich wieder zu Hause bin.
VG
John
Probier mal folgendes:
- alle Konten dieses Servers in TbSync löschen
- alle Passwörter Einträge löschen, die irgendwie mit dem Server zu tun haben, vermutlich 3 oder mehr
- Thunderbird neu starten, um alle caches zu leeren
- das eine Account neu in TbSync einrichten
Viel Erfolg!
Das ist ein Fehler in Thunderbird/Lightning unabhängig von TbSync.
Ich persönlich hab das in Thunderbird 68 gefixt. Es gibt aber derzeit keine offizielle Möglichkeit TB68 zu testen, du musst dich leider
noch ein paar Wochen gedulden, bis Thunderbird 68 veröffentlicht wird.
Hinweis in eigener Sache: Ich empfehle vor dem Update auf TB68 alle Konten in TbSync zu deaktivieren und zu löschen und mit TB68 sauber neu anzufangen.