From 8aad53959c18f909d5c88b1804cb9362a3d06830 Mon Sep 17 00:00:00 2001 From: CIS Guru Date: Thu, 26 Feb 2026 12:17:03 -0600 Subject: [PATCH 1/4] docs: Add cross-references between README, Database Management Guide, and Compatibility Matrix - Link Quick Start Guide from README First Run section - Add Database Management Guide link in README System Requirements - Link Compatibility Matrix from Database Management Guide schema version sections - Link Compatibility Matrix from auto-migration and version upgrade sections - Improve documentation navigation and version compatibility awareness --- Documentation/Database-Management-Guide.md | 22 +++++++++++++++------- README.md | 8 ++++++++ 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/Documentation/Database-Management-Guide.md b/Documentation/Database-Management-Guide.md index 2c1432b..f41a6a9 100644 --- a/Documentation/Database-Management-Guide.md +++ b/Documentation/Database-Management-Guide.md @@ -114,10 +114,15 @@ When you upgrade Aquiis SimpleStart to a new version: **No manual intervention required** - migrations are automatic and seamless! +**Version Upgrade Compatibility:** +Not all version upgrades are supported automatically. Check the **[Compatibility Matrix](Compatibility-Matrix.md)** before upgrading to see if your current version can auto-migrate to the target version, or if manual steps are required. + #### Migration to v1.1.0 When upgrading from v1.0.0 to v1.1.0, the following schema changes are automatically applied: +> **Note:** For complete version compatibility information and upgrade paths, see the **[Compatibility Matrix](Compatibility-Matrix.md)**. + **New Tables:** - **DatabaseSettings** - Tracks encryption state and configuration @@ -150,6 +155,9 @@ When upgrading from v1.0.0 to v1.1.0, the following schema changes are automatic **Important:** v1.1.0 application **requires** v1.1.0 database schema - the DatabaseSettings table is queried on startup. Running v1.1.0 app with v1.0.0 database will result in an error. +**Version Compatibility:** +See the **[Compatibility Matrix](Compatibility-Matrix.md)** for detailed information about which app versions work with which database versions, and whether automatic migration is available. + --- ## πŸ” Backup Procedures @@ -972,13 +980,13 @@ The compiled model lives in `1-Aquiis.Infrastructure/Data/CompiledModels/` and i **When to regenerate the compiled model:** -| Change | Re-run optimize? | -|---|---| -| Add / remove entity or property | βœ… Yes | -| Add / modify relationship or index | βœ… Yes | -| Rename entity or property | βœ… Yes | -| Data-only migration (seed data, no schema change) | ❌ No | -| Bug fix with no model changes | ❌ No | +| Change | Re-run optimize? | +| ------------------------------------------------- | ---------------- | +| Add / remove entity or property | βœ… Yes | +| Add / modify relationship or index | βœ… Yes | +| Rename entity or property | βœ… Yes | +| Data-only migration (seed data, no schema change) | ❌ No | +| Bug fix with no model changes | ❌ No | > **Note:** If the compiled model is stale, EF Core throws an `InvalidOperationException` at startup β€” the app will not silently use wrong metadata. diff --git a/README.md b/README.md index 8b8e602..b418c7b 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,8 @@ Get-FileHash "Aquiis-1.1.0-x64-Setup.exe" -Algorithm SHA256 3. Register your **first user account** 4. Start managing properties! +**New to Aquiis?** Follow our **[Quick Start Guide](Documentation/Quick-Start-Guide.md)** for a 15-minute tutorial. + ### 15-Minute Tutorial Follow our [Quick Start Guide](Documentation/Quick-Start-Guide.md) to: @@ -186,6 +188,12 @@ Aquiis is available as a portable Windows executable (.exe). No installation req - All dependencies bundled (no installation required) - Optional: SendGrid (email) and Twilio (SMS) for notifications +### Data & Backups + +- SQLite database stored locally in application data folder +- Regular backups recommended (manual or scheduled) +- See **[Database Management Guide](Documentation/Database-Management-Guide.md)** for backup/restore procedures + --- ## πŸ“š Documentation From 40392213ed0818ca320c51436cdb4ce7040786fc Mon Sep 17 00:00:00 2001 From: CIS Guru Date: Thu, 26 Feb 2026 12:50:03 -0600 Subject: [PATCH 2/4] fix: Prevent brand theme flicker when clicking same NavLink repeatedly Two issues resolved: 1. NavMenu.razor: Guard OnLocationChanged to only run when URL actually changes - Prevents unnecessary theme re-application on same-link clicks - Eliminates redundant StateHasChanged calls 2. theme.js: Optimize MutationObserver to only watch theme attributes - Changed from observing entire document.body with childList+subtree - Now only observes documentElement with attributeFilter - Prevents observer from firing on every Blazor NavLink re-render - Eliminates unnecessary reflow operations that caused visual flicker The combination of these fixes ensures clicking the same NavLink multiple times no longer causes the brand theme to temporarily switch to Bootstrap. --- 3-Aquiis.UI.Shared/wwwroot/js/theme.js | 6 +++--- 4-Aquiis.SimpleStart/Shared/Layout/NavMenu.razor | 10 ++++++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/3-Aquiis.UI.Shared/wwwroot/js/theme.js b/3-Aquiis.UI.Shared/wwwroot/js/theme.js index c82e64c..b496cc4 100644 --- a/3-Aquiis.UI.Shared/wwwroot/js/theme.js +++ b/3-Aquiis.UI.Shared/wwwroot/js/theme.js @@ -115,9 +115,9 @@ if (typeof localStorage !== "undefined") { // Start observing after a short delay to let Blazor initialize setTimeout(() => { - observer.observe(document.body, { - childList: true, - subtree: true, + observer.observe(document.documentElement, { + attributes: true, + attributeFilter: ["data-bs-theme", "data-brand-theme"], }); }, 1000); diff --git a/4-Aquiis.SimpleStart/Shared/Layout/NavMenu.razor b/4-Aquiis.SimpleStart/Shared/Layout/NavMenu.razor index 1978dba..b8cf783 100644 --- a/4-Aquiis.SimpleStart/Shared/Layout/NavMenu.razor +++ b/4-Aquiis.SimpleStart/Shared/Layout/NavMenu.razor @@ -19,7 +19,7 @@ -