Skip to content

Releases: johannes-kaindl/calendar-notes

0.1.9

Choose a tag to compare

@github-actions github-actions released this 29 Aug 18:24
  • Fix (Abgleich): Eine leere Sammlung brach den Abgleich mit „Antwort ist kein DAV:multistatus" ab. Ein Kalender ohne Termine antwortet regulär mit einem Wurzelknoten ohne Kinder, und mailbox.org schickt ihn selbstschließend (<D:multistatus … />). Der XML-Parser liefert dafür einen leeren String statt eines leeren Objekts — die Prüfung hielt das für „gar kein Multistatus" und meldete einen Protokollfehler. Betroffen war damit jeder leere Kalender und jedes frisch angelegte Adressbuch, also gerade der Zustand beim ersten Einrichten. Jetzt ist nur noch ein fehlender Wurzelknoten ein Fehler; ein leerer bedeutet schlicht „keine Einträge". Gegen mailbox.org verifiziert: sechs Sammlungen, kein Fehler.
  • Fehlermeldungen des DAV-Parsers nennen jetzt die Anfrage und den Antwortanfang. Vorher lautete die Meldung an sieben verschiedenen Aufrufstellen gleich, ohne zu sagen, welche Anfrage gescheitert war oder was der Server stattdessen geschickt hat — der Fehler war aus ihr heraus nicht eingrenzbar. Genau daran ist die Ursachensuche oben zuerst gescheitert.
  • Die Einstellungen erklären sich jetzt selbst. Jede Zeile sagt, was sie bewirkt — bis dahin standen dort Wörter aus dem DAV-Protokoll ohne Auflösung („Sammlung", „Profil", „Ordner-Override", „Trockenlauf"), und wer CalDAV nicht kennt, hatte keinen Einstiegspunkt. Konkret: „Sammlungen" heißt „Kalender & Adressbücher", und die Seite darunter trägt jetzt den Kontonamen samt Anzahl („mailbox.org — 6 gefunden") statt nur den Kontonamen — vorher sah es aus, als gäbe es genau eine Sammlung, die so heißt wie der Anbieter. „Profil aus der geöffneten Notiz erzeugen" ist eine beschriftete Zeile mit Erklärung geworden statt eines unbeschrifteten Zauberstab-Icons, dessen Bedeutung nur im Tooltip stand (auf Mobilgeräten also nirgends) — es ist der zentrale Einrichtungsschritt und war praktisch unauffindbar. Die Sprachwahl steht nicht mehr unter „Synchronisation", sondern unter „Darstellung"; sie bleibt, weil sie gebraucht wird, wenn man Obsidian in einer anderen Sprache bedient, als man das Plugin lesen will.
  • Fix: Der Hinweis an Sammlungen ohne Termine war grammatisch bezuglos („Sie wird nicht gespiegelt; es wäre nichts zu finden") und nannte den Gegenstand nicht. Neu formuliert.
  • Fix (still, aber ernst): Eine Einstellungs-Liste zählt ihre Lösch-Funktion über den Index in der Zeilenliste. Eine Erklärzeile darin hätte beim Löschen das falsche Konto getroffen. Erklärungen stehen jetzt neben der Liste statt darin, abgesichert durch einen Test, der jede Liste mit Lösch-Funktion darauf prüft.

0.1.8

Choose a tag to compare

@github-actions github-actions released this 29 Aug 11:09
  • Fix (Sammlungen): Eine Aufgaben-Sammlung sah aus wie ein Kalender und wurde still nicht gespiegelt. Server können VEVENT und VTODO in getrennten Sammlungen führen (bei mailbox.org ist das der Normalfall) — beide melden <c:calendar/> als Ressourcentyp, aber nur die eine nimmt Termine an. Welche das ist, sagt supported-calendar-component-set; das Plugin erhob die Eigenschaft zwar bei der Discovery, ließ sie danach aber fallen. Wer die Aufgaben-Sammlung aktivierte, bekam einen Lauf ohne Ergebnis und keinen Hinweis warum. Der Wert wird jetzt bis in die Einstellungen durchgereicht, eine Sammlung ohne VEVENT wird beim Sync mit unsupported-components übersprungen, und die Zeile in den Einstellungen sagt es. Sagt der Server nichts (Radicale etwa liefert die Eigenschaft nicht zwingend), ändert sich nichts — es wird nichts angenommen.

0.1.7

Choose a tag to compare

@github-actions github-actions released this 25 Aug 12:20
be36ddd
  • Fix (Discovery): 405 gegen Nextcloud — die Startadresse wurde aus der Anfrage-URL geraten statt aus der Antwort gelesen. wellKnown() war darauf gebaut, den Redirect von /.well-known/caldav selbst zu sehen. Obsidians requestUrl folgt Weiterleitungen aber selbst (und behält die Methode), also kam dort direkt ein 207 an — der 301-Zweig war toter Code, und der 207-Zweig gab die angefragte Adresse plus Schrägstrich zurück (/.well-known/caldav/). Bei Nextcloud ist das eine andere Route: sie leitet auf /index.php/.well-known/caldav/ weiter und antwortet dort mit 405. Die richtige Adresse steht längst in der Antwort — das <d:href> des Multistatus nennt die Ressource, die der Server tatsächlich beantwortet hat; genau die wird jetzt genommen. Gegen die echte Nextcloud verifiziert: 16 Sammlungen, keine Warnungen.

0.1.6

Choose a tag to compare

@github-actions github-actions released this 25 Aug 11:57
237766c
  • Fix (Auth): Die Reparatur aus 0.1.5 griff im Normalfall nicht. Sie erkannte nur Konten, deren Schlüsselbund-Eintrag die eigene ID als Wert trug — entstanden ist der Schaden aber fast immer anders: unter der plugin-eigenen ID lag der Name des Eintrags, den der Nutzer im Dialog vergeben hat. Genau das ist jetzt die Erkennungssignatur (der Wert ist selbst ein vorhandener Eintrag), und der Fall ist verlustfrei: das Konto wird auf diesen Eintrag umgehängt, das Passwort muss nicht neu ausgewählt werden. repairSelfReferencingSecrets() heißt deshalb jetzt repairSecretLinks().

0.1.5

Choose a tag to compare

@github-actions github-actions released this 25 Aug 11:54
3189793
  • Fix (Auth): Kein Konto konnte sich anmelden — jeder Server antwortete 401. Die Passwort-Zeile in den Einstellungen benutzt Obsidians SecretComponent, und die ist ein Verweis auf einen Schlüsselbund-Eintrag, kein Passwortfeld: ihr onChange liefert die ID des gewählten bzw. neu angelegten Eintrags zurück, nicht dessen Wert. Das Plugin speicherte diese ID als Passwort-Wert und meldete sich fortan mit dem Namen des Eintrags an. Das Konto merkt sich jetzt die ID (account.secretId), und den Wert verwaltet allein Obsidian. Betroffene Konten repariert repairSelfReferencingSecrets() beim Start automatisch: Sie gelten wieder als unverknüpft, der unbrauchbare Eintrag wird geleert — das echte Passwort bleibt unter der selbst vergebenen ID erhalten und muss nur neu ausgewählt werden.
  • Fix: Das X an der Passwort-Zeile (Verknüpfung lösen) rief den Rückruf mit null auf und lief in einen Fehler statt die Verknüpfung zu lösen.
  • Beim Löschen eines Kontos wird der Schlüsselbund-Eintrag nicht mehr überschrieben — im Verweis-Modell gehört er dem Nutzer und darf von einem zweiten Konto genutzt werden.

0.1.4

Choose a tag to compare

@github-actions github-actions released this 25 Aug 11:27
2c4382b
  • Fix: Ein per Zwischenablage kopiertes DAV-Passwort mit abschließendem Zeilenumbruch (z. B. pbcopy < datei) landete unverändert im Schlüsselbund und führte trotz korrekten Passworts zu 401 beim Sync. stripCrLf() entfernt führende/abschließende \r/\n jetzt beim Speichern in beiden SecretStore-Implementierungen, ohne sonstige Whitespaces im Passwort anzutasten.

0.1.3

Choose a tag to compare

@github-actions github-actions released this 23 Aug 11:12
ffcd9d3
  • fast-xml-parser 4.5.7 → 5.11.0: der Store-Gate-Scan meldet jede Version <5.7.0 (GHSA-gh4j-gqv2-49f6, betrifft nur den nicht genutzten XMLBuilder) als Warning — Bereichs-, nicht Codepfad-Urteil. Parser-Nutzung unverändert, alle Tests grün.

0.1.2

Choose a tag to compare

@github-actions github-actions released this 23 Aug 10:30
5119664
  • Plugin-Name Calendar & Contact NotesCalendar and Contact Notes: das Developer Dashboard lehnt & ab (Manifest-Regel: keine Satzzeichen außer Bindestrich, Plus und Klammern — docs.obsidian.md/Reference/Manifest#name); eslint-plugin-obsidianmd prüft das nicht, der Fund kam erst bei der Store-Registrierung.

0.1.1

Choose a tag to compare

@github-actions github-actions released this 23 Aug 07:01
8984577
  • CI-Gate: tsconfig.test.json zieht scripts/ nicht mehr mit — die Treiber importieren die zentrale CDP-Brücke aus dem Dach, die im GitHub-Checkout fehlt; typecheck:scripts (mit Existenz-Guard) deckt sie weiterhin ab. 0.1.0 scheiterte genau daran in der Release-Action (kein GitHub-Release, nie im Store) — 0.1.1 ist der erste veröffentlichte Stand.