Repository navigation
v0.14.2 — Multi-Instanz: export-enabled Sync zuerst
Multi-Instanz Sync-Reihenfolge — export-enabled zuerst
Vorher: bookstack_sync.run_now und preview haben die konfigurierten BookStack-Instanzen in der Reihenfolge ihrer Config-Entry-Erstellung abgearbeitet. Wenn eine der Instanzen den Markdown-Export aktiviert hat, lief sie potentiell mittendrin durch — der Post-Sync-Export griff auf einen Stand, in dem andere Instanzen noch mid-sync waren. Resultat: das exportierte Markdown-Verzeichnis konnte einen inkonsistenten Snapshot enthalten (frische Daten der einen, veraltete der anderen). Für den nachgelagerten RAG-Indexer ist das Crawl-Müll.
Jetzt: services._coordinators sortiert die Entries vor jedem Service-Aufruf via stable-sort by not export_enabled. Die einzelne export-enabled Instanz (Single-Writer-Constraint aus v0.13.1 garantiert maximal eine) landet an Position 0; alle anderen behalten ihre Erstellungsreihenfolge.
Auswirkung in der Praxis:
- Wer nur eine Instanz hat: keine Änderung
- Wer zwei oder mehr Instanzen hat und Export aktiv: die export-enabled Instanz wird IMMER zuerst gesynct, der nachfolgende Markdown-Export läuft auf einem konsistenten Stand
- Greift bei
bookstack_sync.run_nowundpreview.export_markdownfiltert ohnehin nur export-enabled Entries und ist unverändert.
Tests in tests/test_services.py:
test_coordinators_export_enabled_first: drei Entries A(off), B(on), C(off) → Output B, A, Ctest_coordinators_no_export_enabled_keeps_natural_order: ohne Flag bleibt Reihenfolge natürlich
176 Tests grün lokal in WSL Ubuntu Python 3.14 in 19 s.