-
released this
2026-08-18 13:10:17 +00:00 | 4 commits to main since this releaseBehebt einen Absturz, macht die Sitzung brauchbar und stellt das Aussehen um.
Behoben
/retentionzeigte einen schwarzen Bildschirm.GET /retention-policiesliefert ein Objekt{policies, predefined}— als einziger von zehn geprüften Listenendpunkten. Die Oberfläche behandelte es als Array;mapgibt es auf einem Objekt nicht, React hängte den ganzen Baum aus. Der Regressionstest füttert jetzt die echte Antwortform; ein Test mit einem Array hätte den Fehler nie gefunden, und genau das war passiert.- Jedes Neuladen führte zurück zur Anmeldung. Die Tokens lagen nur im Arbeitsspeicher.
- Ein Fehler in einer Komponente schwärzte die ganze Konsole. Jetzt sitzt eine Fehlergrenze um den Seiteninhalt: Menü und Kopfzeile bleiben stehen, der Fehlertext ist lesbar und kopierbar.
Sitzung
Sie überlebt ein Neuladen und endet nach 30 Minuten — gerechnet als frühere von zwei Grenzen:
Harte Obergrenze 30 Minuten ab Anmeldung, durch keine Interaktion verschiebbar Untätigkeitsgrenze 30 Minuten ohne Eingabe Die verbleibende Zeit läuft neben „Abmelden" und wird unter fünf Minuten auffällig.
Dass die Tokens überhaupt abgelegt werden, kehrt eine frühere Entscheidung um. Was den Rest trägt, ist nicht der Speicherort (
sessionStorage, stirbt mit dem Tab), sondern der sofortige serverseitige Widerruf: Die Tokens sind opak, kein JWT, und genau dafür wurden sie gewählt.Sechs Tests halten die Grenzen fest, zwei davon durch Mutation als fangend bestätigt: Wer beim Vermerken einer Interaktion die Obergrenze mitverschiebt, macht aus „30 Minuten" ein „unbegrenzt, solange die Maus wackelt".
Aussehen
Farben, Radien, Schatten und Schrift aus dem Preset
b5vnF8SMi: violett als Handlungsfarbe, Radius 0, schattenlos, durchgehend Geist Mono.Drei begründete Abweichungen:
- Die Statusfarben bleiben. Das Preset kennt nur
destructiveund fünf Diagrammfarben; ohne die fünf Bedeutungen ließe sich ein Teilfehler nicht von einem Erfolg unterscheiden — die eine Aussage, auf die es in dieser Konsole ankommt. - Das dunkle Thema hängt an
[data-theme='dark'], nicht an.dark..darkfunktioniert zusätzlich. - Geist Mono lädt nicht nach. Sie steht zuerst im Stapel; liegt sie nicht auf dem Gerät, greift die System-Monospace. Eine Schrift von einem fremden Host zu holen verbietet die CSP — und ein Backup-Server, der für seine Oberfläche ins Internet greift, wäre auch ohne CSP falsch.
Dazu Umlaute auf allen Seiten (vorher durchgehend ae/oe/ue/ss), 33 Erläuterungen von Absätzen auf einen Satz gekürzt und neue Module: acht Schnellzugriffe auf der Übersicht sowie sechs mitgelieferte Aufbewahrungsvorlagen als Kacheln — die lieferte der Server schon immer mit, die Oberfläche warf sie bisher weg.
Nachgewiesen
Gegen Debian 12 mit echtem PostgreSQL und nginx: alle 18 Seiten liefern 200, das ausgelieferte CSS trägt Akzent, Radius 0 und Geist Mono,
/retentionzeigt 0 eigene Regeln und 6 anklickbare Vorlagen.84 Tests grün,
tscsauber,eslintohne Warnung. CSS 28,7 KB.Aktualisieren
sudo /opt/syncova/update.shSichert zuerst Datenbank und Konfiguration, tauscht dann die Programme. Kommt der Dienst nicht hoch, holt es die vorige Fassung zurück. Repository und Verschlüsselungsschlüssel werden nie angefasst.
Unverändert offen: Windows-Dienst, systemd-Einheit des Agenten und der Proxmox-Bootmeilenstein sind gebaut, aber nie auf echter Hardware gefahren. Geist Mono wird nicht mitgeliefert; ohne die Schrift auf dem Gerät greift die System-Monospace.
Downloads