From 667592411f92745ae831fbb743ac4c1c1503e07c Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Wed, 20 Nov 2024 16:49:57 +0100 Subject: [PATCH 1/2] Update for 0.7.0 release (#389) --- README.md | 7 +++---- src/Shared/AliasVault.Shared.Core/AppInfo.cs | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4c13d5a51..5140a2eab 100644 --- a/README.md +++ b/README.md @@ -44,9 +44,8 @@ This method uses pre-built Docker images and works on minimal hardware specifica - Linux (Ubuntu or RHEL based distros recommended) - 512MB RAM - 1 vCPU -- At least 16GB disk space (more users and emails will require more space) +- At least 16GB disk space - Docker installed -- No Git required ```bash # Download install script @@ -96,7 +95,7 @@ The install script will output the URL where the app is available. By default th This will remove all containers, images, and volumes related to AliasVault while keeping configuration files intact for future reinstallation. - If something goes wrong you can run the install script in verbose mode to get more information: `./install.sh [command] --verbose` -## Security & Architecture +## Security Architecture AliasVault takes security seriously and implements various measures to protect your data: - All sensitive user data is encrypted end-to-end using industry-standard encryption algorithms. This includes the complete vault contents and all received emails. @@ -105,7 +104,7 @@ AliasVault takes security seriously and implements various measures to protect y For detailed information about our encryption implementation and security architecture, see the following documents: - [SECURITY.md](SECURITY.md) -- [Security Architecture (Diagram)](docs/security-architecture.md) +- [Security Architecture Diagram](docs/security-architecture.md) ## Tech stack / credits The following technologies, frameworks and libraries are used in this project: diff --git a/src/Shared/AliasVault.Shared.Core/AppInfo.cs b/src/Shared/AliasVault.Shared.Core/AppInfo.cs index 91a91f0fe..cab29e699 100644 --- a/src/Shared/AliasVault.Shared.Core/AppInfo.cs +++ b/src/Shared/AliasVault.Shared.Core/AppInfo.cs @@ -25,7 +25,7 @@ public static class AppInfo /// /// Gets the minor version number. /// - public const int VersionMinor = 6; + public const int VersionMinor = 7; /// /// Gets the patch version number. From e9064643a62f9a06716e737ce989fa0762166da4 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Wed, 20 Nov 2024 16:50:15 +0100 Subject: [PATCH 2/2] Add busy timeout to SQLite connections to prevent errors (#389) --- src/Databases/AliasServerDb/AliasServerDbContext.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Databases/AliasServerDb/AliasServerDbContext.cs b/src/Databases/AliasServerDb/AliasServerDbContext.cs index 6e4a7e27b..3d054f7ca 100644 --- a/src/Databases/AliasServerDb/AliasServerDbContext.cs +++ b/src/Databases/AliasServerDb/AliasServerDbContext.cs @@ -248,6 +248,19 @@ public class AliasServerDbContext : WorkerStatusDbContext, IDataProtectionKeyCon optionsBuilder .UseSqlite(configuration.GetConnectionString("AliasServerDbContext")) .UseLazyLoadingProxies(); + + // Set busy timeout using PRAGMA to avoid "The database file is locked" error. + var connection = Database.GetDbConnection(); + if (connection.State != System.Data.ConnectionState.Open) + { + connection.Open(); + } + + using (var command = connection.CreateCommand()) + { + command.CommandText = "PRAGMA busy_timeout = 5000;"; + command.ExecuteNonQuery(); + } } } }