Skip to content

v1.0.8

Choose a tag to compare

@github-actions github-actions released this 04 Jul 21:11

Behoben

  • Das „x" am „Nur Endorte"-Hinweis schloss nicht. Die Markup war eine
    Bootstrap-alert-dismissible-Box, aber ohne data-bs-dismiss="alert" — das
    Schließen hing allein an einem eigenen JS-Handler. Jetzt schließt Bootstrap den
    Hinweis nativ (zuverlässig, ohne JS-Abhängigkeit); das Merken (nicht erneut
    zeigen) läuft über eine robuste Event-Delegation + In-Memory-Flag, sodass es
    auch bei blockiertem localStorage (Privacy-Modus) sofort wirkt.

Hinzugefügt

  • „Letzte Zusammenführungen" mit Rückgängig direkt auf der Ortsliste. Bisher
    war der Undo-Button nur im Merge-Ergebnis-Popup erreichbar — nach dem Schließen
    war er weg, obwohl die Operation (samt Backup) rückrollbar blieb. Jetzt listet
    ein Abschnitt die letzten Merges/Umbenennungen (aus ortsregister_merge_log)
    mit Datum, Quelle → Ziel und einem „Rückgängig"-Knopf; bereits zurückgerollte
    Operationen sind markiert. Nutzt den bestehenden, jetzt getesteten Undo-Pfad;
    der Undo-Handler funktioniert dadurch aus Liste und Popup. de/en/nl.

Intern

  • Merge-Sicherheitsnetz jetzt integrationstestbar + getestet. Die
    datensatz-bezogene Kernlogik von Merge/Undo (PLAC-Ersetzung anwenden,
    Undo-Restore, Stale-Erkennung) hinter eine schmale Naht gezogen
    (RecordStore-Interface + PlaceRecordMutator); Produktion nutzt
    WebtreesRecordStore (dünner Wrapper um GedcomRecord::updateRecord),
    Verhalten unverändert. Neuer Integrationstest (PlaceRecordMutatorTest, DB-frei
    über In-Memory-Store) belegt die drei bisher ungeprüften Garantien: (1)
    Rollback — ein Schreibfehler mitten im Merge lässt in der Transaktion keinen
    Teilzustand zurück; (2) Undo stellt den Vor-Merge-Stand byte-identisch her;
    (3) Stale-Schutz meldet fremd geänderte Records → All-or-Nothing-Abbruch.

Geändert

  • Toten Code des deaktivierten Koordinaten-Imports entfernt
    (CoordinateImportPage): Die abgeschaltete Alpha-Implementierung lag als
    unerreichbarer Code hinter einem early return und zog eine ungenutzte
    Service-Abhängigkeit nach. Entfernt → PHPStan-sauber; die „deaktiviert"-
    Hinweisseite bleibt, ein Rework holt die Logik aus der Git-History.
  • Hardcodiertes customModuleLatestVersion() { return '1.0.0'; } entfernt — es
    meldete dauerhaft „latest = 1.0.0" und hätte einen Update-Hinweis ohnehin nie
    ausgelöst. webtrees' Trait-Default greift jetzt (gibt die installierte Version
    zurück → Control Panel zeigt sauber „aktuell"). Kein Verhalten für Nutzer
    geändert, nur irreführender toter Code weg.

Full Changelog: v1.0.7...v1.0.8