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

@@ -419,6 +419,9 @@ public partial class DataSourceManagement : MSGComponentBase
if (dataSource.IsEnterpriseConfiguration)
return;
if (await this.RefuseWhileIndexingPaused(T("Delete Data Source")))
return;
var dialogParameters = new DialogParameters<ConfirmDialog>
{
{ x => x.Message, string.Format(T("Are you sure you want to delete the data source '{0}' of type '{1}'?"), dataSource.Name, dataSource.Type.GetDisplayName()) },
@@ -457,6 +460,21 @@ public partial class DataSourceManagement : MSGComponentBase
}
}
/// <summary>
/// Tells the user to wait while a backup copies the indexes or a restore waits for the restart:
/// deleting a data source discards its index, which waits for the end of the pause.
/// </summary>
/// <param name="title">The title of the action which waits.</param>
/// <returns>True when the action has to wait.</returns>
private async Task<bool> RefuseWhileIndexingPaused(string title)
{
if (!this.DataSourceEmbeddingService.IsIndexingPaused)
return false;
await this.DialogService.ShowMessageBox(title, T("AI Studio is backing up or restoring the indexes of your data sources right now. Please try again once that is done."), T("Close"));
return true;
}
/// <summary>
/// Edits a row of the table, which is either a data source or a mailbox.
/// </summary>
@@ -533,6 +551,9 @@ public partial class DataSourceManagement : MSGComponentBase
if (mailbox.IsEnterpriseConfiguration)
return;
if (await this.RefuseWhileIndexingPaused(T("Delete Mailbox")))
return;
var dialogParameters = new DialogParameters<ConfirmDialog>
{
{ x => x.Message, string.Format(T("Are you sure you want to delete the mailbox '{0}'? Your mails stay on the server as they are. AI Studio only deletes its index of them and the stored password."), mailbox.Name) },