• v1.0.0-rc7 053e9ae817

    V1 Release Candidate 7 — Preset, Sitzung, Blackscreen behoben
    Some checks failed
    CI / Backend (Go) (push) Failing after 30s
    CI / Frontend (React/TypeScript) (push) Successful in 43s
    CI / Sicherheitsprüfungen (push) Successful in 26s
    Pre-Release

    jf released this 2026-08-18 13:10:17 +00:00 | 4 commits to main since this release

    Behebt einen Absturz, macht die Sitzung brauchbar und stellt das Aussehen um.

    Behoben

    • /retention zeigte einen schwarzen Bildschirm. GET /retention-policies liefert ein Objekt {policies, predefined} — als einziger von zehn geprüften Listenendpunkten. Die Oberfläche behandelte es als Array; map gibt 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 destructive und 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. .dark funktioniert 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, /retention zeigt 0 eigene Regeln und 6 anklickbare Vorlagen.

    84 Tests grün, tsc sauber, eslint ohne Warnung. CSS 28,7 KB.

    Aktualisieren

    sudo /opt/syncova/update.sh
    

    Sichert 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