Added backups of all data, restorable on another computer (#1008)

Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
j-erlerandThorsten Sommer authored and GitHub committed 2026-10-15 16:42:02 +02:00
1 parent ab45580473
commit 936043319c
144 files changed
+10417 -424

No files matched your search

@@ -67,6 +67,12 @@ Rules which are easy to break:
data source selection that a run got through the whole data source (`IsIndexAwaitingRebuild`). Files pass
`null` to `PauseRunAsync`, so a folder stays out of the selection until its first indexing or its rebuild is
complete. The mailbox passes its hash, since every mail it indexed can be searched right away.
- **Every run passes the pause.** A backup pauses the indexing with `PauseIndexingAsync` while it copies the
stores. Runs wait for the end of a pause in `ProcessDataSourceRunAsync`, in front of the run gate, so start
every run there. A run which starts any other way writes to the stores while they are copied, and the backup
holds two stores which do not fit together. Discarding the stored index of a data source, when it is deleted
or repaired, waits for the end of a pause as well (`WaitWhilePausedAsync`); the user interface asks
`IsIndexingPaused` first and tells the user instead of waiting.
- **A pass lives only while the last step left more to do.** The service drops the pass of a data source after
every other outcome and every exception, and when the stored index is reset. A retry the user asks for, and a
step with other embedding settings, begin a new pass (`IndexingPass.ContinueOrBegin`). A pass kept beyond that